From b88c78e3cf2bef22aa2f1c4d0bf305e303bc15f0 Mon Sep 17 00:00:00 2001 From: Koren Lev Date: Thu, 27 Jul 2017 16:42:15 +0300 Subject: adding calipso ui Change-Id: Ifa6f63daebb07f45580f747341960e898fdb00c4 Signed-off-by: Koren Lev --- ui/Dockerfile | 2 + ui/app.styl | 34 + ui/build-deploy | 22 + ui/build.sh | 20 + ui/client/accounts-config.js | 11 + ui/client/css/accordionNavMenu.styl | 259 +++++ ui/client/css/components.styl | 187 ++++ ui/client/css/d3graph.styl | 47 + ui/client/css/flex.styl | 23 + ui/client/css/header.styl | 118 ++ ui/client/css/landing.css | 122 +++ ui/client/css/loading.styl | 19 + ui/client/css/modals.styl | 10 + ui/client/css/plugins.styl | 4 + ui/client/css/wizard.css | 28 + ui/client/lib/jquery.multilevelpushmenu.css | 120 ++ ui/client/lib/jquery.multilevelpushmenu.js | 1148 ++++++++++++++++++++ ui/client/main.html | 18 + ui/client/main.js | 10 + ui/client/main.styl | 85 ++ ui/client/style/d3plusgraph.css | 14 + ui/client/style/landingpage.css | 138 +++ ui/client/style/multilevelorig.css | 43 + ui/client/style/threeTest.css | 65 ++ ui/client/style/threeTest2.css | 41 + ui/client/templates/envdialog.html | 131 +++ ui/client/templates/header.html | 13 + ui/client/templates/mainPage.html | 207 ++++ ui/contributors.md | 6 + ui/doc/tasks/refactor-tree-node-to-component.md | 13 + ui/imports/api/accounts/methods.js | 196 ++++ ui/imports/api/accounts/server/publications.js | 29 + .../attributes_for_hover_on_data.js | 12 + .../api/attributes_for_hover_on_data/methods.js | 8 + .../server/publications.js | 25 + .../api/clique-constraints/clique-constraints.js | 48 + ui/imports/api/clique-constraints/methods.js | 99 ++ .../api/clique-constraints/server/publications.js | 30 + ui/imports/api/clique-types/clique-types.js | 107 ++ ui/imports/api/clique-types/methods.js | 108 ++ ui/imports/api/clique-types/server/publications.js | 34 + ui/imports/api/cliques/cliques.js | 12 + ui/imports/api/cliques/methods.js | 8 + ui/imports/api/cliques/server/publications.js | 33 + ui/imports/api/constants/constants.js | 22 + ui/imports/api/constants/data/distributions.js | 64 ++ ui/imports/api/constants/data/env-types.js | 15 + .../constants/data/environment-monitoring-types.js | 12 + .../constants/data/environment-provision-types.js | 21 + ui/imports/api/constants/data/log-levels.js | 27 + ui/imports/api/constants/data/mechanism-drivers.js | 24 + .../api/constants/data/message-source-systems.js | 15 + ui/imports/api/constants/data/network-plugins.js | 15 + .../api/constants/data/object-types-for-links.js | 39 + ui/imports/api/constants/data/scans-statuses.js | 30 + ui/imports/api/constants/data/type-drivers.js | 24 + ui/imports/api/constants/server/publications.js | 16 + .../configuration-groups/aci-configuration.js | 29 + .../configuration-groups/amqp-configuration.js | 29 + .../configuration-groups/cli-configuration.js | 69 ++ .../monitoring-configuration.js | 119 ++ .../configuration-groups/mysql-configuration.js | 33 + .../nfv-provider-configuration.js | 25 + .../open-stack-configuration.js | 30 + ui/imports/api/environments/environments.js | 457 ++++++++ ui/imports/api/environments/methods.js | 154 +++ ui/imports/api/environments/server/publications.js | 102 ++ ui/imports/api/inventories/inventories.js | 11 + ui/imports/api/inventories/server/methods.js | 151 +++ ui/imports/api/inventories/server/publications.js | 250 +++++ ui/imports/api/link-types/link-types.js | 86 ++ ui/imports/api/link-types/methods.js | 114 ++ ui/imports/api/link-types/server/publications.js | 46 + ui/imports/api/links/links.js | 11 + ui/imports/api/links/methods.js | 8 + ui/imports/api/links/server/publications.js | 32 + ui/imports/api/messages/messages.js | 125 +++ ui/imports/api/messages/methods.js | 8 + ui/imports/api/messages/server/methods.js | 49 + ui/imports/api/messages/server/publications.js | 98 ++ ui/imports/api/migrations/migrations.js | 20 + ui/imports/api/scans/methods.js | 55 + ui/imports/api/scans/scans.js | 159 +++ ui/imports/api/scans/server/methods.js | 44 + ui/imports/api/scans/server/publications.js | 82 ++ ui/imports/api/scheduled-scans/methods.js | 131 +++ ui/imports/api/scheduled-scans/scheduled-scans.js | 91 ++ ui/imports/api/scheduled-scans/server/methods.js | 27 + .../api/scheduled-scans/server/publications.js | 60 + ui/imports/api/simple-schema.init.js | 13 + ui/imports/api/statistics/helpers.js | 64 ++ ui/imports/api/statistics/methods.js | 159 +++ ui/imports/api/statistics/server/publications.js | 52 + ui/imports/api/statistics/statistics.js | 14 + ui/imports/api/supported_environments/methods.js | 8 + .../supported_environments/server/publications.js | 17 + .../supported_environments.js | 49 + ui/imports/index.styl | 1 + ui/imports/lib/d3-graph.js | 573 ++++++++++ ui/imports/lib/d3three.js | 789 ++++++++++++++ ui/imports/lib/general-regex.js | 15 + ui/imports/lib/icon.js | 14 + ui/imports/lib/images-for-node-type.js | 22 + ui/imports/lib/regex-utils.js | 11 + ui/imports/lib/simple-schema-utils.js | 15 + ui/imports/lib/utilities.js | 54 + ui/imports/startup/both/config.js | 9 + ui/imports/startup/both/configs/accounts.js | 9 + ui/imports/startup/both/index.js | 10 + ui/imports/startup/client/index.js | 38 + ui/imports/startup/client/template-helpers.js | 32 + ui/imports/startup/server/config.js | 9 + ui/imports/startup/server/configs/accounts.js | 16 + ui/imports/startup/server/index.js | 13 + ui/imports/startup/server/register-api.js | 56 + ui/imports/startup/server/seeds.js | 10 + ui/imports/startup/server/seeds/constants.js | 68 ++ ui/imports/startup/server/seeds/users.js | 51 + ui/imports/ui/actions/environment-panel.actions.js | 225 ++++ .../ui/actions/graph-tooltip-window.actions.js | 30 + ui/imports/ui/actions/main-app.actions.js | 21 + ui/imports/ui/actions/navigation.js | 84 ++ ui/imports/ui/actions/search-interested-parties.js | 93 ++ ui/imports/ui/actions/tree-node.actions.js | 144 +++ ui/imports/ui/actions/vedge-info-window.actions.js | 41 + .../accordion-nav-menu/accordion-nav-menu.html | 43 + .../accordion-nav-menu/accordion-nav-menu.js | 155 +++ .../accordion-nav-menu/accordion-nav-menu.styl | 11 + .../accordion-wiki-menu/accordion-wiki-menu.html | 42 + .../accordion-wiki-menu/accordion-wiki-menu.js | 147 +++ .../accordionTreeNode/accordion-tree-node.styl | 5 + .../accordionTreeNode/accordionTreeNode.html | 54 + .../accordionTreeNode/accordionTreeNode.js | 284 +++++ .../accordionTreeNodeChildren.html | 19 + .../accordionTreeNodeChildren.js | 125 +++ .../aggregate-dashboard/aggregate-dashboard.html | 35 + .../aggregate-dashboard/aggregate-dashboard.js | 212 ++++ .../aggregate-dashboard/aggregate-dashboard.styl | 10 + .../ui/components/alarm-icons/alarm-icons.html | 78 ++ .../ui/components/alarm-icons/alarm-icons.js | 53 + .../ui/components/alarm-icons/alarm-icons.styl | 1 + .../auto-search-result-line.html | 16 + .../auto-search-result-line.js | 51 + .../auto-search-result-line.styl | 23 + .../ui/components/breadcrumb/breadcrumb.html | 17 + ui/imports/ui/components/breadcrumb/breadcrumb.js | 83 ++ .../ui/components/breadcrumb/breadcrumb.styl | 3 + .../components/breadcrumbNode/breadcrumbNode.html | 15 + .../ui/components/breadcrumbNode/breadcrumbNode.js | 43 + .../components/breadcrumbNode/breadcrumbNode.styl | 4 + .../clique-constraint/clique-constraint.html | 96 ++ .../clique-constraint/clique-constraint.js | 329 ++++++ .../clique-constraint/clique-constraint.styl | 35 + .../clique-constraints-list.html | 52 + .../clique-constraints-list.js | 77 ++ .../clique-constraints-list.styl | 22 + .../ui/components/clique-type/clique-type.html | 100 ++ .../ui/components/clique-type/clique-type.js | 371 +++++++ .../ui/components/clique-type/clique-type.styl | 54 + .../clique-types-list/clique-types-list.html | 56 + .../clique-types-list/clique-types-list.js | 82 ++ .../clique-types-list/clique-types-list.styl | 22 + ui/imports/ui/components/d3graph/d3graph.html | 13 + ui/imports/ui/components/d3graph/d3graph.js | 126 +++ ui/imports/ui/components/d3graph/d3graph.styl | 12 + ui/imports/ui/components/dashboard/dashboard.html | 157 +++ ui/imports/ui/components/dashboard/dashboard.js | 222 ++++ ui/imports/ui/components/dashboard/dashboard.styl | 0 .../ui/components/data-cubic/data-cubic.html | 23 + ui/imports/ui/components/data-cubic/data-cubic.js | 71 ++ .../ui/components/data-cubic/data-cubic.styl | 27 + .../detailed-node-info-box.html | 53 + .../detailed-node-info-box.js | 57 + .../detailed-node-info-box.styl | 33 + .../ui/components/env-aci-info/env-aci-info.html | 88 ++ .../ui/components/env-aci-info/env-aci-info.js | 61 ++ .../env-amqp-credentials-info.html | 108 ++ .../env-amqp-credentials-info.js | 52 + .../env-delete-modal/env-delete-modal.html | 48 + .../env-delete-modal/env-delete-modal.js | 55 + .../env-delete-modal/env-delete-modal.styl | 2 + ui/imports/ui/components/env-form/env-form.html | 37 + ui/imports/ui/components/env-form/env-form.js | 94 ++ ui/imports/ui/components/env-form/env-form.styl | 0 .../ui/components/env-main-info/env-main-info.html | 193 ++++ .../ui/components/env-main-info/env-main-info.js | 123 +++ .../env-master-host-credentials-info.html | 109 ++ .../env-master-host-credentials-info.js | 52 + .../env-monitoring-info/env-monitoring-info.html | 283 +++++ .../env-monitoring-info/env-monitoring-info.js | 76 ++ .../ui/components/env-nfv-info/env-nfv-info.html | 128 +++ .../ui/components/env-nfv-info/env-nfv-info.js | 63 ++ .../env-open-stack-db-credentials-info.html | 109 ++ .../env-open-stack-db-credentials-info.js | 52 + .../env-os-api-endpoint-info.html | 125 +++ .../env-os-api-endpoint-info.js | 52 + .../environment-dashboard.html | 59 + .../environment-dashboard/environment-dashboard.js | 380 +++++++ .../environment-dashboard.styl | 12 + .../environment-wizard/environment-wizard.html | 83 ++ .../environment-wizard/environment-wizard.js | 452 ++++++++ .../environment-wizard/environment-wizard.styl | 27 + .../ui/components/environment/environment.html | 63 ++ .../ui/components/environment/environment.js | 570 ++++++++++ .../ui/components/environment/environment.styl | 61 ++ .../ui/components/flow-graph/flow-graph.html | 17 + ui/imports/ui/components/flow-graph/flow-graph.js | 383 +++++++ .../ui/components/flow-graph/flow-graph.styl | 18 + .../general-folder-node-dashboard.html | 24 + .../general-folder-node-dashboard.js | 112 ++ .../general-folder-node-dashboard.styl | 12 + .../general-node-dashboard.html | 17 + .../general-node-dashboard.js | 84 ++ .../general-node-dashboard.styl | 6 + .../general-node-info-box.html | 37 + .../general-node-info-box/general-node-info-box.js | 63 ++ .../general-node-info-box.styl | 33 + .../ui/components/get-started/get-started.html | 412 +++++++ .../ui/components/get-started/get-started.js | 32 + .../graph-tooltip-window/graph-tooltip-window.html | 17 + .../graph-tooltip-window/graph-tooltip-window.js | 57 + .../graph-tooltip-window/graph-tooltip-window.styl | 25 + .../components/host-dashboard/host-dashboard.html | 29 + .../ui/components/host-dashboard/host-dashboard.js | 197 ++++ .../components/host-dashboard/host-dashboard.styl | 6 + ui/imports/ui/components/icon/icon.html | 18 + ui/imports/ui/components/icon/icon.js | 48 + ui/imports/ui/components/icon/icon.styl | 2 + ui/imports/ui/components/index.styl | 57 + .../ui/components/input-model/input-model.html | 21 + .../ui/components/input-model/input-model.js | 116 ++ .../inventory-properties-display.html | 13 + .../inventory-properties-display.js | 90 ++ .../inventory-properties-display.styl | 2 + ui/imports/ui/components/landing/landing.html | 201 ++++ ui/imports/ui/components/landing/landing.js | 35 + ui/imports/ui/components/landing/landing.styl | 80 ++ ui/imports/ui/components/link-type/link-type.html | 88 ++ ui/imports/ui/components/link-type/link-type.js | 328 ++++++ ui/imports/ui/components/link-type/link-type.styl | 34 + .../link-types-list/link-types-list.html | 56 + .../components/link-types-list/link-types-list.js | 87 ++ .../link-types-list/link-types-list.styl | 23 + .../ui/components/list-info-box/list-info-box.html | 60 + .../ui/components/list-info-box/list-info-box.js | 111 ++ .../ui/components/list-info-box/list-info-box.styl | 4 + ui/imports/ui/components/loading/loading.html | 12 + ui/imports/ui/components/loading/loading.js | 30 + ui/imports/ui/components/loading/loading.styl | 0 ui/imports/ui/components/main/main.html | 15 + ui/imports/ui/components/main/main.js | 98 ++ ui/imports/ui/components/main/main.styl | 0 ui/imports/ui/components/message/message.html | 168 +++ ui/imports/ui/components/message/message.js | 257 +++++ ui/imports/ui/components/message/message.styl | 41 + .../messages-info-box/messages-info-box.html | 27 + .../messages-info-box/messages-info-box.js | 66 ++ .../messages-info-box/messages-info-box.styl | 2 + .../ui/components/messages-list/messages-list.html | 103 ++ .../ui/components/messages-list/messages-list.js | 291 +++++ .../ui/components/messages-list/messages-list.styl | 37 + .../components/messages-modal/messages-modal.html | 78 ++ .../ui/components/messages-modal/messages-modal.js | 285 +++++ .../components/messages-modal/messages-modal.styl | 18 + ui/imports/ui/components/mt-input/mt-input.html | 7 + ui/imports/ui/components/mt-input/mt-input.js | 114 ++ ui/imports/ui/components/mt-input/mt-input.styl | 2 + ui/imports/ui/components/mt-radios/mt-radios.html | 22 + ui/imports/ui/components/mt-radios/mt-radios.js | 70 ++ ui/imports/ui/components/mt-radios/mt-radios.styl | 2 + ui/imports/ui/components/mt-select/mt-select.html | 13 + ui/imports/ui/components/mt-select/mt-select.js | 99 ++ ui/imports/ui/components/mt-select/mt-select.styl | 2 + .../network-graph-manager.html | 5 + .../network-graph-manager/network-graph-manager.js | 282 +++++ .../network-graph-manager.styl | 2 + .../ui/components/network-graph/network-graph.html | 7 + .../ui/components/network-graph/network-graph.js | 697 ++++++++++++ .../ui/components/network-graph/network-graph.styl | 20 + .../network-info-box/network-info-box.html | 38 + .../network-info-box/network-info-box.js | 69 ++ .../network-info-box/network-info-box.styl | 2 + .../ui/components/new-scanning/new-scanning.html | 53 + .../ui/components/new-scanning/new-scanning.js | 73 ++ .../ui/components/new-scanning/new-scanning.styl | 7 + ui/imports/ui/components/pager/pager.html | 42 + ui/imports/ui/components/pager/pager.js | 123 +++ ui/imports/ui/components/pager/pager.styl | 4 + .../project-dashboard/project-dashboard.html | 38 + .../project-dashboard/project-dashboard.js | 149 +++ .../project-dashboard/project-dashboard.styl | 14 + .../region-dashboard/region-dashboard.html | 38 + .../region-dashboard/region-dashboard.js | 220 ++++ .../region-dashboard/region-dashboard.styl | 14 + .../scanning-request/scanning-request.html | 74 ++ .../scanning-request/scanning-request.js | 371 +++++++ .../scanning-request/scanning-request.styl | 7 + .../ui/components/scans-list/scans-list.html | 88 ++ ui/imports/ui/components/scans-list/scans-list.js | 224 ++++ .../ui/components/scans-list/scans-list.styl | 33 + .../components/scheduled-scan/scheduled-scan.html | 116 ++ .../ui/components/scheduled-scan/scheduled-scan.js | 511 +++++++++ .../components/scheduled-scan/scheduled-scan.styl | 34 + .../scheduled-scans-list/scheduled-scans-list.html | 66 ++ .../scheduled-scans-list/scheduled-scans-list.js | 160 +++ .../scheduled-scans-list/scheduled-scans-list.styl | 33 + .../search-auto-complete-list.html | 22 + .../search-auto-complete-list.js | 167 +++ .../search-auto-complete.styl | 28 + .../ui/components/select-model/select-model.html | 23 + .../ui/components/select-model/select-model.js | 79 ++ .../selectable-ordered-input.html | 29 + .../selectable-ordered-input.js | 243 +++++ .../selectable-ordered-input.styl | 30 + .../time-selection-widget.html | 33 + .../time-selection-widget/time-selection-widget.js | 45 + .../time-selection-widget.styl | 5 + .../top-navbar-menu/top-navbar-menu.html | 59 + .../components/top-navbar-menu/top-navbar-menu.js | 129 +++ .../top-navbar-menu/top-navbar-menu.styl | 23 + ui/imports/ui/components/tree-node/tree-node.html | 58 + ui/imports/ui/components/tree-node/tree-node.js | 419 +++++++ ui/imports/ui/components/tree-node/tree-node.styl | 53 + ui/imports/ui/components/user-list/user-list.html | 53 + ui/imports/ui/components/user-list/user-list.js | 74 ++ ui/imports/ui/components/user-list/user-list.styl | 22 + ui/imports/ui/components/user/user.html | 111 ++ ui/imports/ui/components/user/user.js | 366 +++++++ ui/imports/ui/components/user/user.styl | 34 + .../vedge-info-window/vedge-info-window.html | 114 ++ .../vedge-info-window/vedge-info-window.js | 380 +++++++ .../vedge-info-window/vedge-info-window.styl | 43 + .../components/zone-dashboard/zone-dashboard.html | 35 + .../ui/components/zone-dashboard/zone-dashboard.js | 214 ++++ .../components/zone-dashboard/zone-dashboard.styl | 10 + ui/imports/ui/index.styl | 1 + .../ui/lib/environment-tree-node-behavior.js | 46 + ui/imports/ui/lib/input-model.js | 31 + ui/imports/ui/lib/inventory-tree-node-behavior.js | 66 ++ ui/imports/ui/lib/select-model.js | 31 + .../ui/reducers/environment-panel.reducer.js | 194 ++++ .../ui/reducers/graph-tooltip-window.reducer.js | 48 + ui/imports/ui/reducers/i18n.reducer.js | 180 +++ ui/imports/ui/reducers/index.js | 33 + ui/imports/ui/reducers/main-app.reducer.js | 28 + ui/imports/ui/reducers/navigation.js | 99 ++ .../ui/reducers/search-interested-parties.js | 76 ++ ui/imports/ui/reducers/tree-node.reducer.js | 232 ++++ .../ui/reducers/vedge-info-window.reducer.js | 50 + ui/imports/ui/store/index.js | 11 + ui/imports/ui/store/store.js | 25 + ui/lib/router.js | 363 +++++++ ui/osdna.js | 9 + ui/package-source.sh | 23 + ui/package.json | 26 + ui/public/cisco-favicon.ico | Bin 0 -> 38692 bytes ui/public/cisco-logo-load.png | Bin 0 -> 4214 bytes ui/public/dna-718905_600.png | Bin 0 -> 17620 bytes ui/public/get-started/dashboard-notifications.png | Bin 0 -> 10832 bytes ui/public/get-started/env-dashboard.png | Bin 0 -> 46839 bytes ui/public/get-started/env-delete-action.png | Bin 0 -> 81457 bytes .../get-started/env-diting-os-db-credentails.png | Bin 0 -> 65797 bytes ui/public/get-started/env-edit-action.png | Bin 0 -> 81503 bytes .../get-started/env-editing-amqp-credentials.png | Bin 0 -> 64211 bytes .../env-editing-master-host-credentials.png | Bin 0 -> 71760 bytes ui/public/get-started/env-editing-monitoring.png | Bin 0 -> 117008 bytes ui/public/get-started/env-editing-os-end-point.png | Bin 0 -> 45236 bytes ui/public/get-started/env-editing-provision.png | Bin 0 -> 9517 bytes ui/public/get-started/env-editing.png | Bin 0 -> 75945 bytes ui/public/get-started/environments-pick.png | Bin 0 -> 92013 bytes ui/public/get-started/main-screen-explained.png | Bin 0 -> 195772 bytes ui/public/get-started/navbar-explained.png | Bin 0 -> 181291 bytes ui/public/get-started/new-environment-action.png | Bin 0 -> 72093 bytes ui/public/get-started/scan-action.png | Bin 0 -> 81481 bytes ui/public/get-started/scan-request-screen.png | Bin 0 -> 25126 bytes ui/public/get-started/selecting-dashboard.png | Bin 0 -> 91003 bytes ui/public/get-started/selecting-env.png | Bin 0 -> 7762 bytes ui/public/get-started/setting-action.png | Bin 0 -> 34477 bytes ui/public/get-started/setting-scans-action.png | Bin 0 -> 125195 bytes ui/public/ic_cloud_queue_black_48dp_2x.png | Bin 0 -> 9845 bytes ui/public/ic_computer_black_48dp_2x.png | Bin 0 -> 5171 bytes ui/public/ic_dns_black_48dp_2x.png | Bin 0 -> 8044 bytes ui/public/ic_gamepad_black_48dp_2x.png | Bin 0 -> 5647 bytes ui/public/ic_keyboard_return_black_48dp_2x.png | Bin 0 -> 5438 bytes ui/public/ic_lens_black_48dp_2x.png | Bin 0 -> 8523 bytes .../ic_settings_input_composite_black_48dp_2x.png | Bin 0 -> 5389 bytes ui/public/ic_settings_input_hdmi_black_48dp_2x.png | Bin 0 -> 5881 bytes ui/public/ic_storage_black_48dp_2x.png | Bin 0 -> 4804 bytes ui/public/images/calipso-logo.jpg | Bin 0 -> 2895 bytes ui/public/instance.png | Bin 0 -> 1191 bytes ui/public/landing/calipso-logo.png | Bin 0 -> 22270 bytes ui/public/landing/docker.png | Bin 0 -> 11495 bytes ui/public/landing/eye.png | Bin 0 -> 33084 bytes ui/public/landing/first.png | Bin 0 -> 47856 bytes ui/public/landing/graph.png | Bin 0 -> 69443 bytes ui/public/landing/main-screen.png | Bin 0 -> 48337 bytes ui/public/landing/openstack.png | Bin 0 -> 8286 bytes ui/public/logo-cisco-png.png | Bin 0 -> 23417 bytes ui/public/logo-cisco.svg | 37 + ui/public/logo_microscope_3.png | Bin 0 -> 17774 bytes ui/public/network.png | Bin 0 -> 2506 bytes ui/public/particle.png | Bin 0 -> 2924 bytes ui/public/pnic.jpg | Bin 0 -> 37828 bytes ui/public/vconnector.png | Bin 0 -> 3464 bytes ui/public/vnic.png | Bin 0 -> 4520 bytes ui/public/vservice.png | Bin 0 -> 4431 bytes ui/public/wiki/addNewEnv.png | Bin 0 -> 105144 bytes ui/public/wiki/addNewEnv1.png | Bin 0 -> 160919 bytes ui/public/wiki/wizard1.png | Bin 0 -> 46714 bytes ui/public/wiki/wizard2.png | Bin 0 -> 53414 bytes ui/public/wiki/wizard3.png | Bin 0 -> 62210 bytes ui/public/wiki/wizard4.png | Bin 0 -> 54438 bytes ui/readme.md | 43 + ui/run | 2 + ui/run-dev.sh | 10 + ui/server/main.js | 10 + 416 files changed, 29904 insertions(+) create mode 100644 ui/Dockerfile create mode 100644 ui/app.styl create mode 100755 ui/build-deploy create mode 100755 ui/build.sh create mode 100644 ui/client/accounts-config.js create mode 100644 ui/client/css/accordionNavMenu.styl create mode 100644 ui/client/css/components.styl create mode 100644 ui/client/css/d3graph.styl create mode 100644 ui/client/css/flex.styl create mode 100644 ui/client/css/header.styl create mode 100644 ui/client/css/landing.css create mode 100644 ui/client/css/loading.styl create mode 100644 ui/client/css/modals.styl create mode 100644 ui/client/css/plugins.styl create mode 100644 ui/client/css/wizard.css create mode 100644 ui/client/lib/jquery.multilevelpushmenu.css create mode 100644 ui/client/lib/jquery.multilevelpushmenu.js create mode 100644 ui/client/main.html create mode 100644 ui/client/main.js create mode 100644 ui/client/main.styl create mode 100644 ui/client/style/d3plusgraph.css create mode 100644 ui/client/style/landingpage.css create mode 100644 ui/client/style/multilevelorig.css create mode 100644 ui/client/style/threeTest.css create mode 100644 ui/client/style/threeTest2.css create mode 100644 ui/client/templates/envdialog.html create mode 100644 ui/client/templates/header.html create mode 100644 ui/client/templates/mainPage.html create mode 100644 ui/contributors.md create mode 100644 ui/doc/tasks/refactor-tree-node-to-component.md create mode 100644 ui/imports/api/accounts/methods.js create mode 100644 ui/imports/api/accounts/server/publications.js create mode 100644 ui/imports/api/attributes_for_hover_on_data/attributes_for_hover_on_data.js create mode 100644 ui/imports/api/attributes_for_hover_on_data/methods.js create mode 100644 ui/imports/api/attributes_for_hover_on_data/server/publications.js create mode 100644 ui/imports/api/clique-constraints/clique-constraints.js create mode 100644 ui/imports/api/clique-constraints/methods.js create mode 100644 ui/imports/api/clique-constraints/server/publications.js create mode 100644 ui/imports/api/clique-types/clique-types.js create mode 100644 ui/imports/api/clique-types/methods.js create mode 100644 ui/imports/api/clique-types/server/publications.js create mode 100644 ui/imports/api/cliques/cliques.js create mode 100644 ui/imports/api/cliques/methods.js create mode 100644 ui/imports/api/cliques/server/publications.js create mode 100644 ui/imports/api/constants/constants.js create mode 100644 ui/imports/api/constants/data/distributions.js create mode 100644 ui/imports/api/constants/data/env-types.js create mode 100644 ui/imports/api/constants/data/environment-monitoring-types.js create mode 100644 ui/imports/api/constants/data/environment-provision-types.js create mode 100644 ui/imports/api/constants/data/log-levels.js create mode 100644 ui/imports/api/constants/data/mechanism-drivers.js create mode 100644 ui/imports/api/constants/data/message-source-systems.js create mode 100644 ui/imports/api/constants/data/network-plugins.js create mode 100644 ui/imports/api/constants/data/object-types-for-links.js create mode 100644 ui/imports/api/constants/data/scans-statuses.js create mode 100644 ui/imports/api/constants/data/type-drivers.js create mode 100644 ui/imports/api/constants/server/publications.js create mode 100644 ui/imports/api/environments/configuration-groups/aci-configuration.js create mode 100644 ui/imports/api/environments/configuration-groups/amqp-configuration.js create mode 100644 ui/imports/api/environments/configuration-groups/cli-configuration.js create mode 100644 ui/imports/api/environments/configuration-groups/monitoring-configuration.js create mode 100644 ui/imports/api/environments/configuration-groups/mysql-configuration.js create mode 100644 ui/imports/api/environments/configuration-groups/nfv-provider-configuration.js create mode 100644 ui/imports/api/environments/configuration-groups/open-stack-configuration.js create mode 100644 ui/imports/api/environments/environments.js create mode 100644 ui/imports/api/environments/methods.js create mode 100644 ui/imports/api/environments/server/publications.js create mode 100644 ui/imports/api/inventories/inventories.js create mode 100644 ui/imports/api/inventories/server/methods.js create mode 100644 ui/imports/api/inventories/server/publications.js create mode 100644 ui/imports/api/link-types/link-types.js create mode 100644 ui/imports/api/link-types/methods.js create mode 100644 ui/imports/api/link-types/server/publications.js create mode 100644 ui/imports/api/links/links.js create mode 100644 ui/imports/api/links/methods.js create mode 100644 ui/imports/api/links/server/publications.js create mode 100644 ui/imports/api/messages/messages.js create mode 100644 ui/imports/api/messages/methods.js create mode 100644 ui/imports/api/messages/server/methods.js create mode 100644 ui/imports/api/messages/server/publications.js create mode 100644 ui/imports/api/migrations/migrations.js create mode 100644 ui/imports/api/scans/methods.js create mode 100644 ui/imports/api/scans/scans.js create mode 100644 ui/imports/api/scans/server/methods.js create mode 100644 ui/imports/api/scans/server/publications.js create mode 100644 ui/imports/api/scheduled-scans/methods.js create mode 100644 ui/imports/api/scheduled-scans/scheduled-scans.js create mode 100644 ui/imports/api/scheduled-scans/server/methods.js create mode 100644 ui/imports/api/scheduled-scans/server/publications.js create mode 100644 ui/imports/api/simple-schema.init.js create mode 100644 ui/imports/api/statistics/helpers.js create mode 100644 ui/imports/api/statistics/methods.js create mode 100644 ui/imports/api/statistics/server/publications.js create mode 100644 ui/imports/api/statistics/statistics.js create mode 100644 ui/imports/api/supported_environments/methods.js create mode 100644 ui/imports/api/supported_environments/server/publications.js create mode 100644 ui/imports/api/supported_environments/supported_environments.js create mode 100644 ui/imports/index.styl create mode 100644 ui/imports/lib/d3-graph.js create mode 100644 ui/imports/lib/d3three.js create mode 100644 ui/imports/lib/general-regex.js create mode 100644 ui/imports/lib/icon.js create mode 100644 ui/imports/lib/images-for-node-type.js create mode 100644 ui/imports/lib/regex-utils.js create mode 100644 ui/imports/lib/simple-schema-utils.js create mode 100644 ui/imports/lib/utilities.js create mode 100644 ui/imports/startup/both/config.js create mode 100644 ui/imports/startup/both/configs/accounts.js create mode 100644 ui/imports/startup/both/index.js create mode 100644 ui/imports/startup/client/index.js create mode 100644 ui/imports/startup/client/template-helpers.js create mode 100644 ui/imports/startup/server/config.js create mode 100644 ui/imports/startup/server/configs/accounts.js create mode 100644 ui/imports/startup/server/index.js create mode 100644 ui/imports/startup/server/register-api.js create mode 100644 ui/imports/startup/server/seeds.js create mode 100644 ui/imports/startup/server/seeds/constants.js create mode 100644 ui/imports/startup/server/seeds/users.js create mode 100644 ui/imports/ui/actions/environment-panel.actions.js create mode 100644 ui/imports/ui/actions/graph-tooltip-window.actions.js create mode 100644 ui/imports/ui/actions/main-app.actions.js create mode 100644 ui/imports/ui/actions/navigation.js create mode 100644 ui/imports/ui/actions/search-interested-parties.js create mode 100644 ui/imports/ui/actions/tree-node.actions.js create mode 100644 ui/imports/ui/actions/vedge-info-window.actions.js create mode 100644 ui/imports/ui/components/accordion-nav-menu/accordion-nav-menu.html create mode 100644 ui/imports/ui/components/accordion-nav-menu/accordion-nav-menu.js create mode 100644 ui/imports/ui/components/accordion-nav-menu/accordion-nav-menu.styl create mode 100644 ui/imports/ui/components/accordion-wiki-menu/accordion-wiki-menu.html create mode 100644 ui/imports/ui/components/accordion-wiki-menu/accordion-wiki-menu.js create mode 100644 ui/imports/ui/components/accordionTreeNode/accordion-tree-node.styl create mode 100644 ui/imports/ui/components/accordionTreeNode/accordionTreeNode.html create mode 100644 ui/imports/ui/components/accordionTreeNode/accordionTreeNode.js create mode 100644 ui/imports/ui/components/accordionTreeNodeChildren/accordionTreeNodeChildren.html create mode 100644 ui/imports/ui/components/accordionTreeNodeChildren/accordionTreeNodeChildren.js create mode 100644 ui/imports/ui/components/aggregate-dashboard/aggregate-dashboard.html create mode 100644 ui/imports/ui/components/aggregate-dashboard/aggregate-dashboard.js create mode 100644 ui/imports/ui/components/aggregate-dashboard/aggregate-dashboard.styl create mode 100644 ui/imports/ui/components/alarm-icons/alarm-icons.html create mode 100644 ui/imports/ui/components/alarm-icons/alarm-icons.js create mode 100644 ui/imports/ui/components/alarm-icons/alarm-icons.styl create mode 100644 ui/imports/ui/components/auto-search-result-line/auto-search-result-line.html create mode 100644 ui/imports/ui/components/auto-search-result-line/auto-search-result-line.js create mode 100644 ui/imports/ui/components/auto-search-result-line/auto-search-result-line.styl create mode 100644 ui/imports/ui/components/breadcrumb/breadcrumb.html create mode 100644 ui/imports/ui/components/breadcrumb/breadcrumb.js create mode 100644 ui/imports/ui/components/breadcrumb/breadcrumb.styl create mode 100644 ui/imports/ui/components/breadcrumbNode/breadcrumbNode.html create mode 100644 ui/imports/ui/components/breadcrumbNode/breadcrumbNode.js create mode 100644 ui/imports/ui/components/breadcrumbNode/breadcrumbNode.styl create mode 100644 ui/imports/ui/components/clique-constraint/clique-constraint.html create mode 100644 ui/imports/ui/components/clique-constraint/clique-constraint.js create mode 100644 ui/imports/ui/components/clique-constraint/clique-constraint.styl create mode 100644 ui/imports/ui/components/clique-constraints-list/clique-constraints-list.html create mode 100644 ui/imports/ui/components/clique-constraints-list/clique-constraints-list.js create mode 100644 ui/imports/ui/components/clique-constraints-list/clique-constraints-list.styl create mode 100644 ui/imports/ui/components/clique-type/clique-type.html create mode 100644 ui/imports/ui/components/clique-type/clique-type.js create mode 100644 ui/imports/ui/components/clique-type/clique-type.styl create mode 100644 ui/imports/ui/components/clique-types-list/clique-types-list.html create mode 100644 ui/imports/ui/components/clique-types-list/clique-types-list.js create mode 100644 ui/imports/ui/components/clique-types-list/clique-types-list.styl create mode 100644 ui/imports/ui/components/d3graph/d3graph.html create mode 100644 ui/imports/ui/components/d3graph/d3graph.js create mode 100644 ui/imports/ui/components/d3graph/d3graph.styl create mode 100644 ui/imports/ui/components/dashboard/dashboard.html create mode 100644 ui/imports/ui/components/dashboard/dashboard.js create mode 100644 ui/imports/ui/components/dashboard/dashboard.styl create mode 100644 ui/imports/ui/components/data-cubic/data-cubic.html create mode 100644 ui/imports/ui/components/data-cubic/data-cubic.js create mode 100644 ui/imports/ui/components/data-cubic/data-cubic.styl create mode 100644 ui/imports/ui/components/detailed-node-info-box/detailed-node-info-box.html create mode 100644 ui/imports/ui/components/detailed-node-info-box/detailed-node-info-box.js create mode 100644 ui/imports/ui/components/detailed-node-info-box/detailed-node-info-box.styl create mode 100644 ui/imports/ui/components/env-aci-info/env-aci-info.html create mode 100644 ui/imports/ui/components/env-aci-info/env-aci-info.js create mode 100644 ui/imports/ui/components/env-amqp-credentials-info/env-amqp-credentials-info.html create mode 100644 ui/imports/ui/components/env-amqp-credentials-info/env-amqp-credentials-info.js create mode 100644 ui/imports/ui/components/env-delete-modal/env-delete-modal.html create mode 100644 ui/imports/ui/components/env-delete-modal/env-delete-modal.js create mode 100644 ui/imports/ui/components/env-delete-modal/env-delete-modal.styl create mode 100644 ui/imports/ui/components/env-form/env-form.html create mode 100644 ui/imports/ui/components/env-form/env-form.js create mode 100644 ui/imports/ui/components/env-form/env-form.styl create mode 100644 ui/imports/ui/components/env-main-info/env-main-info.html create mode 100644 ui/imports/ui/components/env-main-info/env-main-info.js create mode 100644 ui/imports/ui/components/env-master-host-credentials-info/env-master-host-credentials-info.html create mode 100644 ui/imports/ui/components/env-master-host-credentials-info/env-master-host-credentials-info.js create mode 100644 ui/imports/ui/components/env-monitoring-info/env-monitoring-info.html create mode 100644 ui/imports/ui/components/env-monitoring-info/env-monitoring-info.js create mode 100644 ui/imports/ui/components/env-nfv-info/env-nfv-info.html create mode 100644 ui/imports/ui/components/env-nfv-info/env-nfv-info.js create mode 100644 ui/imports/ui/components/env-open-stack-db-credentials-info/env-open-stack-db-credentials-info.html create mode 100644 ui/imports/ui/components/env-open-stack-db-credentials-info/env-open-stack-db-credentials-info.js create mode 100644 ui/imports/ui/components/env-os-api-endpoint-info/env-os-api-endpoint-info.html create mode 100644 ui/imports/ui/components/env-os-api-endpoint-info/env-os-api-endpoint-info.js create mode 100644 ui/imports/ui/components/environment-dashboard/environment-dashboard.html create mode 100644 ui/imports/ui/components/environment-dashboard/environment-dashboard.js create mode 100644 ui/imports/ui/components/environment-dashboard/environment-dashboard.styl create mode 100644 ui/imports/ui/components/environment-wizard/environment-wizard.html create mode 100644 ui/imports/ui/components/environment-wizard/environment-wizard.js create mode 100644 ui/imports/ui/components/environment-wizard/environment-wizard.styl create mode 100644 ui/imports/ui/components/environment/environment.html create mode 100644 ui/imports/ui/components/environment/environment.js create mode 100644 ui/imports/ui/components/environment/environment.styl create mode 100644 ui/imports/ui/components/flow-graph/flow-graph.html create mode 100644 ui/imports/ui/components/flow-graph/flow-graph.js create mode 100644 ui/imports/ui/components/flow-graph/flow-graph.styl create mode 100644 ui/imports/ui/components/general-folder-node-dashboard/general-folder-node-dashboard.html create mode 100644 ui/imports/ui/components/general-folder-node-dashboard/general-folder-node-dashboard.js create mode 100644 ui/imports/ui/components/general-folder-node-dashboard/general-folder-node-dashboard.styl create mode 100644 ui/imports/ui/components/general-node-dashboard/general-node-dashboard.html create mode 100644 ui/imports/ui/components/general-node-dashboard/general-node-dashboard.js create mode 100644 ui/imports/ui/components/general-node-dashboard/general-node-dashboard.styl create mode 100644 ui/imports/ui/components/general-node-info-box/general-node-info-box.html create mode 100644 ui/imports/ui/components/general-node-info-box/general-node-info-box.js create mode 100644 ui/imports/ui/components/general-node-info-box/general-node-info-box.styl create mode 100644 ui/imports/ui/components/get-started/get-started.html create mode 100644 ui/imports/ui/components/get-started/get-started.js create mode 100644 ui/imports/ui/components/graph-tooltip-window/graph-tooltip-window.html create mode 100644 ui/imports/ui/components/graph-tooltip-window/graph-tooltip-window.js create mode 100644 ui/imports/ui/components/graph-tooltip-window/graph-tooltip-window.styl create mode 100644 ui/imports/ui/components/host-dashboard/host-dashboard.html create mode 100644 ui/imports/ui/components/host-dashboard/host-dashboard.js create mode 100644 ui/imports/ui/components/host-dashboard/host-dashboard.styl create mode 100644 ui/imports/ui/components/icon/icon.html create mode 100644 ui/imports/ui/components/icon/icon.js create mode 100644 ui/imports/ui/components/icon/icon.styl create mode 100644 ui/imports/ui/components/index.styl create mode 100644 ui/imports/ui/components/input-model/input-model.html create mode 100644 ui/imports/ui/components/input-model/input-model.js create mode 100644 ui/imports/ui/components/inventory-properties-display/inventory-properties-display.html create mode 100644 ui/imports/ui/components/inventory-properties-display/inventory-properties-display.js create mode 100644 ui/imports/ui/components/inventory-properties-display/inventory-properties-display.styl create mode 100644 ui/imports/ui/components/landing/landing.html create mode 100644 ui/imports/ui/components/landing/landing.js create mode 100644 ui/imports/ui/components/landing/landing.styl create mode 100644 ui/imports/ui/components/link-type/link-type.html create mode 100644 ui/imports/ui/components/link-type/link-type.js create mode 100644 ui/imports/ui/components/link-type/link-type.styl create mode 100644 ui/imports/ui/components/link-types-list/link-types-list.html create mode 100644 ui/imports/ui/components/link-types-list/link-types-list.js create mode 100644 ui/imports/ui/components/link-types-list/link-types-list.styl create mode 100644 ui/imports/ui/components/list-info-box/list-info-box.html create mode 100644 ui/imports/ui/components/list-info-box/list-info-box.js create mode 100644 ui/imports/ui/components/list-info-box/list-info-box.styl create mode 100644 ui/imports/ui/components/loading/loading.html create mode 100644 ui/imports/ui/components/loading/loading.js create mode 100644 ui/imports/ui/components/loading/loading.styl create mode 100644 ui/imports/ui/components/main/main.html create mode 100644 ui/imports/ui/components/main/main.js create mode 100644 ui/imports/ui/components/main/main.styl create mode 100644 ui/imports/ui/components/message/message.html create mode 100644 ui/imports/ui/components/message/message.js create mode 100644 ui/imports/ui/components/message/message.styl create mode 100644 ui/imports/ui/components/messages-info-box/messages-info-box.html create mode 100644 ui/imports/ui/components/messages-info-box/messages-info-box.js create mode 100644 ui/imports/ui/components/messages-info-box/messages-info-box.styl create mode 100644 ui/imports/ui/components/messages-list/messages-list.html create mode 100644 ui/imports/ui/components/messages-list/messages-list.js create mode 100644 ui/imports/ui/components/messages-list/messages-list.styl create mode 100644 ui/imports/ui/components/messages-modal/messages-modal.html create mode 100644 ui/imports/ui/components/messages-modal/messages-modal.js create mode 100644 ui/imports/ui/components/messages-modal/messages-modal.styl create mode 100644 ui/imports/ui/components/mt-input/mt-input.html create mode 100644 ui/imports/ui/components/mt-input/mt-input.js create mode 100644 ui/imports/ui/components/mt-input/mt-input.styl create mode 100644 ui/imports/ui/components/mt-radios/mt-radios.html create mode 100644 ui/imports/ui/components/mt-radios/mt-radios.js create mode 100644 ui/imports/ui/components/mt-radios/mt-radios.styl create mode 100644 ui/imports/ui/components/mt-select/mt-select.html create mode 100644 ui/imports/ui/components/mt-select/mt-select.js create mode 100644 ui/imports/ui/components/mt-select/mt-select.styl create mode 100644 ui/imports/ui/components/network-graph-manager/network-graph-manager.html create mode 100644 ui/imports/ui/components/network-graph-manager/network-graph-manager.js create mode 100644 ui/imports/ui/components/network-graph-manager/network-graph-manager.styl create mode 100644 ui/imports/ui/components/network-graph/network-graph.html create mode 100644 ui/imports/ui/components/network-graph/network-graph.js create mode 100644 ui/imports/ui/components/network-graph/network-graph.styl create mode 100644 ui/imports/ui/components/network-info-box/network-info-box.html create mode 100644 ui/imports/ui/components/network-info-box/network-info-box.js create mode 100644 ui/imports/ui/components/network-info-box/network-info-box.styl create mode 100644 ui/imports/ui/components/new-scanning/new-scanning.html create mode 100644 ui/imports/ui/components/new-scanning/new-scanning.js create mode 100644 ui/imports/ui/components/new-scanning/new-scanning.styl create mode 100644 ui/imports/ui/components/pager/pager.html create mode 100644 ui/imports/ui/components/pager/pager.js create mode 100644 ui/imports/ui/components/pager/pager.styl create mode 100644 ui/imports/ui/components/project-dashboard/project-dashboard.html create mode 100644 ui/imports/ui/components/project-dashboard/project-dashboard.js create mode 100644 ui/imports/ui/components/project-dashboard/project-dashboard.styl create mode 100644 ui/imports/ui/components/region-dashboard/region-dashboard.html create mode 100644 ui/imports/ui/components/region-dashboard/region-dashboard.js create mode 100644 ui/imports/ui/components/region-dashboard/region-dashboard.styl create mode 100644 ui/imports/ui/components/scanning-request/scanning-request.html create mode 100644 ui/imports/ui/components/scanning-request/scanning-request.js create mode 100644 ui/imports/ui/components/scanning-request/scanning-request.styl create mode 100644 ui/imports/ui/components/scans-list/scans-list.html create mode 100644 ui/imports/ui/components/scans-list/scans-list.js create mode 100644 ui/imports/ui/components/scans-list/scans-list.styl create mode 100644 ui/imports/ui/components/scheduled-scan/scheduled-scan.html create mode 100644 ui/imports/ui/components/scheduled-scan/scheduled-scan.js create mode 100644 ui/imports/ui/components/scheduled-scan/scheduled-scan.styl create mode 100644 ui/imports/ui/components/scheduled-scans-list/scheduled-scans-list.html create mode 100644 ui/imports/ui/components/scheduled-scans-list/scheduled-scans-list.js create mode 100644 ui/imports/ui/components/scheduled-scans-list/scheduled-scans-list.styl create mode 100644 ui/imports/ui/components/search-auto-complete-list/search-auto-complete-list.html create mode 100644 ui/imports/ui/components/search-auto-complete-list/search-auto-complete-list.js create mode 100644 ui/imports/ui/components/search-auto-complete-list/search-auto-complete.styl create mode 100644 ui/imports/ui/components/select-model/select-model.html create mode 100644 ui/imports/ui/components/select-model/select-model.js create mode 100644 ui/imports/ui/components/selectable-ordered-input/selectable-ordered-input.html create mode 100644 ui/imports/ui/components/selectable-ordered-input/selectable-ordered-input.js create mode 100644 ui/imports/ui/components/selectable-ordered-input/selectable-ordered-input.styl create mode 100644 ui/imports/ui/components/time-selection-widget/time-selection-widget.html create mode 100644 ui/imports/ui/components/time-selection-widget/time-selection-widget.js create mode 100644 ui/imports/ui/components/time-selection-widget/time-selection-widget.styl create mode 100644 ui/imports/ui/components/top-navbar-menu/top-navbar-menu.html create mode 100644 ui/imports/ui/components/top-navbar-menu/top-navbar-menu.js create mode 100644 ui/imports/ui/components/top-navbar-menu/top-navbar-menu.styl create mode 100644 ui/imports/ui/components/tree-node/tree-node.html create mode 100644 ui/imports/ui/components/tree-node/tree-node.js create mode 100644 ui/imports/ui/components/tree-node/tree-node.styl create mode 100644 ui/imports/ui/components/user-list/user-list.html create mode 100644 ui/imports/ui/components/user-list/user-list.js create mode 100644 ui/imports/ui/components/user-list/user-list.styl create mode 100644 ui/imports/ui/components/user/user.html create mode 100644 ui/imports/ui/components/user/user.js create mode 100644 ui/imports/ui/components/user/user.styl create mode 100644 ui/imports/ui/components/vedge-info-window/vedge-info-window.html create mode 100644 ui/imports/ui/components/vedge-info-window/vedge-info-window.js create mode 100644 ui/imports/ui/components/vedge-info-window/vedge-info-window.styl create mode 100644 ui/imports/ui/components/zone-dashboard/zone-dashboard.html create mode 100644 ui/imports/ui/components/zone-dashboard/zone-dashboard.js create mode 100644 ui/imports/ui/components/zone-dashboard/zone-dashboard.styl create mode 100644 ui/imports/ui/index.styl create mode 100644 ui/imports/ui/lib/environment-tree-node-behavior.js create mode 100644 ui/imports/ui/lib/input-model.js create mode 100644 ui/imports/ui/lib/inventory-tree-node-behavior.js create mode 100644 ui/imports/ui/lib/select-model.js create mode 100644 ui/imports/ui/reducers/environment-panel.reducer.js create mode 100644 ui/imports/ui/reducers/graph-tooltip-window.reducer.js create mode 100644 ui/imports/ui/reducers/i18n.reducer.js create mode 100644 ui/imports/ui/reducers/index.js create mode 100644 ui/imports/ui/reducers/main-app.reducer.js create mode 100644 ui/imports/ui/reducers/navigation.js create mode 100644 ui/imports/ui/reducers/search-interested-parties.js create mode 100644 ui/imports/ui/reducers/tree-node.reducer.js create mode 100644 ui/imports/ui/reducers/vedge-info-window.reducer.js create mode 100644 ui/imports/ui/store/index.js create mode 100644 ui/imports/ui/store/store.js create mode 100644 ui/lib/router.js create mode 100644 ui/osdna.js create mode 100755 ui/package-source.sh create mode 100644 ui/package.json create mode 100644 ui/public/cisco-favicon.ico create mode 100644 ui/public/cisco-logo-load.png create mode 100644 ui/public/dna-718905_600.png create mode 100644 ui/public/get-started/dashboard-notifications.png create mode 100644 ui/public/get-started/env-dashboard.png create mode 100644 ui/public/get-started/env-delete-action.png create mode 100644 ui/public/get-started/env-diting-os-db-credentails.png create mode 100644 ui/public/get-started/env-edit-action.png create mode 100644 ui/public/get-started/env-editing-amqp-credentials.png create mode 100644 ui/public/get-started/env-editing-master-host-credentials.png create mode 100644 ui/public/get-started/env-editing-monitoring.png create mode 100644 ui/public/get-started/env-editing-os-end-point.png create mode 100644 ui/public/get-started/env-editing-provision.png create mode 100644 ui/public/get-started/env-editing.png create mode 100644 ui/public/get-started/environments-pick.png create mode 100644 ui/public/get-started/main-screen-explained.png create mode 100644 ui/public/get-started/navbar-explained.png create mode 100644 ui/public/get-started/new-environment-action.png create mode 100644 ui/public/get-started/scan-action.png create mode 100644 ui/public/get-started/scan-request-screen.png create mode 100644 ui/public/get-started/selecting-dashboard.png create mode 100644 ui/public/get-started/selecting-env.png create mode 100644 ui/public/get-started/setting-action.png create mode 100644 ui/public/get-started/setting-scans-action.png create mode 100644 ui/public/ic_cloud_queue_black_48dp_2x.png create mode 100644 ui/public/ic_computer_black_48dp_2x.png create mode 100644 ui/public/ic_dns_black_48dp_2x.png create mode 100644 ui/public/ic_gamepad_black_48dp_2x.png create mode 100644 ui/public/ic_keyboard_return_black_48dp_2x.png create mode 100644 ui/public/ic_lens_black_48dp_2x.png create mode 100644 ui/public/ic_settings_input_composite_black_48dp_2x.png create mode 100644 ui/public/ic_settings_input_hdmi_black_48dp_2x.png create mode 100644 ui/public/ic_storage_black_48dp_2x.png create mode 100644 ui/public/images/calipso-logo.jpg create mode 100644 ui/public/instance.png create mode 100644 ui/public/landing/calipso-logo.png create mode 100644 ui/public/landing/docker.png create mode 100644 ui/public/landing/eye.png create mode 100644 ui/public/landing/first.png create mode 100644 ui/public/landing/graph.png create mode 100644 ui/public/landing/main-screen.png create mode 100644 ui/public/landing/openstack.png create mode 100644 ui/public/logo-cisco-png.png create mode 100644 ui/public/logo-cisco.svg create mode 100644 ui/public/logo_microscope_3.png create mode 100644 ui/public/network.png create mode 100644 ui/public/particle.png create mode 100644 ui/public/pnic.jpg create mode 100644 ui/public/vconnector.png create mode 100644 ui/public/vnic.png create mode 100644 ui/public/vservice.png create mode 100644 ui/public/wiki/addNewEnv.png create mode 100644 ui/public/wiki/addNewEnv1.png create mode 100644 ui/public/wiki/wizard1.png create mode 100644 ui/public/wiki/wizard2.png create mode 100644 ui/public/wiki/wizard3.png create mode 100644 ui/public/wiki/wizard4.png create mode 100644 ui/readme.md create mode 100755 ui/run create mode 100755 ui/run-dev.sh create mode 100644 ui/server/main.js (limited to 'ui') diff --git a/ui/Dockerfile b/ui/Dockerfile new file mode 100644 index 0000000..1e3ba52 --- /dev/null +++ b/ui/Dockerfile @@ -0,0 +1,2 @@ +FROM meteorhacks/meteord:onbuild +#FROM jshimko/meteor-launchpad:latest diff --git a/ui/app.styl b/ui/app.styl new file mode 100644 index 0000000..bdf9492 --- /dev/null +++ b/ui/app.styl @@ -0,0 +1,34 @@ +// Colors +black = #222 +grey = #D8D8D8 +purp = #524763 +dark-purp = #373142 +red = #E54B4B +teal = #82D8D8 +dark-teal = #66A6A6 +green = #CBE56C +blue = #16528E +bright-blue = #0082C8 +maroon = #6A2140 +light-red = #CA5765 +pink = #CF256D +orange = #E8846B + +// cisco brand Colors +brand-blue = #2196F3 +spark-blue = #0A9AD7 +spark-green = #73BE46 +spark-grey = #D1D2D1 +dk-blue = #303f9f +light-grey = #efefef +dk-gray1 = #58585b +// cisco brand status Colors +status-blue = #64bbe3 +status-turq = #14a792 +status-green = #6cc04a +status-yellow = #ffcc00 +status-orange = #ff7300 +status-red = #cf2030 +// cisco accepteble colors + +@import './imports/ui/components/index'; diff --git a/ui/build-deploy b/ui/build-deploy new file mode 100755 index 0000000..1f3713e --- /dev/null +++ b/ui/build-deploy @@ -0,0 +1,22 @@ +#!/usr/bin/env bash + +SECONDS=0 +OS_TARGET_PATH=".." +OS_TARGET_NAME=osdna-meteor-frontend-$(date +%Y-%m-%d-%s).tar.gz +OS_NAME=${PWD##*/} +OS_USER_DEV="eyal" +DEV_HOST="korlev-osdna-be.cisco.com" + +meteor build $OS_TARGET_PATH/ --architecture=os.linux.x86_64 +mv $OS_TARGET_PATH/$OS_NAME.tar.gz $OS_TARGET_PATH/$OS_TARGET_NAME + +duration=$SECONDS +echo "$(($duration / 60)) minutes and $(($duration % 60)) seconds elapsed." + +echo "deploy to dev" +SECONDS=0 +echo "target $OS_TARGET_PATH/$OS_TARGET_NAME" +echo "user $OS_USER_DEV" +echo "dev $DEV_HOST" +scp $OS_TARGET_PATH/$OS_TARGET_NAME $OS_USER_DEV@$DEV_HOST\:\~ +echo "$(($duration / 60)) minutes and $(($duration % 60)) seconds elapsed." diff --git a/ui/build.sh b/ui/build.sh new file mode 100755 index 0000000..4e33f30 --- /dev/null +++ b/ui/build.sh @@ -0,0 +1,20 @@ +######################################################################################## +# Copyright (c) 2017 Koren Lev (Cisco Systems), Yaron Yogev (Cisco Systems) and others # +# # +# All rights reserved. This program and the accompanying materials # +# are made available under the terms of the Apache License, Version 2.0 # +# which accompanies this distribution, and is available at # +# http://www.apache.org/licenses/LICENSE-2.0 # +######################################################################################## +#!/usr/bin/env bash + +SECONDS=0 +OS_TARGET_PATH=".." +OS_TARGET_NAME=osdna-meteor-frontend-$(date +%Y-%m-%d-%s).tar.gz +OS_NAME=${PWD##*/} + +meteor build $OS_TARGET_PATH/ --architecture=os.linux.x86_64 +mv $OS_TARGET_PATH/$OS_NAME.tar.gz $OS_TARGET_PATH/$OS_TARGET_NAME + +duration=$SECONDS +echo "$(($duration / 60)) minutes and $(($duration % 60)) seconds elapsed." diff --git a/ui/client/accounts-config.js b/ui/client/accounts-config.js new file mode 100644 index 0000000..68901ea --- /dev/null +++ b/ui/client/accounts-config.js @@ -0,0 +1,11 @@ +///////////////////////////////////////////////////////////////////////////////////////// +// Copyright (c) 2017 Koren Lev (Cisco Systems), Yaron Yogev (Cisco Systems) and others / +// / +// All rights reserved. This program and the accompanying materials / +// are made available under the terms of the Apache License, Version 2.0 / +// which accompanies this distribution, and is available at / +// http://www.apache.org/licenses/LICENSE-2.0 / +///////////////////////////////////////////////////////////////////////////////////////// +Accounts.ui.config({ + passwordSignupFields: 'USERNAME_ONLY', +}); \ No newline at end of file diff --git a/ui/client/css/accordionNavMenu.styl b/ui/client/css/accordionNavMenu.styl new file mode 100644 index 0000000..b5ba1d5 --- /dev/null +++ b/ui/client/css/accordionNavMenu.styl @@ -0,0 +1,259 @@ +// for WIKI + +.os-accordion-nav-menu + .sm-menu-items-list + >.os-accordion-tree-node + >a + display none + +.left-nav-content-wiki { + width: 300px; + height: 100vh + background brand-blue + top 90px + position fixed +} + + +.left-nav-menu + float: left; + min-width: 100px; + outline: 0; + position: relative; + //margin-top -40px + shadow-level(1) + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; + outline: 0; + .menu-footer, .menu-header + background: brand-blue; + color: #f0f0f0; + float: left; + font-weight: normal; + line-height: 50px; + font-size: 0.8em; + width: 100%; + border-bottom 1px solid black + .menu-footer + text-align: center; + .menu-header + height: 39px; + p + font-size 1.7em + padding 6px + margin 0px + + + i + cursor pointer + position absolute + top -5px + right 0 + display block + color white + padding-right 5px + trans() + &:hover + color spark-blue + opacity 0.8 + + ul + list-style: none; + margin: 0; + padding: 0; + li + display: block; + float: left; + position: relative; + width: 100%; + .menu-label + background: #f0f0f0; + border-radius: 100%; + color: #555555; + font-size: 11px; + font-weight: 800; + line-height: 18px; + min-width: 20px; + padding: 1px 2px 1px 1px; + position: absolute; + right: 18px; + text-align: center; + top: 14px; + a + background: brand-blue; + color: #f0f0f0; + float: left; + font-size: 13px; + overflow: hidden; + padding: 14px 22px; + position: relative; + text-decoration: none; + white-space: nowrap; + width: 100%; + trans() + &:hover + background: @background - 20%; + i + float: left; + font-size: 16px; + line-height: 18px; + text-align: left; + width: 34px; + +.left-nav-menu ul li .menu-label { + background: #f0f0f0; + border-radius: 100%; + color: #555555; + font-size: 11px; + font-weight: 800; + line-height: 18px; + min-width: 20px; + padding: 1px 2px 1px 1px; + position: absolute; + right: 18px; + text-align: center; + top: 14px; +} + +.left-nav-menu + ul + .submenu + display: none; + position: static; + width: 100%; + .submenu-indicator + line-height: 16px + li + clear: both; + width: 100%; + ul.submenu + display: none; + position: static; + width: 100%; + overflow: hidden; + a + background: brand-blue - 10% + border-left: solid 6px transparent; + border-top: none; + float: left; + font-size: 11px; + position: relative; + width: 100%; + &:hover + background @background - 20% + + +.left-nav-menu ul .submenu li .menu-label { + background: #f0f0f0; + border-radius: 100%; + color: #555555; + font-size: 11px; + font-weight: 800; + line-height: 18px; + min-width: 20px; + padding: 1px 2px 1px 1px; + position: absolute; + right: 18px; + text-align: center; + top: 12px; + top: 14px; +} + +.left-nav-menu ul .submenu li a + padding-left 40px + background brand-blue - 20% + +.left-nav-menu ul .submenu > li > ul.submenu > li > a + padding-left: 40px + background brand-blue - 30% + +.left-nav-menu ul .submenu > li > ul.submenu > li > ul.submenu > li > a + padding-left: 40px; + background brand-blue - 40% +.left-nav-menu ul .submenu > li > ul.submenu > li > ul.submenu > li > ul.submenu > li > a + padding-left: 50px; + background brand-blue - 50% +.left-nav-menu ul .submenu > li > ul.submenu > li > ul.submenu > li > ul.submenu > li > ul.submenu > li > a + padding-left: 60px; + background brand-blue - 60% +.left-nav-menu ul .submenu > li > ul.submenu > li > ul.submenu > li > ul.submenu > li > ul.submenu > li > ul.submenu > li > a + padding-left: 70px; + background brand-blue - 70% +.left-nav-menu ul .submenu > li > ul.submenu > li > ul.submenu > li > ul.submenu > li > ul.submenu > li > ul.submenu > li > ul.submenu > li > ul.submenu > li > a + padding-left: 80px; + background brand-blue - 80% + +.left-nav-menu .sm-open-close-indicator + float: right; + + i.fa + font-size: 10px; + width: 10px; + +.left-nav-menu .submenu-indicator { + -moz-transition: "transform .3s linear"; + -o-transition: "transform .3s linear"; + -webkit-transition: "transform .3s linear"; + transition: "transform .3s linear"; + float: right; + font-size: 20px; + line-height: 19px; + position: absolute; + right: 22px; +} + +.left-nav-menu .submenu-indicator-minus > .submenu-indicator { + -moz-transform: rotate(45deg); + -ms-transform: rotate(45deg); + -o-transform: rotate(45deg); + -webkit-transform: rotate(45deg); + transform: rotate(45deg); +} + +.left-nav-menu > ul > li.active > a { + background: #3b424d; + color: #ffffff; +} + + +.left-nav-menu > ul > li > a { border-bottom: solid 1px #3b424d; } + +.ink { + -moz-transform: scale(0); + -ms-transform: scale(0); + -o-transform: scale(0); + -webkit-transform: scale(0); + background: rgba(255, 255, 255, 0.3); + border-radius: 100%; + display: block; + position: absolute; + transform: scale(0); +} + +.animate-ink { + -moz-animation: ripple .3s linear; + -ms-animation: ripple .3s linear; + -o-animation: ripple .3s linear; + -webkit-animation: ripple .3s linear; + animation: ripple .3s linear; +} + +// @-moz-keyframes 'ripple' { +// 100% { +// opacity: 0; +// transform: scale(2.5); +// } +// } +// @-webkit-keyframes 'ripple' { +// 100% { +// opacity: 0; +// transform: scale(2.5); +// } +// } +// @keyframes 'ripple' { +// 100% { +// opacity: 0; +// transform: scale(2.5); +// } +// } diff --git a/ui/client/css/components.styl b/ui/client/css/components.styl new file mode 100644 index 0000000..a4b2f04 --- /dev/null +++ b/ui/client/css/components.styl @@ -0,0 +1,187 @@ +.main-layout + margin 30px 30px 30px 330px + +.main-layout-no-nav + margin 0px + +.site-sidenav + width: 300px; + min-width: 300px; + max-width: 300px; + //height: 100vh + height: initial; + align-self: stretch; + min-height: 95vh; + background brand-blue + trans() + +.site-sidenav-collapse + width: 30px + min-width: 30px + max-width: 30px + min-height 100vh + background brand-blue + color white + margin-top -40px + trans() + +.cards + color #FFF + padding 20px + margin-bottom 30px + .material-icons + padding-top 20px + shadow-level(1) + trans() + &:hover + shadow-level(2) + &.not-active + shadow-level (0) + &.blue + background-color spark-blue + &.green + background-color status-green + &.grey + background-color dk-gray1 + &.light-grey + background-color light-grey + &.dk-blue + background-color dk-blue + &.orange + background-color status-orange + &.red + background-color status-red + &.white + background #FFF + color #000 + &.blue-text + color spark-blue + &.green-text + .fa, .material-icons + color status-green + h5 + border-bottom 3px solid status-green + p.active + padding-top 3px + font-size 1.2em + color status-green + &.orange-text + .fa, .material-icons + color status-orange + h5 + border-bottom 3px solid status-orange + p.active + padding-top 3px + font-size 1.2em + color status-orange + &.red-text + .fa, .material-icons + color status-red + h5 + border-bottom 3px solid status-red + p.active + padding-top 3px + font-size 1.2em + color status-red + h3 + color spark-blue + font-size 2em + border-bottom 3px solid spark-blue + p.text + color #000 + .fa, .material-icons + font-size 4em + &.title + h4 + margin 0 + text-align center + color spark-blue + +.cards-w250 + @extend .cards + padding 20px 5px + max-height 100px + width: 250px + max-width: 250px + min-width: 250px + text-align center + .fa, .material-icons + font-size 3em + p + margin 0 + span + font-size 1.3em + font-weight bold + +.cards-w300 + @extend .cards + max-height 100px + width: 300px + max-width: 300px + min-width: 300px; + p + font-size 1.1em + span + font-size 1.3em + font-weight bold + +.cards-w300-h60 + @extend .cards-w300 + font-size 0.9em + height 60px + .fa, .material-icons + font-size 2em + &:hover + shadow-level(1) + +.cards-flex-col-h120 + @extend .cards + height: 120px + max-height 120px + min-height 120px + h5 + padding 0px + margin 0px + a + color spark-blue + p + font-size 1em + padding 0px + margin 0px + span + font-size 1.3em + font-weight bold + +.cards-450 + @extend .cards + width: 520px + max-width: 520px + min-width: 520px + p + font-size 1.1em + span + font-size 1.3em + font-weight bold + .material-icons + color spark-blue + font-size 5em + padding 40px 30px + +.cards-flex-col-h500 + @extend .cards + margin-right 30px + height 500px + max-height 500px + min-height 500px + p + font-size 1.1em + span + font-size 1.3em + font-weight bold + .material-icons + color spark-blue + font-size 8em + padding 40px + +.margin-top-40 + margin-top 40px diff --git a/ui/client/css/d3graph.styl b/ui/client/css/d3graph.styl new file mode 100644 index 0000000..6d53c45 --- /dev/null +++ b/ui/client/css/d3graph.styl @@ -0,0 +1,47 @@ + +.node circle { + fill: steelblue; +} +.node text { + font: bold 14px sans-serif; + fill: rgb(16, 15, 15); + text-shadow: 0 0px 0 #fff; + /*font-size: 0.8em;*/ +} +.link { + /* + fill: #1313AB; + stroke: #1313AB; + */ +} +.different-groups{ + stroke: #999; +} +.default { + stroke: #fbb; + stroke-width: 4px; +} +.outline { + stroke: #844; + stroke-width: 6px; +} + +div.tooltip { + position: absolute; + text-align: left; + opacity 1 + font: bold 18px sans-serif !important; + /* width: 60px; */ + /* height: 28px; */ + padding: 20px; + font: 16px sans-serif; + background: dk-gray1; + color white + border: 2px solid stark-blue + pointer-events: none; +} +.background { + stroke: white; + stroke-width: 1px; + fill: white; +} diff --git a/ui/client/css/flex.styl b/ui/client/css/flex.styl new file mode 100644 index 0000000..e780d78 --- /dev/null +++ b/ui/client/css/flex.styl @@ -0,0 +1,23 @@ +// flex grid system +.flex-box + list-style none + display flex + flex-wrap wrap + // border 2px solid red + .flex-box-1 + flex 1 + // border 2px solid green + .flex-box-2 + flex 2 + .flex-box-3 + flex 3 + .flex-box-4 + flex 4 +.flex-col + flex-direction column +.justify-content-around + justify-content space-around +.justify-content-between + justify-content space-between +.justify-content-start + justify-content flex-start \ No newline at end of file diff --git a/ui/client/css/header.styl b/ui/client/css/header.styl new file mode 100644 index 0000000..ebc3ff6 --- /dev/null +++ b/ui/client/css/header.styl @@ -0,0 +1,118 @@ +.os-alarm-icons + display: flex; + flex-flow: row; + justify-content: flex-end; + + padding-top 50px + //background-color dk-gray1 + background-color: brand-blue + border-bottom: solid 1px black; + + .breadcrumb + background-color dk-gray1 + + .alarm-icons + padding-top 15px + padding-right 10px + color #FFF + //text-align right + + .material-icons:hover + cursor pointer + color spark-grey + trans() + + .dropdown + display inline + trans() + + .dropdown-menu-right + right 25px + + .dropdown-header + font-size 1.4em + color dk-gray1 + + >a + font-size: 20px; + color dk-gray1 + line-height: 1.42857143; + padding-left: 4px; + +img.navbar-brand.navbar-custom { + padding-left: 40px; +} + +p.navbar-brand.navbar-custom{ + margin: 0px; + padding-left: 95px; + color: #FFF; +} + +nav.navbar-inverse.navbar-custom + background-color: brand-blue + color: #FFF; + a + color: #FFF; + .login-close-text + color: #555; + #login-name-link:hover + color: rgb(63,81,181); + &:hover + color: rgb(63,81,181); + trans() + a.droplist + color: brand-blue + padding: 10px 0px 0px 10px + + .search + position: relative; + color: white + input + height: 30px; + background: brand-blue + // text-indent: 25px; + padding-left: 20px; + border 0px + border-bottom 2px solid spark-grey + width 175px + &:hover, &:active, &:focus + border-bottom 2px solid white + ::-webkit-input-placeholder + color: white + .fa-search + position: absolute; + top: 7px; + + .search-auto-complete + position: absolute; + right: 0; + top: 34px + z-index: 1000; + +.navbar-inverse .navbar-nav > .open > a, +.navbar-inverse .navbar-nav > .open > a:hover, +.navbar-inverse .navbar-nav > .open > a:focus { + color: brand-blue + background-color: #fff; +} + +/* Login form style */ +.sign-in #login-sign-in-link, #login-name-link, #login-name-link.login-link-text { + color: #FFF; + text-decoration: none; +} + +.login-button#login-buttons-open-change-password, +.login-button#login-buttons-password, +.login-button#login-buttons-logout { + background-color: brand-blue + border: brand-blue +} + +.login-button#login-buttons-open-change-password:hover, +.login-button#login-buttons-password:hover, +.login-button#login-buttons-logout:hover { + background-color: rgb(63,81,181); + border: rgb(63,81,181); +} diff --git a/ui/client/css/landing.css b/ui/client/css/landing.css new file mode 100644 index 0000000..59c0806 --- /dev/null +++ b/ui/client/css/landing.css @@ -0,0 +1,122 @@ +/****************************************************************************************/ +/* Copyright (c) 2017 Koren Lev (Cisco Systems), Yaron Yogev (Cisco Systems) and others */ +/* */ +/* All rights reserved. This program and the accompanying materials */ +/* are made available under the terms of the Apache License, Version 2.0 */ +/* which accompanies this distribution, and is available at */ +/* http://www.apache.org/licenses/LICENSE-2.0 */ +/****************************************************************************************/ +/* ======= landging page =======*/ + +a.mdl-button:hover{ + text-decoration: none; +} + +.mdl-button--raised.mdl-button--colored { + background-color: #2196F3; +} + +.mdl-button--accent.mdl-button--accent.mdl-button--raised:hover { + background-color: rgb(63,81,181); + +} + +section.section-margin-50 { + margin: 50px 0; +} + +.background-blue{ + background-color: #2196F3; + color: #f9f9f9; +} +.background-white { + border-color: #FFF; +} + +.background-grey { + background-color: #f9f9f9; +} + +.home-fullscreen { + /* padding: 25px; */ +} + +.mtop-50{ + margin-top: 100px; +} + +.font20{ + font-size: 20px; +} + +.title-border-bottom{ + border-bottom: 5px solid #2196F3; +} +.text-align-center{ + text-align: center; +} + +/* +.home_mockups { + position: relative; + margin-top: 4rem; + margin-bottom: -1rem; + z-index: 3; +} + +.home_mockups_1 { + position: relative; + animation-delay: 0.5s; +} + +.home_mockups_2 { + animation-delay: 1s; +} + +.home_mockups_2, .home_mockups_3 { + position: absolute; + margin: 0 auto; + top: 0; + right: 0; + left: 0; + bottom: 0; +} +*/ + +.box { + margin: 50px; +} + +.box-side{ + margin: 10px 50px; +} +/* ======= End of section =========*/ + +/*====== Main page =======*/ +.logo{ + padding: 10px; +} + +.view-100{ + height: 100vh; +} + +.user-bar{ + background: #42A5F5; + color: #fff; + padding-left: 15px; +} +/* ======= End of section =======*/ + +/*// Rules for sizing the icon.*/ +.material-icons.md-18 { font-size: 21px; } +.material-icons.md-24 { font-size: 24px; } +.material-icons.md-36 { font-size: 36px; } +.material-icons.md-48 { font-size: 48px; } +/*// Rules for using icons as black on a light background.*/ +.material-icons.md-dark { color: rgba(0, 0, 0, 0.54); } +.material-icons.md-dark.md-inactive { color: rgba(0, 0, 0, 0.26); } +/*// Rules for using icons as white on a dark background.*/ +.material-icons.md-light { color: rgba(255, 255, 255, 1); } +.material-icons.md-light.md-inactive { color: rgba(255, 255, 255, 0.3); } +/* ======= End of section ===========*/ diff --git a/ui/client/css/loading.styl b/ui/client/css/loading.styl new file mode 100644 index 0000000..1545b58 --- /dev/null +++ b/ui/client/css/loading.styl @@ -0,0 +1,19 @@ + + +.loading-message { + color: white; + font-size: 2.5em; + font-weight: 300; + font-family: sans-serif; +} + +.sk-spinner-rotating-plane.sk-spinner { + background-color: white; +} + +.landing + .material-icons + font-size 64px + +.margin-50 + margin 80px 0px \ No newline at end of file diff --git a/ui/client/css/modals.styl b/ui/client/css/modals.styl new file mode 100644 index 0000000..f0d4741 --- /dev/null +++ b/ui/client/css/modals.styl @@ -0,0 +1,10 @@ +.modal-header + .material-icons + color spark-blue + +.modal-body + a + color spark-blue + h5 + color spark-blue + border-bottom 2px solid spark-blue diff --git a/ui/client/css/plugins.styl b/ui/client/css/plugins.styl new file mode 100644 index 0000000..cd602ba --- /dev/null +++ b/ui/client/css/plugins.styl @@ -0,0 +1,4 @@ +.graph + width: 100%; + height: 400px; + border: 3px solid spark-blue; \ No newline at end of file diff --git a/ui/client/css/wizard.css b/ui/client/css/wizard.css new file mode 100644 index 0000000..ebac04f --- /dev/null +++ b/ui/client/css/wizard.css @@ -0,0 +1,28 @@ +/****************************************************************************************/ +/* Copyright (c) 2017 Koren Lev (Cisco Systems), Yaron Yogev (Cisco Systems) and others */ +/* */ +/* All rights reserved. This program and the accompanying materials */ +/* are made available under the terms of the Apache License, Version 2.0 */ +/* which accompanies this distribution, and is available at */ +/* http://www.apache.org/licenses/LICENSE-2.0 */ +/****************************************************************************************/ +.btn-mgt-5 { + margin-top: 5px; +} + +.nav > li > a { + color: #2196F3; +} + +.form-horizontal { + margin-top: 25px; +} + +.mdl-button { + color: #2196F3; +} + +.mdl-button:hover { + background-color: rgb(63,81,181); + color: #FFF; +} diff --git a/ui/client/lib/jquery.multilevelpushmenu.css b/ui/client/lib/jquery.multilevelpushmenu.css new file mode 100644 index 0000000..407cda9 --- /dev/null +++ b/ui/client/lib/jquery.multilevelpushmenu.css @@ -0,0 +1,120 @@ +/****************************************************************************************/ +/* Copyright (c) 2017 Koren Lev (Cisco Systems), Yaron Yogev (Cisco Systems) and others */ +/* */ +/* All rights reserved. This program and the accompanying materials */ +/* are made available under the terms of the Apache License, Version 2.0 */ +/* which accompanies this distribution, and is available at */ +/* http://www.apache.org/licenses/LICENSE-2.0 */ +/****************************************************************************************/ +.multilevelpushmenu_wrapper { + position: absolute; + overflow: hidden; + min-width: 100%; + min-height: 100%; + margin: 0; + padding: 0; +} + +.multilevelpushmenu_wrapper .levelHolderClass { + position: absolute; + overflow: hidden; + top: 0; + background: #336ca6; + width: auto; + min-height: 100%; + font-family: 'Open Sans Condensed', sans-serif; + font-size: 1em; + zoom: 1; +} + +.multilevelpushmenu_wrapper .ltr { + margin-left: -100%; + left: 0; + -moz-box-shadow: 5px 0 5px -5px #1f4164; + -webkit-box-shadow: 5px 0 5px -5px #1f4164; + box-shadow: 5px 0 5px -5px #1f4164; + filter: progid:DXImageTransform.Microsoft.Shadow(color=#1f4164,direction=90,strength=2); +} + +.multilevelpushmenu_wrapper .rtl { + margin-right: -100%; + right: 0; + -moz-box-shadow: 5px 0 5px 5px #1f4164; + -webkit-box-shadow: 5px 0 5px 5px #1f4164; + box-shadow: 5px 0 5px 5px #1f4164; + filter: progid:DXImageTransform.Microsoft.Shadow(color=#1f4164,direction=270,strength=2); +} + +.multilevelpushmenu_wrapper .multilevelpushmenu_inactive { + background: #2e6196; +} + +.multilevelpushmenu_wrapper h2 { + font-size: 1.5em; + line-height: 1em; + font-weight: bold; + color: #1f4164; + padding: 0 .4em 0 .4em; +} + +.multilevelpushmenu_wrapper ul { + list-style: none; + padding: 0; + margin: 0; +} + +.multilevelpushmenu_wrapper li { + cursor: pointer; + border-top: 1px solid #295685; + padding: .4em .4em .4em .4em; +} + +.multilevelpushmenu_wrapper li:last-child { + border-bottom: 1px solid #295685; +} + +.multilevelpushmenu_wrapper li:hover { + background-color: #295685; +} + +.multilevelpushmenu_wrapper a { + display: block; + outline: none; + overflow: hidden; + font-size: 1.5em; + line-height: 1em; + padding: .2em .2em; + text-decoration: none; + color: #fff; +} + +.multilevelpushmenu_wrapper a:hover { + color: #ffe; +} + +.multilevelpushmenu_wrapper .backItemClass { + display: block; + padding: .4em .4em .4em .4em; + background: #2e6196; + border-top: 1px solid #295685; +} + +.multilevelpushmenu_wrapper .floatRight { + float: right; +} + +.multilevelpushmenu_wrapper .floatLeft { + float: left; +} + +.multilevelpushmenu_wrapper .cursorPointer { + cursor: pointer; +} + +.multilevelpushmenu_wrapper .iconSpacing_ltr { + padding: 0 .4em 0 0; +} + +.multilevelpushmenu_wrapper .iconSpacing_rtl { + padding: 0 0 0 .4em; +} \ No newline at end of file diff --git a/ui/client/lib/jquery.multilevelpushmenu.js b/ui/client/lib/jquery.multilevelpushmenu.js new file mode 100644 index 0000000..0b2a24d --- /dev/null +++ b/ui/client/lib/jquery.multilevelpushmenu.js @@ -0,0 +1,1148 @@ +///////////////////////////////////////////////////////////////////////////////////////// +// Copyright (c) 2017 Koren Lev (Cisco Systems), Yaron Yogev (Cisco Systems) and others / +// / +// All rights reserved. This program and the accompanying materials / +// are made available under the terms of the Apache License, Version 2.0 / +// which accompanies this distribution, and is available at / +// http://www.apache.org/licenses/LICENSE-2.0 / +///////////////////////////////////////////////////////////////////////////////////////// +/** + * jquery.multilevelpushmenu.js v2.1.4 + * + * Licensed under the MIT license. + * http://www.opensource.org/licenses/mit-license.php + * + * Copyright 2013-2014, Make IT d.o.o. + * http://multi-level-push-menu.make.rs + * https://github.com/adgsm/multi-level-push-menu + */ +(function ( $ ) { + $.fn.multilevelpushmenu = function( options ) { + "use strict"; + var args = arguments, + returnValue = null; + + this.each(function(){ + var instance = this, + $this = $( this ), + $container = ( $this.context != undefined ) ? $this : $( 'body' ), + menu = ( options && options.menu != undefined ) ? options.menu : $this.find( 'nav' ), + clickEventType, dragEventType; + + // Settings + var settings = $.extend({ + container: $container, + containersToPush: null, + menuID: ( ( $container.prop( 'id' ) != undefined && $container.prop( 'id' ) != '' ) ? $container.prop( 'id' ) : this.nodeName.toLowerCase() ) + "_multilevelpushmenu", + wrapperClass: 'multilevelpushmenu_wrapper', + menuInactiveClass: 'multilevelpushmenu_inactive', + menu: menu, + menuWidth: 0, + menuHeight: 0, + collapsed: false, + fullCollapse: false, + direction: 'ltr', + backText: 'Back', + backItemClass: 'backItemClass', + backItemIcon: 'fa fa-angle-right', + groupIcon: 'fa fa-angle-left', + mode: 'overlap', + overlapWidth: 40, + preventItemClick: true, + preventGroupItemClick: true, + swipe: 'both', + durationSlideOut: 400, + durationSlideDown: 500, + durationTransition: 400, + onCollapseMenuStart: function() {}, + onCollapseMenuEnd: function() {}, + onExpandMenuStart: function() {}, + onExpandMenuEnd: function() {}, + onGroupItemClick: function() {}, + onItemClick: function() {}, + onTitleItemClick: function() {}, + onBackItemClick: function() {}, + onMenuReady: function() {}, + onMenuSwipe: function() {} + }, options ); + + // Store a settings reference withint the element's data + if (!$.data(instance, 'plugin_multilevelpushmenu')) { + $.data(instance, 'plugin_multilevelpushmenu', settings); + instance.settings = $.data(instance, 'plugin_multilevelpushmenu'); + } + + // Exposed methods + var methods = { + // Initialize menu + init: function () { + return initialize.apply(this, Array.prototype.slice.call(arguments)); + }, + // Collapse menu + collapse: function () { + return collapseMenu.apply(this, Array.prototype.slice.call(arguments)); + }, + // Expand menu + expand: function () { + return expandMenu.apply(this, Array.prototype.slice.call(arguments)); + }, + // Menu expanded + menuexpanded: function () { + return menuExpanded.apply(this, Array.prototype.slice.call(arguments)); + }, + // Active menu + activemenu: function () { + return activeMenu.apply(this, Array.prototype.slice.call(arguments)); + }, + // Find menu(s) by title + findmenusbytitle: function () { + return findMenusByTitle.apply(this, Array.prototype.slice.call(arguments)); + }, + // Find item(s) by name + finditemsbyname: function () { + return findItemsByName.apply(this, Array.prototype.slice.call(arguments)); + }, + // Find path to root menu collection + pathtoroot: function () { + return pathToRoot.apply(this, Array.prototype.slice.call(arguments)); + }, + // Find shared path to root of two menus + comparepaths: function () { + return comparePaths.apply(this, Array.prototype.slice.call(arguments)); + }, + // Get/Set settings options + option: function () { + return manageOptions.apply(this, Array.prototype.slice.call(arguments)); + }, + // Add item(s) + additems: function () { + return addItems.apply(this, Array.prototype.slice.call(arguments)); + }, + // Remove item(s) + removeitems: function () { + return removeItems.apply(this, Array.prototype.slice.call(arguments)); + }, + // Size DOM elements + redraw: function () { + return sizeDOMelements.apply(this, Array.prototype.slice.call(arguments)); + }, + // Returns visible level holders + visiblemenus: function () { + return visibleLevelHolders.apply(this, Array.prototype.slice.call(arguments)); + }, + // Returns visible level holders + hiddenmenus: function () { + return hiddenLevelHolders.apply(this, Array.prototype.slice.call(arguments)); + }, + // Propagate event to underneath layer + propagateevent: function () { + return propagateEvent.apply(this, Array.prototype.slice.call(arguments)); + } + }; + + // IE 8 and modern browsers, prevent event propagation + function stopEventPropagation( e ){ + if ( e.stopPropagation && e.preventDefault ) { + e.stopPropagation(); + e.preventDefault(); + } + else { + e.cancelBubble = true; + e.returnValue = false; + } + } + + // propagate event to underneath layer + // http://jsfiddle.net/E9zTs/2/ + function propagateEvent( $element , event ) { + if( $element == undefined || event == undefined ) return false; + $element.on( event , function ( e , ee ) { + $element.hide(); + try { + if(!e.pageX || !e.pageY) return false; + ee = ee || { + pageX: e.pageX, + pageY: e.pageY + }; + var next = document.elementFromPoint( ee.pageX , ee.pageY ); + next = ( next.nodeType == 3 ) ? next.parentNode : next //Opera + $( next ).trigger( event , ee ); + } + catch ( err ) { + $.error( 'Error while propagating event: ' + err.message ); + } + finally { + $element.show(); + } + }); + } + + // Create DOM structure if it does not already exist within the container (input: array) + function createDOMStructure() { + var $mainWrapper = $( "