From d0ea6a49ce88f043a6b7ce7ff8a7bb6333bd691c Mon Sep 17 00:00:00 2001 From: Edan Binshtok Date: Tue, 17 Oct 2017 17:42:16 +0300 Subject: Removal of AT&T Proprietary Remove Terms of d2ice Remove d2ice and att in js Remove fonts Change-Id: I383d96979e0f9f7af923365f2dba7b0c7fb8f0eb Issue-Id: VVP-25 Signed-off-by: Edan Binshtok --- .maven-dockerignore | 2 + Dockerfile | 0 LICENSE.TXT | 0 README.md | 0 d2ice.att.io/.bowerrc | 3 - d2ice.att.io/.editorconfig | 21 - d2ice.att.io/.gitattributes | 1 - d2ice.att.io/.gitignore | 14 - d2ice.att.io/.jscsrc | 6 - d2ice.att.io/.jshintrc | 16 - d2ice.att.io/.yo-rc.json | 11 - d2ice.att.io/Gruntfile.js | 714 -- d2ice.att.io/README.md | 75 - d2ice.att.io/app/.watch.me | 0 d2ice.att.io/app/app.config.js | 60 - d2ice.att.io/app/app.constants.js | 75 - d2ice.att.io/app/app.controller.js | 74 - d2ice.att.io/app/app.module.js | 110 - d2ice.att.io/app/app.route.js | 97 - d2ice.att.io/app/app.run.js | 244 - .../core/js/jquery.nicescroll-master/MIT.LICENSE | 17 - .../app/core/js/jquery.nicescroll-master/README.md | 182 - .../core/js/jquery.nicescroll-master/bower.json | 15 - .../jquery.nicescroll-master/changelog_3.6.8.txt | 31 - .../dist/jquery.nicescroll.min.js | 158 - .../js/jquery.nicescroll-master/dist/zoomico.png | Bin 393 -> 0 bytes .../jquery.nicescroll-master/jquery.nicescroll.js | 3755 -------- .../jquery.nicescroll.min.js | 158 - .../core/js/jquery.nicescroll-master/package.json | 76 - .../core/js/jquery.nicescroll-master/zoomico.png | Bin 393 -> 0 bytes .../app/core/layouts/dashboard/dashboard.html | 50 - .../app/core/layouts/dashboard/dashboard.less | 65 - .../full-page-with-header.html | 79 - .../full-page-with-header.less | 112 - .../account.navigation.controller.js | 63 - .../layouts/account-navigation/navigation.html | 48 - .../layouts/account-navigation/navigation.less | 75 - .../admin.navigation.controller.js | 93 - .../layouts/admin-navigation/navigation.html | 64 - .../layouts/admin-navigation/navigation.less | 133 - .../documentation.navigation.controller.js | 100 - .../documentation-navigation/navigation.html | 85 - .../documentation-navigation/navigation.less | 110 - .../layouts/horizontal-navigation/navigation.html | 197 - .../layouts/horizontal-navigation/navigation.less | 208 - .../app/core/navigation/navigation.controller.js | 456 - .../app/core/navigation/navigation.module.js | 51 - .../layouts/horizontal-navigation/toolbar.html | 75 - .../layouts/horizontal-navigation/toolbar.less | 132 - .../app/core/toolbar/toolbar.controller.js | 94 - d2ice.att.io/app/core/toolbar/toolbar.module.js | 51 - .../ice-announcement/ice-announcement.directive.js | 91 - .../ice-announcement/ice-announcement.html | 44 - .../directives/ice-loader/ice-loader.directive.js | 96 - .../app/directives/ice-loader/ice-loader.html | 39 - .../app/directives/ice-loader/ice-loader.less | 52 - .../ice-news-and-announcement.directive.js | 87 - .../ice-news-and-announcement.html | 51 - .../ice-news-and-announcement.less | 80 - .../directives/ice-toast/ice-toast.directive.js | 76 - .../app/directives/ice-toast/ice-toast.html | 44 - .../app/directives/ice-toast/ice-toast.less | 48 - .../ice-tooltip/ice-tooltip.directive.js | 69 - .../app/directives/ice-tooltip/ice-tooltip.html | 44 - .../app/directives/ice-tooltip/ice-tooltip.less | 82 - .../notifications/notifications.directive.js | 130 - .../app/directives/progress/progress.directive.js | 211 - d2ice.att.io/app/directives/progress/progress.html | 82 - d2ice.att.io/app/directives/progress/progress.less | 184 - .../step-stages/step-stages.directive.js | 172 - .../app/directives/step-stages/step-stages.html | 44 - .../app/directives/step-stages/step-stages.less | 75 - d2ice.att.io/app/favicon.png | Bin 6364 -> 0 bytes d2ice.att.io/app/filters/capitalize.filter.js | 52 - .../customDocumentationPageSearch.filter.js | 58 - .../app/filters/customVFSearchFilter.filter.js | 62 - d2ice.att.io/app/filters/date2.filter.js | 60 - d2ice.att.io/app/filters/doesExists.filter.js | 52 - .../app/filters/htmlspecialchars.filter.js | 62 - d2ice.att.io/app/filters/htmlstylespan.filter.js | 56 - d2ice.att.io/app/filters/trusted.filter.js | 49 - d2ice.att.io/app/index.html | 262 - d2ice.att.io/app/interceptors/httpInterceptors.js | 95 - d2ice.att.io/app/locales/en/translation.json | 12 - .../activation/activate/activateUser.controller.js | 60 - .../app/main/activation/activate/activateUser.html | 39 - .../activation/activate/activateUser.module.js | 58 - .../addVendorContact.controller.js | 111 - .../addVendorContact/addVendorContact.html | 111 - .../addVendorContact/addVendorContact.less | 82 - .../addVendorContact/addVendorContact.module.js | 67 - .../app/main/activation/addVf/addVf.controller.js | 277 - d2ice.att.io/app/main/activation/addVf/addVf.html | 130 - d2ice.att.io/app/main/activation/addVf/addVf.less | 176 - .../app/main/activation/addVf/addVf.module.js | 67 - .../activation/contactUs/contactUs.controller.js | 57 - .../app/main/activation/contactUs/contactUs.html | 53 - .../app/main/activation/contactUs/contactUs.less | 59 - .../main/activation/contactUs/contactUs.module.js | 67 - .../inviteMembers/inviteMembers.controller.js | 97 - .../activation/inviteMembers/inviteMembers.html | 72 - .../activation/inviteMembers/inviteMembers.less | 86 - .../inviteMembers/inviteMembers.module.js | 67 - .../app/main/activation/login/login.controller.js | 119 - d2ice.att.io/app/main/activation/login/login.html | 90 - d2ice.att.io/app/main/activation/login/login.less | 109 - .../app/main/activation/login/login.module.js | 68 - .../activation/register/register.controller.js | 122 - .../app/main/activation/register/register.html | 127 - .../app/main/activation/register/register.less | 100 - .../main/activation/register/register.module.js | 67 - .../resendActivation.controller.js | 79 - .../resendActivation/resendActivation.html | 61 - .../resendActivation/resendActivation.less | 67 - .../resendActivation/resendActivation.module.js | 68 - .../resetPassword/resetPassword.controller.js | 95 - .../activation/resetPassword/resetPassword.html | 64 - .../activation/resetPassword/resetPassword.less | 84 - .../resetPassword/resetPassword.module.js | 68 - .../app/main/activation/terms/terms.controller.js | 56 - d2ice.att.io/app/main/activation/terms/terms.html | 105 - d2ice.att.io/app/main/activation/terms/terms.less | 65 - .../app/main/activation/terms/terms.module.js | 68 - .../updatePassword/updatePassword.controller.js | 95 - .../activation/updatePassword/updatePassword.html | 76 - .../activation/updatePassword/updatePassword.less | 85 - .../updatePassword/updatePassword.module.js | 68 - d2ice.att.io/app/main/admin/admin.module.js | 89 - .../checklist-template.controller.js | 241 - .../checklist-template/checklist-template.html | 174 - .../checklist-template/checklist-template.less | 552 -- .../main/dashboard/account/account.controller.js | 150 - .../app/main/dashboard/account/account.html | 159 - .../app/main/dashboard/account/account.less | 215 - .../app/main/dashboard/account/account.module.js | 85 - .../notifications/notifications.controller.js | 140 - .../account/notifications/notifications.html | 60 - .../account/notifications/notifications.less | 348 - .../user-profile-settings.controller.js | 98 - .../user-profile-settings.html | 66 - .../user-profile-settings.less | 45 - .../dashboard/checklist/checklist.controller.js | 445 - .../app/main/dashboard/checklist/checklist.html | 117 - .../app/main/dashboard/checklist/checklist.less | 826 -- .../dashboard/dashboard/dashboard.controller.js | 235 - .../app/main/dashboard/dashboard/dashboard.html | 111 - .../app/main/dashboard/dashboard/dashboard.less | 189 - .../detailed-view/detailed-view.controller.js | 245 - .../dashboard/detailed-view/detailed-view.html | 109 - .../dashboard/detailed-view/detailed-view.less | 400 - .../get-started-modal.directive.js | 308 - .../get-started-modal/get-started-modal.html | 38 - .../get-started-modal/get-started-modal.less | 47 - .../get-started-modal/get-started-modal.module.js | 48 - .../get-started-modal/wizard/wizard-container.html | 192 - .../dashboard/get-started-modal/wizard/wizard.less | 255 - d2ice.att.io/app/main/dashboard/main.module.js | 107 - d2ice.att.io/app/main/dashboard/main/main.html | 172 - .../main/dashboard/overview/overview.controller.js | 833 -- .../app/main/dashboard/overview/overview.html | 212 - .../app/main/dashboard/overview/overview.less | 575 -- .../main/documentation/documentation.controller.js | 74 - .../app/main/documentation/documentation.html | 47 - .../app/main/documentation/documentation.less | 96 - .../app/main/documentation/documentation.module.js | 74 - .../sidebar/documentation.sidebar.html | 41 - .../sidebar/documentation.sidebar.less | 61 - d2ice.att.io/app/main/errors/404.html | 190 - d2ice.att.io/app/main/main.controller.js | 60 - .../archive-engagement-modal.controller.js | 66 - .../archive-engagement-modal.html | 56 - .../archive-engagement-modal.less | 54 - .../main/modals/audit-log/audit-log.controller.js | 95 - .../app/main/modals/audit-log/audit-log.html | 76 - .../app/main/modals/audit-log/audit-log.less | 49 - .../modals/change-date/change-date.controller.js | 75 - .../app/main/modals/change-date/change-date.html | 62 - .../change-progress/change-progress.controller.js | 71 - .../modals/change-progress/change-progress.html | 65 - .../main/modals/checklist/checklist.controller.js | 238 - .../app/main/modals/checklist/checklist.html | 107 - .../state-approve-or-reject.controller.js | 105 - .../state-approve-or-reject.html | 58 - .../state-approve-or-reject.less | 173 - .../cms-post-modal/cms-post-modal.controller.js | 92 - .../main/modals/cms-post-modal/cms-post-modal.html | 55 - .../main/modals/cms-post-modal/cms-post-modal.less | 106 - .../detailed-view-dtsites-modal.controller.js | 100 - .../dtsite/detailed-view-dtsites-modal.html | 62 - .../vfc/detailed-view-vfc-modal.controller.js | 124 - .../detailed-view/vfc/detailed-view-vfc-modal.html | 100 - .../detailed-view/vfc/detailed-view-vfc-modal.less | 68 - .../main/modals/feedback/feedback.controller.js | 82 - .../app/main/modals/feedback/feedback.html | 57 - .../app/main/modals/feedback/feedback.less | 44 - .../general-log-modal.controller.js | 63 - .../general-log-modal/general-log-modal.html | 45 - .../general-log-modal/general-log-modal.less | 72 - .../general-prompt-modal.controller.js | 74 - .../general-prompt-modal/general-prompt-modal.html | 52 - .../general-prompt-modal/general-prompt-modal.less | 151 - .../modals/next-steps/next-steps.controller.js | 278 - .../app/main/modals/next-steps/next-steps.html | 138 - .../app/main/modals/next-steps/next-steps.less | 307 - .../select-el-modal/select-el-modal.controller.js | 78 - .../modals/select-el-modal/select-el-modal.html | 56 - .../modals/select-el-modal/select-el-modal.less | 54 - .../set-eng-stage-modal.controller.js | 63 - .../modals/set-eng-stage/set-eng-stage-modal.html | 49 - .../modals/set-eng-stage/set-eng-stage-modal.less | 135 - .../modals/set-eng-stage/set_eng_stage_modal.html | 58 - .../app/main/modals/status/status.controller.js | 125 - d2ice.att.io/app/main/modals/status/status.html | 59 - d2ice.att.io/app/main/modals/status/status.less | 44 - .../change-lab-entry-date.controller.js | 78 - .../target-lab-entry/change-lab-entry-date.html | 55 - .../target-lab-entry/change-lab-entry-date.less | 49 - .../update-engagement-status-modal.controller.js | 73 - .../update-engagement-status-modal.html | 97 - .../update-engagement-status-modal.less | 61 - ...led-view-validation-details-modal.controller.js | 202 - .../detailed-view-validation-details-modal.html | 101 - .../detailed-view-validation-details-modal.less | 49 - d2ice.att.io/app/robots.txt | 4 - d2ice.att.io/app/services/cache.service.js | 89 - d2ice.att.io/app/services/checklist.service.js | 213 - d2ice.att.io/app/services/cms.service.js | 162 - d2ice.att.io/app/services/dtsite.service.js | 100 - d2ice.att.io/app/services/feedback.service.js | 63 - d2ice.att.io/app/services/localstorage.service.js | 63 - .../app/services/sessionStorage.service.js | 65 - d2ice.att.io/app/services/status.service.js | 87 - d2ice.att.io/app/services/steps.service.js | 162 - d2ice.att.io/app/services/toast.service.js | 92 - d2ice.att.io/app/services/users.service.js | 322 - d2ice.att.io/app/services/vf.service.js | 403 - d2ice.att.io/app/services/vfc.service.js | 99 - d2ice.att.io/app/styles/buttons.less | 38 - d2ice.att.io/app/styles/fonts.less | 110 - .../styles/fonts/ClearviewATT/ClearviewATT-Bd.eot | Bin 92160 -> 0 bytes .../styles/fonts/ClearviewATT/ClearviewATT-Bd.svg | 424 - .../styles/fonts/ClearviewATT/ClearviewATT-Bd.ttf | Bin 93916 -> 0 bytes .../styles/fonts/ClearviewATT/ClearviewATT-Bd.woff | Bin 42192 -> 0 bytes .../fonts/ClearviewATT/ClearviewATT-BdIt.eot | Bin 104184 -> 0 bytes .../fonts/ClearviewATT/ClearviewATT-BdIt.svg | 425 - .../fonts/ClearviewATT/ClearviewATT-BdIt.ttf | Bin 105932 -> 0 bytes .../fonts/ClearviewATT/ClearviewATT-BdIt.woff | Bin 46444 -> 0 bytes .../styles/fonts/ClearviewATT/ClearviewATT-Bk.eot | Bin 86088 -> 0 bytes .../styles/fonts/ClearviewATT/ClearviewATT-Bk.svg | 425 - .../styles/fonts/ClearviewATT/ClearviewATT-Bk.ttf | Bin 88696 -> 0 bytes .../styles/fonts/ClearviewATT/ClearviewATT-Bk.woff | Bin 39280 -> 0 bytes .../fonts/ClearviewATT/ClearviewATT-BkIt.eot | Bin 104224 -> 0 bytes .../fonts/ClearviewATT/ClearviewATT-BkIt.svg | 425 - .../fonts/ClearviewATT/ClearviewATT-BkIt.ttf | Bin 105972 -> 0 bytes .../fonts/ClearviewATT/ClearviewATT-BkIt.woff | Bin 46676 -> 0 bytes .../styles/fonts/ClearviewATT/ClearviewATT-Lt.eot | Bin 89640 -> 0 bytes .../styles/fonts/ClearviewATT/ClearviewATT-Lt.svg | 425 - .../styles/fonts/ClearviewATT/ClearviewATT-Lt.ttf | Bin 92288 -> 0 bytes .../styles/fonts/ClearviewATT/ClearviewATT-Lt.woff | Bin 40332 -> 0 bytes .../fonts/ClearviewATT/ClearviewATT-LtIt.eot | Bin 108396 -> 0 bytes .../fonts/ClearviewATT/ClearviewATT-LtIt.svg | 424 - .../fonts/ClearviewATT/ClearviewATT-LtIt.ttf | Bin 110192 -> 0 bytes .../fonts/ClearviewATT/ClearviewATT-LtIt.woff | Bin 48120 -> 0 bytes .../styles/fonts/OmnesATT/AT&T Variation ID.tab | 9 - .../fonts/OmnesATT/OmnesATTW02BoldItalic.eot | Bin 31322 -> 0 bytes .../fonts/OmnesATT/OmnesATTW02BoldItalic.svg | 3671 -------- .../fonts/OmnesATT/OmnesATTW02BoldItalic.ttf | Bin 68660 -> 0 bytes .../fonts/OmnesATT/OmnesATTW02BoldItalic.woff | Bin 35986 -> 0 bytes .../app/styles/fonts/OmnesATT/Omnes_ATTW02.eot | Bin 30321 -> 0 bytes .../app/styles/fonts/OmnesATT/Omnes_ATTW02.svg | 3694 -------- .../app/styles/fonts/OmnesATT/Omnes_ATTW02.ttf | Bin 71692 -> 0 bytes .../app/styles/fonts/OmnesATT/Omnes_ATTW02.woff | Bin 35610 -> 0 bytes .../app/styles/fonts/OmnesATT/Omnes_ATTW02Bold.eot | Bin 32077 -> 0 bytes .../app/styles/fonts/OmnesATT/Omnes_ATTW02Bold.svg | 4365 --------- .../app/styles/fonts/OmnesATT/Omnes_ATTW02Bold.ttf | Bin 71564 -> 0 bytes .../styles/fonts/OmnesATT/Omnes_ATTW02Bold.woff | Bin 37149 -> 0 bytes .../styles/fonts/OmnesATT/Omnes_ATTW02Italic.eot | Bin 32079 -> 0 bytes .../styles/fonts/OmnesATT/Omnes_ATTW02Italic.svg | 3799 -------- .../styles/fonts/OmnesATT/Omnes_ATTW02Italic.ttf | Bin 76564 -> 0 bytes .../styles/fonts/OmnesATT/Omnes_ATTW02Italic.woff | Bin 37872 -> 0 bytes .../styles/fonts/OmnesATT/Omnes_ATTW02Light.eot | Bin 32072 -> 0 bytes .../styles/fonts/OmnesATT/Omnes_ATTW02Light.svg | 3872 -------- .../styles/fonts/OmnesATT/Omnes_ATTW02Light.ttf | Bin 73968 -> 0 bytes .../styles/fonts/OmnesATT/Omnes_ATTW02Light.woff | Bin 37342 -> 0 bytes .../fonts/OmnesATT/Omnes_ATTW02LightItalic.eot | Bin 30983 -> 0 bytes .../fonts/OmnesATT/Omnes_ATTW02LightItalic.svg | 3030 ------- .../fonts/OmnesATT/Omnes_ATTW02LightItalic.ttf | Bin 70088 -> 0 bytes .../fonts/OmnesATT/Omnes_ATTW02LightItalic.woff | Bin 36261 -> 0 bytes .../styles/fonts/OmnesATT/Omnes_ATTW02Medium.eot | Bin 28695 -> 0 bytes .../styles/fonts/OmnesATT/Omnes_ATTW02Medium.svg | 2473 ------ .../styles/fonts/OmnesATT/Omnes_ATTW02Medium.ttf | Bin 65152 -> 0 bytes .../styles/fonts/OmnesATT/Omnes_ATTW02Medium.woff | Bin 33641 -> 0 bytes .../fonts/OmnesATT/Omnes_ATTW02MediumItalic.eot | Bin 33730 -> 0 bytes .../fonts/OmnesATT/Omnes_ATTW02MediumItalic.svg | 3837 -------- .../fonts/OmnesATT/Omnes_ATTW02MediumItalic.ttf | Bin 77508 -> 0 bytes .../fonts/OmnesATT/Omnes_ATTW02MediumItalic.woff | Bin 39182 -> 0 bytes .../app/styles/fonts/OmnesATT/demo-async.htm | 169 - d2ice.att.io/app/styles/fonts/OmnesATT/demo.htm | 155 - d2ice.att.io/app/styles/form.less | 54 - d2ice.att.io/app/styles/global.less | 174 - d2ice.att.io/app/styles/images/Collaborate.png | Bin 6592 -> 0 bytes d2ice.att.io/app/styles/images/Incubate.png | Bin 8136 -> 0 bytes d2ice.att.io/app/styles/images/Validate.png | Bin 6803 -> 0 bytes d2ice.att.io/app/styles/images/actions-sprite.png | Bin 1344 -> 0 bytes d2ice.att.io/app/styles/images/btn1.png | Bin 946 -> 0 bytes d2ice.att.io/app/styles/images/btn2.png | Bin 1029 -> 0 bytes d2ice.att.io/app/styles/images/btn3.png | Bin 1101 -> 0 bytes d2ice.att.io/app/styles/images/btnX.png | Bin 717 -> 0 bytes .../app/styles/images/d2sandbox_logos-150x30.png | Bin 2452 -> 0 bytes .../styles/images/d2sandbox_logos_color-150x30.png | Bin 2822 -> 0 bytes d2ice.att.io/app/styles/images/flags.png | Bin 69270 -> 0 bytes d2ice.att.io/app/styles/images/flags@2x.png | Bin 173609 -> 0 bytes .../app/styles/images/home_bg1-1920x1138.jpg | Bin 217394 -> 0 bytes d2ice.att.io/app/styles/images/icons-sprite-v2.png | Bin 20020 -> 0 bytes d2ice.att.io/app/styles/images/icons-sprite-v3.png | Bin 21279 -> 0 bytes d2ice.att.io/app/styles/images/icons-sprite-v4.png | Bin 27349 -> 0 bytes d2ice.att.io/app/styles/images/icons-sprite-v5.png | Bin 28452 -> 0 bytes d2ice.att.io/app/styles/images/icons-sprite.png | Bin 3419 -> 0 bytes d2ice.att.io/app/styles/images/profiles-sprite.png | Bin 9805 -> 0 bytes d2ice.att.io/app/styles/images/steps-sprite.png | Bin 557 -> 0 bytes d2ice.att.io/app/styles/images/top.jpg | Bin 71809 -> 0 bytes d2ice.att.io/app/styles/images/wait.gif | Bin 723 -> 0 bytes d2ice.att.io/app/styles/mixins.less | 381 - d2ice.att.io/app/styles/modals.less | 102 - d2ice.att.io/app/styles/sprite.less | 128 - d2ice.att.io/app/styles/table-flex.less | 77 - d2ice.att.io/app/styles/variables.less | 122 - d2ice.att.io/app/welcome/index.html | 50 - d2ice.att.io/app/welcome/welcome.controller.js | 58 - d2ice.att.io/app/welcome/welcome.html | 114 - d2ice.att.io/app/welcome/welcome.less | 208 - d2ice.att.io/app/welcome/welcome.module.js | 63 - d2ice.att.io/bower.json | 56 - d2ice.att.io/dist/favicon.png | Bin 6364 -> 0 bytes d2ice.att.io/dist/fonts/FontAwesome.otf | Bin 134808 -> 0 bytes d2ice.att.io/dist/fonts/fontawesome-webfont.eot | Bin 165742 -> 0 bytes d2ice.att.io/dist/fonts/fontawesome-webfont.svg | 2671 ------ d2ice.att.io/dist/fonts/fontawesome-webfont.ttf | Bin 165548 -> 0 bytes d2ice.att.io/dist/fonts/fontawesome-webfont.woff | Bin 98024 -> 0 bytes d2ice.att.io/dist/fonts/fontawesome-webfont.woff2 | Bin 77160 -> 0 bytes .../dist/fonts/glyphicons-halflings-regular.eot | Bin 20335 -> 0 bytes .../dist/fonts/glyphicons-halflings-regular.svg | 229 - .../dist/fonts/glyphicons-halflings-regular.ttf | Bin 41280 -> 0 bytes .../dist/fonts/glyphicons-halflings-regular.woff | Bin 23320 -> 0 bytes d2ice.att.io/dist/index.html | 86 - d2ice.att.io/dist/locales/en/translation.json | 12 - d2ice.att.io/dist/robots.txt | 4 - d2ice.att.io/dist/scripts/scripts.c1bed7e7.js | 14 - d2ice.att.io/dist/scripts/vendor.fa730fcd.js | 53 - .../styles/fonts/ClearviewATT/ClearviewATT-Bd.eot | Bin 92160 -> 0 bytes .../styles/fonts/ClearviewATT/ClearviewATT-Bd.svg | 424 - .../styles/fonts/ClearviewATT/ClearviewATT-Bd.ttf | Bin 93916 -> 0 bytes .../styles/fonts/ClearviewATT/ClearviewATT-Bd.woff | Bin 42192 -> 0 bytes .../fonts/ClearviewATT/ClearviewATT-BdIt.eot | Bin 104184 -> 0 bytes .../fonts/ClearviewATT/ClearviewATT-BdIt.svg | 425 - .../fonts/ClearviewATT/ClearviewATT-BdIt.ttf | Bin 105932 -> 0 bytes .../fonts/ClearviewATT/ClearviewATT-BdIt.woff | Bin 46444 -> 0 bytes .../styles/fonts/ClearviewATT/ClearviewATT-Bk.eot | Bin 86088 -> 0 bytes .../styles/fonts/ClearviewATT/ClearviewATT-Bk.svg | 425 - .../styles/fonts/ClearviewATT/ClearviewATT-Bk.ttf | Bin 88696 -> 0 bytes .../styles/fonts/ClearviewATT/ClearviewATT-Bk.woff | Bin 39280 -> 0 bytes .../fonts/ClearviewATT/ClearviewATT-BkIt.eot | Bin 104224 -> 0 bytes .../fonts/ClearviewATT/ClearviewATT-BkIt.svg | 425 - .../fonts/ClearviewATT/ClearviewATT-BkIt.ttf | Bin 105972 -> 0 bytes .../fonts/ClearviewATT/ClearviewATT-BkIt.woff | Bin 46676 -> 0 bytes .../styles/fonts/ClearviewATT/ClearviewATT-Lt.eot | Bin 89640 -> 0 bytes .../styles/fonts/ClearviewATT/ClearviewATT-Lt.svg | 425 - .../styles/fonts/ClearviewATT/ClearviewATT-Lt.ttf | Bin 92288 -> 0 bytes .../styles/fonts/ClearviewATT/ClearviewATT-Lt.woff | Bin 40332 -> 0 bytes .../fonts/ClearviewATT/ClearviewATT-LtIt.eot | Bin 108396 -> 0 bytes .../fonts/ClearviewATT/ClearviewATT-LtIt.svg | 424 - .../fonts/ClearviewATT/ClearviewATT-LtIt.ttf | Bin 110192 -> 0 bytes .../fonts/ClearviewATT/ClearviewATT-LtIt.woff | Bin 48120 -> 0 bytes .../styles/fonts/OmnesATT/AT&T Variation ID.tab | 9 - .../fonts/OmnesATT/OmnesATTW02BoldItalic.eot | Bin 31322 -> 0 bytes .../fonts/OmnesATT/OmnesATTW02BoldItalic.svg | 3671 -------- .../fonts/OmnesATT/OmnesATTW02BoldItalic.ttf | Bin 68660 -> 0 bytes .../fonts/OmnesATT/OmnesATTW02BoldItalic.woff | Bin 35986 -> 0 bytes .../dist/styles/fonts/OmnesATT/Omnes_ATTW02.eot | Bin 30321 -> 0 bytes .../dist/styles/fonts/OmnesATT/Omnes_ATTW02.svg | 3694 -------- .../dist/styles/fonts/OmnesATT/Omnes_ATTW02.ttf | Bin 71692 -> 0 bytes .../dist/styles/fonts/OmnesATT/Omnes_ATTW02.woff | Bin 35610 -> 0 bytes .../styles/fonts/OmnesATT/Omnes_ATTW02Bold.eot | Bin 32077 -> 0 bytes .../styles/fonts/OmnesATT/Omnes_ATTW02Bold.svg | 4365 --------- .../styles/fonts/OmnesATT/Omnes_ATTW02Bold.ttf | Bin 71564 -> 0 bytes .../styles/fonts/OmnesATT/Omnes_ATTW02Bold.woff | Bin 37149 -> 0 bytes .../styles/fonts/OmnesATT/Omnes_ATTW02Italic.eot | Bin 32079 -> 0 bytes .../styles/fonts/OmnesATT/Omnes_ATTW02Italic.svg | 3799 -------- .../styles/fonts/OmnesATT/Omnes_ATTW02Italic.ttf | Bin 76564 -> 0 bytes .../styles/fonts/OmnesATT/Omnes_ATTW02Italic.woff | Bin 37872 -> 0 bytes .../styles/fonts/OmnesATT/Omnes_ATTW02Light.eot | Bin 32072 -> 0 bytes .../styles/fonts/OmnesATT/Omnes_ATTW02Light.svg | 3872 -------- .../styles/fonts/OmnesATT/Omnes_ATTW02Light.ttf | Bin 73968 -> 0 bytes .../styles/fonts/OmnesATT/Omnes_ATTW02Light.woff | Bin 37342 -> 0 bytes .../fonts/OmnesATT/Omnes_ATTW02LightItalic.eot | Bin 30983 -> 0 bytes .../fonts/OmnesATT/Omnes_ATTW02LightItalic.svg | 3030 ------- .../fonts/OmnesATT/Omnes_ATTW02LightItalic.ttf | Bin 70088 -> 0 bytes .../fonts/OmnesATT/Omnes_ATTW02LightItalic.woff | Bin 36261 -> 0 bytes .../styles/fonts/OmnesATT/Omnes_ATTW02Medium.eot | Bin 28695 -> 0 bytes .../styles/fonts/OmnesATT/Omnes_ATTW02Medium.svg | 2473 ------ .../styles/fonts/OmnesATT/Omnes_ATTW02Medium.ttf | Bin 65152 -> 0 bytes .../styles/fonts/OmnesATT/Omnes_ATTW02Medium.woff | Bin 33641 -> 0 bytes .../fonts/OmnesATT/Omnes_ATTW02MediumItalic.eot | Bin 33730 -> 0 bytes .../fonts/OmnesATT/Omnes_ATTW02MediumItalic.svg | 3837 -------- .../fonts/OmnesATT/Omnes_ATTW02MediumItalic.ttf | Bin 77508 -> 0 bytes .../fonts/OmnesATT/Omnes_ATTW02MediumItalic.woff | Bin 39182 -> 0 bytes .../dist/styles/fonts/OmnesATT/demo-async.htm | 169 - d2ice.att.io/dist/styles/fonts/OmnesATT/demo.htm | 155 - d2ice.att.io/dist/styles/images/Collaborate.png | Bin 2805 -> 0 bytes d2ice.att.io/dist/styles/images/Incubate.png | Bin 4329 -> 0 bytes d2ice.att.io/dist/styles/images/Validate.png | Bin 3999 -> 0 bytes d2ice.att.io/dist/styles/images/actions-sprite.png | Bin 765 -> 0 bytes d2ice.att.io/dist/styles/images/btn1.png | Bin 804 -> 0 bytes d2ice.att.io/dist/styles/images/btn2.png | Bin 908 -> 0 bytes d2ice.att.io/dist/styles/images/btn3.png | Bin 963 -> 0 bytes d2ice.att.io/dist/styles/images/btnX.png | Bin 358 -> 0 bytes .../dist/styles/images/d2sandbox_logos-150x30.png | Bin 2287 -> 0 bytes .../styles/images/d2sandbox_logos_color-150x30.png | Bin 2442 -> 0 bytes d2ice.att.io/dist/styles/images/flags.png | Bin 69270 -> 0 bytes d2ice.att.io/dist/styles/images/flags@2x.png | Bin 173609 -> 0 bytes .../dist/styles/images/home_bg1-1920x1138.jpg | Bin 217394 -> 0 bytes .../dist/styles/images/icons-sprite-v2.png | Bin 12441 -> 0 bytes .../dist/styles/images/icons-sprite-v3.png | Bin 13201 -> 0 bytes .../dist/styles/images/icons-sprite-v4.png | Bin 17042 -> 0 bytes .../dist/styles/images/icons-sprite-v5.png | Bin 17631 -> 0 bytes d2ice.att.io/dist/styles/images/icons-sprite.png | Bin 3200 -> 0 bytes .../dist/styles/images/profiles-sprite.png | Bin 5742 -> 0 bytes d2ice.att.io/dist/styles/images/steps-sprite.png | Bin 331 -> 0 bytes d2ice.att.io/dist/styles/images/top.jpg | Bin 66286 -> 0 bytes d2ice.att.io/dist/styles/images/wait.gif | Bin 698 -> 0 bytes d2ice.att.io/dist/styles/main.e3dcf1a7.css | 1 - d2ice.att.io/dist/styles/vendor.120f37b4.css | 21 - d2ice.att.io/dist/welcome/index.html | 50 - d2ice.att.io/dist/welcome/welcome.controller.js | 58 - d2ice.att.io/dist/welcome/welcome.html | 114 - d2ice.att.io/dist/welcome/welcome.less | 208 - d2ice.att.io/dist/welcome/welcome.module.js | 63 - d2ice.att.io/package.json | 46 - d2ice.att.io/test/.jshintrc | 18 - d2ice.att.io/test/spec/controllers/main.js | 61 - pom.xml | 122 + tox.ini | 24 + vvp/Gruntfile.js | 714 ++ vvp/README.md | 75 + vvp/app/app.config.js | 60 + vvp/app/app.constants.js | 75 + vvp/app/app.controller.js | 74 + vvp/app/app.env.js | 7 + vvp/app/app.module.js | 110 + vvp/app/app.route.js | 97 + vvp/app/app.run.js | 244 + .../core/js/jquery.nicescroll-master/MIT.LICENSE | 55 + vvp/app/core/js/jquery.nicescroll-master/README.md | 182 + .../core/js/jquery.nicescroll-master/bower.json | 15 + .../jquery.nicescroll-master/changelog_3.6.8.txt | 69 + .../dist/jquery.nicescroll.min.js | 158 + .../js/jquery.nicescroll-master/dist/zoomico.png | Bin 0 -> 393 bytes .../jquery.nicescroll-master/jquery.nicescroll.js | 3755 ++++++++ .../jquery.nicescroll.min.js | 158 + .../core/js/jquery.nicescroll-master/package.json | 76 + .../core/js/jquery.nicescroll-master/zoomico.png | Bin 0 -> 393 bytes vvp/app/core/layouts/dashboard/dashboard.html | 50 + vvp/app/core/layouts/dashboard/dashboard.less | 65 + .../full-page-with-header.html | 79 + .../full-page-with-header.less | 112 + .../account.navigation.controller.js | 63 + .../layouts/account-navigation/navigation.html | 48 + .../layouts/account-navigation/navigation.less | 75 + .../admin.navigation.controller.js | 93 + .../layouts/admin-navigation/navigation.html | 64 + .../layouts/admin-navigation/navigation.less | 133 + .../documentation.navigation.controller.js | 100 + .../documentation-navigation/navigation.html | 85 + .../documentation-navigation/navigation.less | 110 + .../layouts/horizontal-navigation/navigation.html | 197 + .../layouts/horizontal-navigation/navigation.less | 208 + vvp/app/core/navigation/navigation.controller.js | 456 + vvp/app/core/navigation/navigation.module.js | 51 + .../layouts/horizontal-navigation/toolbar.html | 75 + .../layouts/horizontal-navigation/toolbar.less | 132 + vvp/app/core/toolbar/toolbar.controller.js | 94 + vvp/app/core/toolbar/toolbar.module.js | 51 + .../ice-announcement/ice-announcement.directive.js | 91 + .../ice-announcement/ice-announcement.html | 44 + .../directives/ice-loader/ice-loader.directive.js | 96 + vvp/app/directives/ice-loader/ice-loader.html | 39 + vvp/app/directives/ice-loader/ice-loader.less | 52 + .../ice-news-and-announcement.directive.js | 87 + .../ice-news-and-announcement.html | 51 + .../ice-news-and-announcement.less | 80 + .../directives/ice-toast/ice-toast.directive.js | 76 + vvp/app/directives/ice-toast/ice-toast.html | 44 + vvp/app/directives/ice-toast/ice-toast.less | 48 + .../ice-tooltip/ice-tooltip.directive.js | 69 + vvp/app/directives/ice-tooltip/ice-tooltip.html | 44 + vvp/app/directives/ice-tooltip/ice-tooltip.less | 82 + .../notifications/notifications.directive.js | 130 + vvp/app/directives/progress/progress.directive.js | 211 + vvp/app/directives/progress/progress.html | 82 + vvp/app/directives/progress/progress.less | 184 + .../step-stages/step-stages.directive.js | 172 + vvp/app/directives/step-stages/step-stages.html | 44 + vvp/app/directives/step-stages/step-stages.less | 75 + vvp/app/favicon.png | Bin 0 -> 6364 bytes vvp/app/filters/capitalize.filter.js | 52 + .../customDocumentationPageSearch.filter.js | 58 + vvp/app/filters/customVFSearchFilter.filter.js | 62 + vvp/app/filters/date2.filter.js | 60 + vvp/app/filters/doesExists.filter.js | 52 + vvp/app/filters/htmlspecialchars.filter.js | 62 + vvp/app/filters/htmlstylespan.filter.js | 56 + vvp/app/filters/trusted.filter.js | 49 + vvp/app/index.html | 263 + vvp/app/interceptors/httpInterceptors.js | 95 + vvp/app/locales/en/translation.json | 8 + .../activation/activate/activateUser.controller.js | 60 + vvp/app/main/activation/activate/activateUser.html | 39 + .../activation/activate/activateUser.module.js | 58 + .../addVendorContact.controller.js | 111 + .../addVendorContact/addVendorContact.html | 111 + .../addVendorContact/addVendorContact.less | 82 + .../addVendorContact/addVendorContact.module.js | 67 + vvp/app/main/activation/addVf/addVf.controller.js | 277 + vvp/app/main/activation/addVf/addVf.html | 130 + vvp/app/main/activation/addVf/addVf.less | 176 + vvp/app/main/activation/addVf/addVf.module.js | 67 + .../activation/contactUs/contactUs.controller.js | 57 + vvp/app/main/activation/contactUs/contactUs.html | 53 + vvp/app/main/activation/contactUs/contactUs.less | 59 + .../main/activation/contactUs/contactUs.module.js | 67 + .../inviteMembers/inviteMembers.controller.js | 97 + .../activation/inviteMembers/inviteMembers.html | 72 + .../activation/inviteMembers/inviteMembers.less | 86 + .../inviteMembers/inviteMembers.module.js | 67 + vvp/app/main/activation/login/login.controller.js | 119 + vvp/app/main/activation/login/login.html | 90 + vvp/app/main/activation/login/login.less | 109 + vvp/app/main/activation/login/login.module.js | 68 + .../activation/register/register.controller.js | 122 + vvp/app/main/activation/register/register.html | 127 + vvp/app/main/activation/register/register.less | 100 + .../main/activation/register/register.module.js | 67 + .../resendActivation.controller.js | 79 + .../resendActivation/resendActivation.html | 61 + .../resendActivation/resendActivation.less | 67 + .../resendActivation/resendActivation.module.js | 68 + .../resetPassword/resetPassword.controller.js | 95 + .../activation/resetPassword/resetPassword.html | 64 + .../activation/resetPassword/resetPassword.less | 84 + .../resetPassword/resetPassword.module.js | 68 + vvp/app/main/activation/terms/terms.controller.js | 56 + vvp/app/main/activation/terms/terms.html | 41 + vvp/app/main/activation/terms/terms.less | 65 + vvp/app/main/activation/terms/terms.module.js | 68 + .../updatePassword/updatePassword.controller.js | 95 + .../activation/updatePassword/updatePassword.html | 76 + .../activation/updatePassword/updatePassword.less | 85 + .../updatePassword/updatePassword.module.js | 68 + vvp/app/main/admin/admin.module.js | 89 + .../checklist-template.controller.js | 241 + .../checklist-template/checklist-template.html | 174 + .../checklist-template/checklist-template.less | 552 ++ .../main/dashboard/account/account.controller.js | 150 + vvp/app/main/dashboard/account/account.html | 159 + vvp/app/main/dashboard/account/account.less | 215 + vvp/app/main/dashboard/account/account.module.js | 85 + .../notifications/notifications.controller.js | 140 + .../account/notifications/notifications.html | 60 + .../account/notifications/notifications.less | 348 + .../user-profile-settings.controller.js | 98 + .../user-profile-settings.html | 66 + .../user-profile-settings.less | 45 + .../dashboard/checklist/checklist.controller.js | 445 + vvp/app/main/dashboard/checklist/checklist.html | 117 + vvp/app/main/dashboard/checklist/checklist.less | 826 ++ .../dashboard/dashboard/dashboard.controller.js | 235 + vvp/app/main/dashboard/dashboard/dashboard.html | 111 + vvp/app/main/dashboard/dashboard/dashboard.less | 189 + .../detailed-view/detailed-view.controller.js | 245 + .../dashboard/detailed-view/detailed-view.html | 109 + .../dashboard/detailed-view/detailed-view.less | 400 + .../get-started-modal.directive.js | 308 + .../get-started-modal/get-started-modal.html | 38 + .../get-started-modal/get-started-modal.less | 47 + .../get-started-modal/get-started-modal.module.js | 48 + .../get-started-modal/wizard/wizard-container.html | 192 + .../dashboard/get-started-modal/wizard/wizard.less | 255 + vvp/app/main/dashboard/main.module.js | 107 + vvp/app/main/dashboard/main/main.html | 172 + .../main/dashboard/overview/overview.controller.js | 833 ++ vvp/app/main/dashboard/overview/overview.html | 212 + vvp/app/main/dashboard/overview/overview.less | 575 ++ .../main/documentation/documentation.controller.js | 74 + vvp/app/main/documentation/documentation.html | 47 + vvp/app/main/documentation/documentation.less | 96 + vvp/app/main/documentation/documentation.module.js | 74 + .../sidebar/documentation.sidebar.html | 41 + .../sidebar/documentation.sidebar.less | 61 + vvp/app/main/errors/404.html | 190 + vvp/app/main/main.controller.js | 60 + .../archive-engagement-modal.controller.js | 66 + .../archive-engagement-modal.html | 56 + .../archive-engagement-modal.less | 54 + .../main/modals/audit-log/audit-log.controller.js | 95 + vvp/app/main/modals/audit-log/audit-log.html | 76 + vvp/app/main/modals/audit-log/audit-log.less | 49 + .../modals/change-date/change-date.controller.js | 75 + vvp/app/main/modals/change-date/change-date.html | 62 + .../change-progress/change-progress.controller.js | 71 + .../modals/change-progress/change-progress.html | 65 + .../main/modals/checklist/checklist.controller.js | 238 + vvp/app/main/modals/checklist/checklist.html | 107 + .../state-approve-or-reject.controller.js | 105 + .../state-approve-or-reject.html | 58 + .../state-approve-or-reject.less | 173 + .../cms-post-modal/cms-post-modal.controller.js | 92 + .../main/modals/cms-post-modal/cms-post-modal.html | 55 + .../main/modals/cms-post-modal/cms-post-modal.less | 106 + .../detailed-view-dtsites-modal.controller.js | 100 + .../dtsite/detailed-view-dtsites-modal.html | 62 + .../vfc/detailed-view-vfc-modal.controller.js | 124 + .../detailed-view/vfc/detailed-view-vfc-modal.html | 100 + .../detailed-view/vfc/detailed-view-vfc-modal.less | 68 + .../main/modals/feedback/feedback.controller.js | 82 + vvp/app/main/modals/feedback/feedback.html | 57 + vvp/app/main/modals/feedback/feedback.less | 44 + .../general-log-modal.controller.js | 63 + .../general-log-modal/general-log-modal.html | 45 + .../general-log-modal/general-log-modal.less | 72 + .../general-prompt-modal.controller.js | 74 + .../general-prompt-modal/general-prompt-modal.html | 52 + .../general-prompt-modal/general-prompt-modal.less | 151 + .../modals/next-steps/next-steps.controller.js | 278 + vvp/app/main/modals/next-steps/next-steps.html | 138 + vvp/app/main/modals/next-steps/next-steps.less | 307 + .../select-el-modal/select-el-modal.controller.js | 78 + .../modals/select-el-modal/select-el-modal.html | 56 + .../modals/select-el-modal/select-el-modal.less | 54 + .../set-eng-stage-modal.controller.js | 63 + .../modals/set-eng-stage/set-eng-stage-modal.html | 49 + .../modals/set-eng-stage/set-eng-stage-modal.less | 135 + .../modals/set-eng-stage/set_eng_stage_modal.html | 58 + vvp/app/main/modals/status/status.controller.js | 125 + vvp/app/main/modals/status/status.html | 59 + vvp/app/main/modals/status/status.less | 44 + .../change-lab-entry-date.controller.js | 78 + .../target-lab-entry/change-lab-entry-date.html | 55 + .../target-lab-entry/change-lab-entry-date.less | 49 + .../update-engagement-status-modal.controller.js | 73 + .../update-engagement-status-modal.html | 97 + .../update-engagement-status-modal.less | 61 + ...led-view-validation-details-modal.controller.js | 202 + .../detailed-view-validation-details-modal.html | 101 + .../detailed-view-validation-details-modal.less | 49 + vvp/app/robots.txt | 42 + vvp/app/services/cache.service.js | 89 + vvp/app/services/checklist.service.js | 213 + vvp/app/services/cms.service.js | 162 + vvp/app/services/dtsite.service.js | 100 + vvp/app/services/feedback.service.js | 63 + vvp/app/services/localstorage.service.js | 63 + vvp/app/services/sessionStorage.service.js | 65 + vvp/app/services/status.service.js | 87 + vvp/app/services/steps.service.js | 162 + vvp/app/services/toast.service.js | 92 + vvp/app/services/users.service.js | 322 + vvp/app/services/vf.service.js | 403 + vvp/app/services/vfc.service.js | 99 + vvp/app/styles/app.css | 9291 ++++++++++++++++++++ vvp/app/styles/app.less | 101 + vvp/app/styles/buttons.less | 38 + vvp/app/styles/fonts.less | 83 + vvp/app/styles/form.less | 54 + vvp/app/styles/global.less | 174 + vvp/app/styles/images/Collaborate.png | Bin 0 -> 6592 bytes vvp/app/styles/images/Incubate.png | Bin 0 -> 8136 bytes vvp/app/styles/images/Validate.png | Bin 0 -> 6803 bytes vvp/app/styles/images/actions-sprite.png | Bin 0 -> 1344 bytes vvp/app/styles/images/btn1.png | Bin 0 -> 946 bytes vvp/app/styles/images/btn2.png | Bin 0 -> 1029 bytes vvp/app/styles/images/btn3.png | Bin 0 -> 1101 bytes vvp/app/styles/images/btnX.png | Bin 0 -> 717 bytes vvp/app/styles/images/d2sandbox_logos-150x30.png | Bin 0 -> 2452 bytes .../styles/images/d2sandbox_logos_color-150x30.png | Bin 0 -> 2822 bytes vvp/app/styles/images/flags.png | Bin 0 -> 69270 bytes vvp/app/styles/images/flags@2x.png | Bin 0 -> 173609 bytes vvp/app/styles/images/home_bg1-1920x1138.jpg | Bin 0 -> 217394 bytes vvp/app/styles/images/icons-sprite-v2.png | Bin 0 -> 20020 bytes vvp/app/styles/images/icons-sprite-v3.png | Bin 0 -> 21279 bytes vvp/app/styles/images/icons-sprite-v4.png | Bin 0 -> 27349 bytes vvp/app/styles/images/icons-sprite-v5.png | Bin 0 -> 28452 bytes vvp/app/styles/images/icons-sprite.png | Bin 0 -> 3419 bytes vvp/app/styles/images/profiles-sprite.png | Bin 0 -> 9805 bytes vvp/app/styles/images/steps-sprite.png | Bin 0 -> 557 bytes vvp/app/styles/images/top.jpg | Bin 0 -> 71809 bytes vvp/app/styles/images/wait.gif | Bin 0 -> 723 bytes vvp/app/styles/mixins.less | 381 + vvp/app/styles/modals.less | 102 + vvp/app/styles/sprite.less | 128 + vvp/app/styles/table-flex.less | 77 + vvp/app/styles/variables.less | 122 + vvp/app/welcome/index.html | 50 + vvp/app/welcome/welcome.controller.js | 58 + vvp/app/welcome/welcome.html | 114 + vvp/app/welcome/welcome.less | 208 + vvp/app/welcome/welcome.module.js | 63 + vvp/bower.json | 57 + vvp/bower_components | 1 + vvp/dist/favicon.png | Bin 0 -> 6364 bytes vvp/dist/fonts/FontAwesome.otf | Bin 0 -> 134808 bytes vvp/dist/fonts/fontawesome-webfont.eot | Bin 0 -> 165742 bytes vvp/dist/fonts/fontawesome-webfont.svg | 2671 ++++++ vvp/dist/fonts/fontawesome-webfont.ttf | Bin 0 -> 165548 bytes vvp/dist/fonts/fontawesome-webfont.woff | Bin 0 -> 98024 bytes vvp/dist/fonts/fontawesome-webfont.woff2 | Bin 0 -> 77160 bytes vvp/dist/fonts/glyphicons-halflings-regular.eot | Bin 0 -> 20335 bytes vvp/dist/fonts/glyphicons-halflings-regular.svg | 229 + vvp/dist/fonts/glyphicons-halflings-regular.ttf | Bin 0 -> 41280 bytes vvp/dist/fonts/glyphicons-halflings-regular.woff | Bin 0 -> 23320 bytes vvp/dist/index.html | 86 + vvp/dist/locales/en/translation.json | 8 + vvp/dist/robots.txt | 42 + vvp/dist/scripts/scripts.3e3147f7.js | 12 + vvp/dist/scripts/vendor.79ec8dc5.js | 51 + vvp/dist/styles/images/Collaborate.png | Bin 0 -> 2805 bytes vvp/dist/styles/images/Incubate.png | Bin 0 -> 4329 bytes vvp/dist/styles/images/Validate.png | Bin 0 -> 3999 bytes vvp/dist/styles/images/actions-sprite.png | Bin 0 -> 765 bytes vvp/dist/styles/images/btn1.png | Bin 0 -> 804 bytes vvp/dist/styles/images/btn2.png | Bin 0 -> 908 bytes vvp/dist/styles/images/btn3.png | Bin 0 -> 963 bytes vvp/dist/styles/images/btnX.png | Bin 0 -> 358 bytes vvp/dist/styles/images/d2sandbox_logos-150x30.png | Bin 0 -> 2287 bytes .../styles/images/d2sandbox_logos_color-150x30.png | Bin 0 -> 2442 bytes vvp/dist/styles/images/flags.png | Bin 0 -> 69270 bytes vvp/dist/styles/images/flags@2x.png | Bin 0 -> 173609 bytes vvp/dist/styles/images/home_bg1-1920x1138.jpg | Bin 0 -> 217394 bytes vvp/dist/styles/images/icons-sprite-v2.png | Bin 0 -> 12441 bytes vvp/dist/styles/images/icons-sprite-v3.png | Bin 0 -> 13201 bytes vvp/dist/styles/images/icons-sprite-v4.png | Bin 0 -> 17042 bytes vvp/dist/styles/images/icons-sprite-v5.png | Bin 0 -> 17631 bytes vvp/dist/styles/images/icons-sprite.png | Bin 0 -> 3200 bytes vvp/dist/styles/images/profiles-sprite.png | Bin 0 -> 5742 bytes vvp/dist/styles/images/steps-sprite.png | Bin 0 -> 331 bytes vvp/dist/styles/images/top.jpg | Bin 0 -> 66286 bytes vvp/dist/styles/images/wait.gif | Bin 0 -> 698 bytes vvp/dist/styles/main.9d00a9a6.css | 1 + vvp/dist/styles/vendor.26f2b1cc.css | 24 + vvp/dist/welcome/index.html | 50 + vvp/dist/welcome/welcome.controller.js | 58 + vvp/dist/welcome/welcome.html | 114 + vvp/dist/welcome/welcome.less | 208 + vvp/dist/welcome/welcome.module.js | 63 + vvp/package.json | 46 + vvp/test/spec/controllers/main.js | 61 + 755 files changed, 44932 insertions(+), 98664 deletions(-) create mode 100644 .maven-dockerignore mode change 100755 => 100644 Dockerfile mode change 100755 => 100644 LICENSE.TXT mode change 100755 => 100644 README.md delete mode 100755 d2ice.att.io/.bowerrc delete mode 100755 d2ice.att.io/.editorconfig delete mode 100755 d2ice.att.io/.gitattributes delete mode 100755 d2ice.att.io/.gitignore delete mode 100755 d2ice.att.io/.jscsrc delete mode 100755 d2ice.att.io/.jshintrc delete mode 100755 d2ice.att.io/.yo-rc.json delete mode 100755 d2ice.att.io/Gruntfile.js delete mode 100755 d2ice.att.io/README.md delete mode 100755 d2ice.att.io/app/.watch.me delete mode 100755 d2ice.att.io/app/app.config.js delete mode 100755 d2ice.att.io/app/app.constants.js delete mode 100755 d2ice.att.io/app/app.controller.js delete mode 100755 d2ice.att.io/app/app.module.js delete mode 100755 d2ice.att.io/app/app.route.js delete mode 100755 d2ice.att.io/app/app.run.js delete mode 100755 d2ice.att.io/app/core/js/jquery.nicescroll-master/MIT.LICENSE delete mode 100755 d2ice.att.io/app/core/js/jquery.nicescroll-master/README.md delete mode 100755 d2ice.att.io/app/core/js/jquery.nicescroll-master/bower.json delete mode 100755 d2ice.att.io/app/core/js/jquery.nicescroll-master/changelog_3.6.8.txt delete mode 100755 d2ice.att.io/app/core/js/jquery.nicescroll-master/dist/jquery.nicescroll.min.js delete mode 100755 d2ice.att.io/app/core/js/jquery.nicescroll-master/dist/zoomico.png delete mode 100755 d2ice.att.io/app/core/js/jquery.nicescroll-master/jquery.nicescroll.js delete mode 100755 d2ice.att.io/app/core/js/jquery.nicescroll-master/jquery.nicescroll.min.js delete mode 100755 d2ice.att.io/app/core/js/jquery.nicescroll-master/package.json delete mode 100755 d2ice.att.io/app/core/js/jquery.nicescroll-master/zoomico.png delete mode 100755 d2ice.att.io/app/core/layouts/dashboard/dashboard.html delete mode 100755 d2ice.att.io/app/core/layouts/dashboard/dashboard.less delete mode 100755 d2ice.att.io/app/core/layouts/full-page-with-header/full-page-with-header.html delete mode 100755 d2ice.att.io/app/core/layouts/full-page-with-header/full-page-with-header.less delete mode 100755 d2ice.att.io/app/core/navigation/layouts/account-navigation/account.navigation.controller.js delete mode 100755 d2ice.att.io/app/core/navigation/layouts/account-navigation/navigation.html delete mode 100755 d2ice.att.io/app/core/navigation/layouts/account-navigation/navigation.less delete mode 100755 d2ice.att.io/app/core/navigation/layouts/admin-navigation/admin.navigation.controller.js delete mode 100755 d2ice.att.io/app/core/navigation/layouts/admin-navigation/navigation.html delete mode 100755 d2ice.att.io/app/core/navigation/layouts/admin-navigation/navigation.less delete mode 100755 d2ice.att.io/app/core/navigation/layouts/documentation-navigation/documentation.navigation.controller.js delete mode 100755 d2ice.att.io/app/core/navigation/layouts/documentation-navigation/navigation.html delete mode 100755 d2ice.att.io/app/core/navigation/layouts/documentation-navigation/navigation.less delete mode 100755 d2ice.att.io/app/core/navigation/layouts/horizontal-navigation/navigation.html delete mode 100755 d2ice.att.io/app/core/navigation/layouts/horizontal-navigation/navigation.less delete mode 100755 d2ice.att.io/app/core/navigation/navigation.controller.js delete mode 100755 d2ice.att.io/app/core/navigation/navigation.module.js delete mode 100755 d2ice.att.io/app/core/toolbar/layouts/horizontal-navigation/toolbar.html delete mode 100755 d2ice.att.io/app/core/toolbar/layouts/horizontal-navigation/toolbar.less delete mode 100755 d2ice.att.io/app/core/toolbar/toolbar.controller.js delete mode 100755 d2ice.att.io/app/core/toolbar/toolbar.module.js delete mode 100755 d2ice.att.io/app/directives/ice-announcement/ice-announcement.directive.js delete mode 100755 d2ice.att.io/app/directives/ice-announcement/ice-announcement.html delete mode 100755 d2ice.att.io/app/directives/ice-loader/ice-loader.directive.js delete mode 100755 d2ice.att.io/app/directives/ice-loader/ice-loader.html delete mode 100755 d2ice.att.io/app/directives/ice-loader/ice-loader.less delete mode 100755 d2ice.att.io/app/directives/ice-news-and-announcement/ice-news-and-announcement.directive.js delete mode 100755 d2ice.att.io/app/directives/ice-news-and-announcement/ice-news-and-announcement.html delete mode 100755 d2ice.att.io/app/directives/ice-news-and-announcement/ice-news-and-announcement.less delete mode 100755 d2ice.att.io/app/directives/ice-toast/ice-toast.directive.js delete mode 100755 d2ice.att.io/app/directives/ice-toast/ice-toast.html delete mode 100755 d2ice.att.io/app/directives/ice-toast/ice-toast.less delete mode 100755 d2ice.att.io/app/directives/ice-tooltip/ice-tooltip.directive.js delete mode 100755 d2ice.att.io/app/directives/ice-tooltip/ice-tooltip.html delete mode 100755 d2ice.att.io/app/directives/ice-tooltip/ice-tooltip.less delete mode 100755 d2ice.att.io/app/directives/notifications/notifications.directive.js delete mode 100755 d2ice.att.io/app/directives/progress/progress.directive.js delete mode 100755 d2ice.att.io/app/directives/progress/progress.html delete mode 100755 d2ice.att.io/app/directives/progress/progress.less delete mode 100755 d2ice.att.io/app/directives/step-stages/step-stages.directive.js delete mode 100755 d2ice.att.io/app/directives/step-stages/step-stages.html delete mode 100755 d2ice.att.io/app/directives/step-stages/step-stages.less delete mode 100755 d2ice.att.io/app/favicon.png delete mode 100755 d2ice.att.io/app/filters/capitalize.filter.js delete mode 100755 d2ice.att.io/app/filters/customDocumentationPageSearch.filter.js delete mode 100755 d2ice.att.io/app/filters/customVFSearchFilter.filter.js delete mode 100755 d2ice.att.io/app/filters/date2.filter.js delete mode 100755 d2ice.att.io/app/filters/doesExists.filter.js delete mode 100755 d2ice.att.io/app/filters/htmlspecialchars.filter.js delete mode 100755 d2ice.att.io/app/filters/htmlstylespan.filter.js delete mode 100755 d2ice.att.io/app/filters/trusted.filter.js delete mode 100755 d2ice.att.io/app/index.html delete mode 100755 d2ice.att.io/app/interceptors/httpInterceptors.js delete mode 100755 d2ice.att.io/app/locales/en/translation.json delete mode 100755 d2ice.att.io/app/main/activation/activate/activateUser.controller.js delete mode 100755 d2ice.att.io/app/main/activation/activate/activateUser.html delete mode 100755 d2ice.att.io/app/main/activation/activate/activateUser.module.js delete mode 100755 d2ice.att.io/app/main/activation/addVendorContact/addVendorContact.controller.js delete mode 100755 d2ice.att.io/app/main/activation/addVendorContact/addVendorContact.html delete mode 100755 d2ice.att.io/app/main/activation/addVendorContact/addVendorContact.less delete mode 100755 d2ice.att.io/app/main/activation/addVendorContact/addVendorContact.module.js delete mode 100755 d2ice.att.io/app/main/activation/addVf/addVf.controller.js delete mode 100755 d2ice.att.io/app/main/activation/addVf/addVf.html delete mode 100755 d2ice.att.io/app/main/activation/addVf/addVf.less delete mode 100755 d2ice.att.io/app/main/activation/addVf/addVf.module.js delete mode 100755 d2ice.att.io/app/main/activation/contactUs/contactUs.controller.js delete mode 100755 d2ice.att.io/app/main/activation/contactUs/contactUs.html delete mode 100755 d2ice.att.io/app/main/activation/contactUs/contactUs.less delete mode 100755 d2ice.att.io/app/main/activation/contactUs/contactUs.module.js delete mode 100755 d2ice.att.io/app/main/activation/inviteMembers/inviteMembers.controller.js delete mode 100755 d2ice.att.io/app/main/activation/inviteMembers/inviteMembers.html delete mode 100755 d2ice.att.io/app/main/activation/inviteMembers/inviteMembers.less delete mode 100755 d2ice.att.io/app/main/activation/inviteMembers/inviteMembers.module.js delete mode 100755 d2ice.att.io/app/main/activation/login/login.controller.js delete mode 100755 d2ice.att.io/app/main/activation/login/login.html delete mode 100755 d2ice.att.io/app/main/activation/login/login.less delete mode 100755 d2ice.att.io/app/main/activation/login/login.module.js delete mode 100755 d2ice.att.io/app/main/activation/register/register.controller.js delete mode 100755 d2ice.att.io/app/main/activation/register/register.html delete mode 100755 d2ice.att.io/app/main/activation/register/register.less delete mode 100755 d2ice.att.io/app/main/activation/register/register.module.js delete mode 100755 d2ice.att.io/app/main/activation/resendActivation/resendActivation.controller.js delete mode 100755 d2ice.att.io/app/main/activation/resendActivation/resendActivation.html delete mode 100755 d2ice.att.io/app/main/activation/resendActivation/resendActivation.less delete mode 100755 d2ice.att.io/app/main/activation/resendActivation/resendActivation.module.js delete mode 100755 d2ice.att.io/app/main/activation/resetPassword/resetPassword.controller.js delete mode 100755 d2ice.att.io/app/main/activation/resetPassword/resetPassword.html delete mode 100755 d2ice.att.io/app/main/activation/resetPassword/resetPassword.less delete mode 100755 d2ice.att.io/app/main/activation/resetPassword/resetPassword.module.js delete mode 100755 d2ice.att.io/app/main/activation/terms/terms.controller.js delete mode 100755 d2ice.att.io/app/main/activation/terms/terms.html delete mode 100755 d2ice.att.io/app/main/activation/terms/terms.less delete mode 100755 d2ice.att.io/app/main/activation/terms/terms.module.js delete mode 100755 d2ice.att.io/app/main/activation/updatePassword/updatePassword.controller.js delete mode 100755 d2ice.att.io/app/main/activation/updatePassword/updatePassword.html delete mode 100755 d2ice.att.io/app/main/activation/updatePassword/updatePassword.less delete mode 100755 d2ice.att.io/app/main/activation/updatePassword/updatePassword.module.js delete mode 100755 d2ice.att.io/app/main/admin/admin.module.js delete mode 100755 d2ice.att.io/app/main/admin/checklist-template/checklist-template.controller.js delete mode 100755 d2ice.att.io/app/main/admin/checklist-template/checklist-template.html delete mode 100755 d2ice.att.io/app/main/admin/checklist-template/checklist-template.less delete mode 100755 d2ice.att.io/app/main/dashboard/account/account.controller.js delete mode 100755 d2ice.att.io/app/main/dashboard/account/account.html delete mode 100755 d2ice.att.io/app/main/dashboard/account/account.less delete mode 100755 d2ice.att.io/app/main/dashboard/account/account.module.js delete mode 100755 d2ice.att.io/app/main/dashboard/account/notifications/notifications.controller.js delete mode 100755 d2ice.att.io/app/main/dashboard/account/notifications/notifications.html delete mode 100755 d2ice.att.io/app/main/dashboard/account/notifications/notifications.less delete mode 100755 d2ice.att.io/app/main/dashboard/account/user-profile-settings/user-profile-settings.controller.js delete mode 100755 d2ice.att.io/app/main/dashboard/account/user-profile-settings/user-profile-settings.html delete mode 100755 d2ice.att.io/app/main/dashboard/account/user-profile-settings/user-profile-settings.less delete mode 100755 d2ice.att.io/app/main/dashboard/checklist/checklist.controller.js delete mode 100755 d2ice.att.io/app/main/dashboard/checklist/checklist.html delete mode 100755 d2ice.att.io/app/main/dashboard/checklist/checklist.less delete mode 100755 d2ice.att.io/app/main/dashboard/dashboard/dashboard.controller.js delete mode 100755 d2ice.att.io/app/main/dashboard/dashboard/dashboard.html delete mode 100755 d2ice.att.io/app/main/dashboard/dashboard/dashboard.less delete mode 100755 d2ice.att.io/app/main/dashboard/detailed-view/detailed-view.controller.js delete mode 100755 d2ice.att.io/app/main/dashboard/detailed-view/detailed-view.html delete mode 100755 d2ice.att.io/app/main/dashboard/detailed-view/detailed-view.less delete mode 100755 d2ice.att.io/app/main/dashboard/get-started-modal/get-started-modal.directive.js delete mode 100755 d2ice.att.io/app/main/dashboard/get-started-modal/get-started-modal.html delete mode 100755 d2ice.att.io/app/main/dashboard/get-started-modal/get-started-modal.less delete mode 100755 d2ice.att.io/app/main/dashboard/get-started-modal/get-started-modal.module.js delete mode 100755 d2ice.att.io/app/main/dashboard/get-started-modal/wizard/wizard-container.html delete mode 100755 d2ice.att.io/app/main/dashboard/get-started-modal/wizard/wizard.less delete mode 100755 d2ice.att.io/app/main/dashboard/main.module.js delete mode 100755 d2ice.att.io/app/main/dashboard/main/main.html delete mode 100755 d2ice.att.io/app/main/dashboard/overview/overview.controller.js delete mode 100755 d2ice.att.io/app/main/dashboard/overview/overview.html delete mode 100755 d2ice.att.io/app/main/dashboard/overview/overview.less delete mode 100755 d2ice.att.io/app/main/documentation/documentation.controller.js delete mode 100755 d2ice.att.io/app/main/documentation/documentation.html delete mode 100755 d2ice.att.io/app/main/documentation/documentation.less delete mode 100755 d2ice.att.io/app/main/documentation/documentation.module.js delete mode 100755 d2ice.att.io/app/main/documentation/sidebar/documentation.sidebar.html delete mode 100755 d2ice.att.io/app/main/documentation/sidebar/documentation.sidebar.less delete mode 100755 d2ice.att.io/app/main/errors/404.html delete mode 100755 d2ice.att.io/app/main/main.controller.js delete mode 100755 d2ice.att.io/app/main/modals/archive-engagement-modal/archive-engagement-modal.controller.js delete mode 100755 d2ice.att.io/app/main/modals/archive-engagement-modal/archive-engagement-modal.html delete mode 100755 d2ice.att.io/app/main/modals/archive-engagement-modal/archive-engagement-modal.less delete mode 100755 d2ice.att.io/app/main/modals/audit-log/audit-log.controller.js delete mode 100755 d2ice.att.io/app/main/modals/audit-log/audit-log.html delete mode 100755 d2ice.att.io/app/main/modals/audit-log/audit-log.less delete mode 100755 d2ice.att.io/app/main/modals/change-date/change-date.controller.js delete mode 100755 d2ice.att.io/app/main/modals/change-date/change-date.html delete mode 100755 d2ice.att.io/app/main/modals/change-progress/change-progress.controller.js delete mode 100755 d2ice.att.io/app/main/modals/change-progress/change-progress.html delete mode 100755 d2ice.att.io/app/main/modals/checklist/checklist.controller.js delete mode 100755 d2ice.att.io/app/main/modals/checklist/checklist.html delete mode 100755 d2ice.att.io/app/main/modals/checklist/state-approve-or-reject/state-approve-or-reject.controller.js delete mode 100755 d2ice.att.io/app/main/modals/checklist/state-approve-or-reject/state-approve-or-reject.html delete mode 100755 d2ice.att.io/app/main/modals/checklist/state-approve-or-reject/state-approve-or-reject.less delete mode 100755 d2ice.att.io/app/main/modals/cms-post-modal/cms-post-modal.controller.js delete mode 100755 d2ice.att.io/app/main/modals/cms-post-modal/cms-post-modal.html delete mode 100755 d2ice.att.io/app/main/modals/cms-post-modal/cms-post-modal.less delete mode 100755 d2ice.att.io/app/main/modals/detailed-view/dtsite/detailed-view-dtsites-modal.controller.js delete mode 100755 d2ice.att.io/app/main/modals/detailed-view/dtsite/detailed-view-dtsites-modal.html delete mode 100755 d2ice.att.io/app/main/modals/detailed-view/vfc/detailed-view-vfc-modal.controller.js delete mode 100755 d2ice.att.io/app/main/modals/detailed-view/vfc/detailed-view-vfc-modal.html delete mode 100755 d2ice.att.io/app/main/modals/detailed-view/vfc/detailed-view-vfc-modal.less delete mode 100755 d2ice.att.io/app/main/modals/feedback/feedback.controller.js delete mode 100755 d2ice.att.io/app/main/modals/feedback/feedback.html delete mode 100755 d2ice.att.io/app/main/modals/feedback/feedback.less delete mode 100755 d2ice.att.io/app/main/modals/general-log-modal/general-log-modal.controller.js delete mode 100755 d2ice.att.io/app/main/modals/general-log-modal/general-log-modal.html delete mode 100755 d2ice.att.io/app/main/modals/general-log-modal/general-log-modal.less delete mode 100755 d2ice.att.io/app/main/modals/general-prompt-modal/general-prompt-modal.controller.js delete mode 100755 d2ice.att.io/app/main/modals/general-prompt-modal/general-prompt-modal.html delete mode 100755 d2ice.att.io/app/main/modals/general-prompt-modal/general-prompt-modal.less delete mode 100755 d2ice.att.io/app/main/modals/next-steps/next-steps.controller.js delete mode 100755 d2ice.att.io/app/main/modals/next-steps/next-steps.html delete mode 100755 d2ice.att.io/app/main/modals/next-steps/next-steps.less delete mode 100755 d2ice.att.io/app/main/modals/select-el-modal/select-el-modal.controller.js delete mode 100755 d2ice.att.io/app/main/modals/select-el-modal/select-el-modal.html delete mode 100755 d2ice.att.io/app/main/modals/select-el-modal/select-el-modal.less delete mode 100755 d2ice.att.io/app/main/modals/set-eng-stage/set-eng-stage-modal.controller.js delete mode 100755 d2ice.att.io/app/main/modals/set-eng-stage/set-eng-stage-modal.html delete mode 100755 d2ice.att.io/app/main/modals/set-eng-stage/set-eng-stage-modal.less delete mode 100755 d2ice.att.io/app/main/modals/set-eng-stage/set_eng_stage_modal.html delete mode 100755 d2ice.att.io/app/main/modals/status/status.controller.js delete mode 100755 d2ice.att.io/app/main/modals/status/status.html delete mode 100755 d2ice.att.io/app/main/modals/status/status.less delete mode 100755 d2ice.att.io/app/main/modals/target-lab-entry/change-lab-entry-date.controller.js delete mode 100755 d2ice.att.io/app/main/modals/target-lab-entry/change-lab-entry-date.html delete mode 100755 d2ice.att.io/app/main/modals/target-lab-entry/change-lab-entry-date.less delete mode 100755 d2ice.att.io/app/main/modals/update-engagement-status-modal/update-engagement-status-modal.controller.js delete mode 100755 d2ice.att.io/app/main/modals/update-engagement-status-modal/update-engagement-status-modal.html delete mode 100755 d2ice.att.io/app/main/modals/update-engagement-status-modal/update-engagement-status-modal.less delete mode 100755 d2ice.att.io/app/main/modals/validation-details/detailed-view-validation-details-modal.controller.js delete mode 100755 d2ice.att.io/app/main/modals/validation-details/detailed-view-validation-details-modal.html delete mode 100755 d2ice.att.io/app/main/modals/validation-details/detailed-view-validation-details-modal.less delete mode 100755 d2ice.att.io/app/robots.txt delete mode 100755 d2ice.att.io/app/services/cache.service.js delete mode 100755 d2ice.att.io/app/services/checklist.service.js delete mode 100755 d2ice.att.io/app/services/cms.service.js delete mode 100755 d2ice.att.io/app/services/dtsite.service.js delete mode 100755 d2ice.att.io/app/services/feedback.service.js delete mode 100755 d2ice.att.io/app/services/localstorage.service.js delete mode 100755 d2ice.att.io/app/services/sessionStorage.service.js delete mode 100755 d2ice.att.io/app/services/status.service.js delete mode 100755 d2ice.att.io/app/services/steps.service.js delete mode 100755 d2ice.att.io/app/services/toast.service.js delete mode 100755 d2ice.att.io/app/services/users.service.js delete mode 100755 d2ice.att.io/app/services/vf.service.js delete mode 100755 d2ice.att.io/app/services/vfc.service.js delete mode 100755 d2ice.att.io/app/styles/buttons.less delete mode 100755 d2ice.att.io/app/styles/fonts.less delete mode 100755 d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-Bd.eot delete mode 100755 d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-Bd.svg delete mode 100755 d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-Bd.ttf delete mode 100755 d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-Bd.woff delete mode 100755 d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-BdIt.eot delete mode 100755 d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-BdIt.svg delete mode 100755 d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-BdIt.ttf delete mode 100755 d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-BdIt.woff delete mode 100755 d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-Bk.eot delete mode 100755 d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-Bk.svg delete mode 100755 d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-Bk.ttf delete mode 100755 d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-Bk.woff delete mode 100755 d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-BkIt.eot delete mode 100755 d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-BkIt.svg delete mode 100755 d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-BkIt.ttf delete mode 100755 d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-BkIt.woff delete mode 100755 d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-Lt.eot delete mode 100755 d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-Lt.svg delete mode 100755 d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-Lt.ttf delete mode 100755 d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-Lt.woff delete mode 100755 d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-LtIt.eot delete mode 100755 d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-LtIt.svg delete mode 100755 d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-LtIt.ttf delete mode 100755 d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-LtIt.woff delete mode 100755 d2ice.att.io/app/styles/fonts/OmnesATT/AT&T Variation ID.tab delete mode 100755 d2ice.att.io/app/styles/fonts/OmnesATT/OmnesATTW02BoldItalic.eot delete mode 100755 d2ice.att.io/app/styles/fonts/OmnesATT/OmnesATTW02BoldItalic.svg delete mode 100755 d2ice.att.io/app/styles/fonts/OmnesATT/OmnesATTW02BoldItalic.ttf delete mode 100755 d2ice.att.io/app/styles/fonts/OmnesATT/OmnesATTW02BoldItalic.woff delete mode 100755 d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02.eot delete mode 100755 d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02.svg delete mode 100755 d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02.ttf delete mode 100755 d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02.woff delete mode 100755 d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Bold.eot delete mode 100755 d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Bold.svg delete mode 100755 d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Bold.ttf delete mode 100755 d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Bold.woff delete mode 100755 d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Italic.eot delete mode 100755 d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Italic.svg delete mode 100755 d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Italic.ttf delete mode 100755 d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Italic.woff delete mode 100755 d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Light.eot delete mode 100755 d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Light.svg delete mode 100755 d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Light.ttf delete mode 100755 d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Light.woff delete mode 100755 d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02LightItalic.eot delete mode 100755 d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02LightItalic.svg delete mode 100755 d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02LightItalic.ttf delete mode 100755 d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02LightItalic.woff delete mode 100755 d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Medium.eot delete mode 100755 d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Medium.svg delete mode 100755 d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Medium.ttf delete mode 100755 d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Medium.woff delete mode 100755 d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02MediumItalic.eot delete mode 100755 d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02MediumItalic.svg delete mode 100755 d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02MediumItalic.ttf delete mode 100755 d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02MediumItalic.woff delete mode 100755 d2ice.att.io/app/styles/fonts/OmnesATT/demo-async.htm delete mode 100755 d2ice.att.io/app/styles/fonts/OmnesATT/demo.htm delete mode 100755 d2ice.att.io/app/styles/form.less delete mode 100755 d2ice.att.io/app/styles/global.less delete mode 100755 d2ice.att.io/app/styles/images/Collaborate.png delete mode 100755 d2ice.att.io/app/styles/images/Incubate.png delete mode 100755 d2ice.att.io/app/styles/images/Validate.png delete mode 100755 d2ice.att.io/app/styles/images/actions-sprite.png delete mode 100755 d2ice.att.io/app/styles/images/btn1.png delete mode 100755 d2ice.att.io/app/styles/images/btn2.png delete mode 100755 d2ice.att.io/app/styles/images/btn3.png delete mode 100755 d2ice.att.io/app/styles/images/btnX.png delete mode 100755 d2ice.att.io/app/styles/images/d2sandbox_logos-150x30.png delete mode 100755 d2ice.att.io/app/styles/images/d2sandbox_logos_color-150x30.png delete mode 100755 d2ice.att.io/app/styles/images/flags.png delete mode 100755 d2ice.att.io/app/styles/images/flags@2x.png delete mode 100755 d2ice.att.io/app/styles/images/home_bg1-1920x1138.jpg delete mode 100755 d2ice.att.io/app/styles/images/icons-sprite-v2.png delete mode 100755 d2ice.att.io/app/styles/images/icons-sprite-v3.png delete mode 100755 d2ice.att.io/app/styles/images/icons-sprite-v4.png delete mode 100755 d2ice.att.io/app/styles/images/icons-sprite-v5.png delete mode 100755 d2ice.att.io/app/styles/images/icons-sprite.png delete mode 100755 d2ice.att.io/app/styles/images/profiles-sprite.png delete mode 100755 d2ice.att.io/app/styles/images/steps-sprite.png delete mode 100755 d2ice.att.io/app/styles/images/top.jpg delete mode 100755 d2ice.att.io/app/styles/images/wait.gif delete mode 100755 d2ice.att.io/app/styles/mixins.less delete mode 100755 d2ice.att.io/app/styles/modals.less delete mode 100755 d2ice.att.io/app/styles/sprite.less delete mode 100755 d2ice.att.io/app/styles/table-flex.less delete mode 100755 d2ice.att.io/app/styles/variables.less delete mode 100755 d2ice.att.io/app/welcome/index.html delete mode 100755 d2ice.att.io/app/welcome/welcome.controller.js delete mode 100755 d2ice.att.io/app/welcome/welcome.html delete mode 100755 d2ice.att.io/app/welcome/welcome.less delete mode 100755 d2ice.att.io/app/welcome/welcome.module.js delete mode 100755 d2ice.att.io/bower.json delete mode 100755 d2ice.att.io/dist/favicon.png delete mode 100755 d2ice.att.io/dist/fonts/FontAwesome.otf delete mode 100755 d2ice.att.io/dist/fonts/fontawesome-webfont.eot delete mode 100755 d2ice.att.io/dist/fonts/fontawesome-webfont.svg delete mode 100755 d2ice.att.io/dist/fonts/fontawesome-webfont.ttf delete mode 100755 d2ice.att.io/dist/fonts/fontawesome-webfont.woff delete mode 100755 d2ice.att.io/dist/fonts/fontawesome-webfont.woff2 delete mode 100755 d2ice.att.io/dist/fonts/glyphicons-halflings-regular.eot delete mode 100755 d2ice.att.io/dist/fonts/glyphicons-halflings-regular.svg delete mode 100755 d2ice.att.io/dist/fonts/glyphicons-halflings-regular.ttf delete mode 100755 d2ice.att.io/dist/fonts/glyphicons-halflings-regular.woff delete mode 100755 d2ice.att.io/dist/index.html delete mode 100755 d2ice.att.io/dist/locales/en/translation.json delete mode 100755 d2ice.att.io/dist/robots.txt delete mode 100755 d2ice.att.io/dist/scripts/scripts.c1bed7e7.js delete mode 100755 d2ice.att.io/dist/scripts/vendor.fa730fcd.js delete mode 100755 d2ice.att.io/dist/styles/fonts/ClearviewATT/ClearviewATT-Bd.eot delete mode 100755 d2ice.att.io/dist/styles/fonts/ClearviewATT/ClearviewATT-Bd.svg delete mode 100755 d2ice.att.io/dist/styles/fonts/ClearviewATT/ClearviewATT-Bd.ttf delete mode 100755 d2ice.att.io/dist/styles/fonts/ClearviewATT/ClearviewATT-Bd.woff delete mode 100755 d2ice.att.io/dist/styles/fonts/ClearviewATT/ClearviewATT-BdIt.eot delete mode 100755 d2ice.att.io/dist/styles/fonts/ClearviewATT/ClearviewATT-BdIt.svg delete mode 100755 d2ice.att.io/dist/styles/fonts/ClearviewATT/ClearviewATT-BdIt.ttf delete mode 100755 d2ice.att.io/dist/styles/fonts/ClearviewATT/ClearviewATT-BdIt.woff delete mode 100755 d2ice.att.io/dist/styles/fonts/ClearviewATT/ClearviewATT-Bk.eot delete mode 100755 d2ice.att.io/dist/styles/fonts/ClearviewATT/ClearviewATT-Bk.svg delete mode 100755 d2ice.att.io/dist/styles/fonts/ClearviewATT/ClearviewATT-Bk.ttf delete mode 100755 d2ice.att.io/dist/styles/fonts/ClearviewATT/ClearviewATT-Bk.woff delete mode 100755 d2ice.att.io/dist/styles/fonts/ClearviewATT/ClearviewATT-BkIt.eot delete mode 100755 d2ice.att.io/dist/styles/fonts/ClearviewATT/ClearviewATT-BkIt.svg delete mode 100755 d2ice.att.io/dist/styles/fonts/ClearviewATT/ClearviewATT-BkIt.ttf delete mode 100755 d2ice.att.io/dist/styles/fonts/ClearviewATT/ClearviewATT-BkIt.woff delete mode 100755 d2ice.att.io/dist/styles/fonts/ClearviewATT/ClearviewATT-Lt.eot delete mode 100755 d2ice.att.io/dist/styles/fonts/ClearviewATT/ClearviewATT-Lt.svg delete mode 100755 d2ice.att.io/dist/styles/fonts/ClearviewATT/ClearviewATT-Lt.ttf delete mode 100755 d2ice.att.io/dist/styles/fonts/ClearviewATT/ClearviewATT-Lt.woff delete mode 100755 d2ice.att.io/dist/styles/fonts/ClearviewATT/ClearviewATT-LtIt.eot delete mode 100755 d2ice.att.io/dist/styles/fonts/ClearviewATT/ClearviewATT-LtIt.svg delete mode 100755 d2ice.att.io/dist/styles/fonts/ClearviewATT/ClearviewATT-LtIt.ttf delete mode 100755 d2ice.att.io/dist/styles/fonts/ClearviewATT/ClearviewATT-LtIt.woff delete mode 100755 d2ice.att.io/dist/styles/fonts/OmnesATT/AT&T Variation ID.tab delete mode 100755 d2ice.att.io/dist/styles/fonts/OmnesATT/OmnesATTW02BoldItalic.eot delete mode 100755 d2ice.att.io/dist/styles/fonts/OmnesATT/OmnesATTW02BoldItalic.svg delete mode 100755 d2ice.att.io/dist/styles/fonts/OmnesATT/OmnesATTW02BoldItalic.ttf delete mode 100755 d2ice.att.io/dist/styles/fonts/OmnesATT/OmnesATTW02BoldItalic.woff delete mode 100755 d2ice.att.io/dist/styles/fonts/OmnesATT/Omnes_ATTW02.eot delete mode 100755 d2ice.att.io/dist/styles/fonts/OmnesATT/Omnes_ATTW02.svg delete mode 100755 d2ice.att.io/dist/styles/fonts/OmnesATT/Omnes_ATTW02.ttf delete mode 100755 d2ice.att.io/dist/styles/fonts/OmnesATT/Omnes_ATTW02.woff delete mode 100755 d2ice.att.io/dist/styles/fonts/OmnesATT/Omnes_ATTW02Bold.eot delete mode 100755 d2ice.att.io/dist/styles/fonts/OmnesATT/Omnes_ATTW02Bold.svg delete mode 100755 d2ice.att.io/dist/styles/fonts/OmnesATT/Omnes_ATTW02Bold.ttf delete mode 100755 d2ice.att.io/dist/styles/fonts/OmnesATT/Omnes_ATTW02Bold.woff delete mode 100755 d2ice.att.io/dist/styles/fonts/OmnesATT/Omnes_ATTW02Italic.eot delete mode 100755 d2ice.att.io/dist/styles/fonts/OmnesATT/Omnes_ATTW02Italic.svg delete mode 100755 d2ice.att.io/dist/styles/fonts/OmnesATT/Omnes_ATTW02Italic.ttf delete mode 100755 d2ice.att.io/dist/styles/fonts/OmnesATT/Omnes_ATTW02Italic.woff delete mode 100755 d2ice.att.io/dist/styles/fonts/OmnesATT/Omnes_ATTW02Light.eot delete mode 100755 d2ice.att.io/dist/styles/fonts/OmnesATT/Omnes_ATTW02Light.svg delete mode 100755 d2ice.att.io/dist/styles/fonts/OmnesATT/Omnes_ATTW02Light.ttf delete mode 100755 d2ice.att.io/dist/styles/fonts/OmnesATT/Omnes_ATTW02Light.woff delete mode 100755 d2ice.att.io/dist/styles/fonts/OmnesATT/Omnes_ATTW02LightItalic.eot delete mode 100755 d2ice.att.io/dist/styles/fonts/OmnesATT/Omnes_ATTW02LightItalic.svg delete mode 100755 d2ice.att.io/dist/styles/fonts/OmnesATT/Omnes_ATTW02LightItalic.ttf delete mode 100755 d2ice.att.io/dist/styles/fonts/OmnesATT/Omnes_ATTW02LightItalic.woff delete mode 100755 d2ice.att.io/dist/styles/fonts/OmnesATT/Omnes_ATTW02Medium.eot delete mode 100755 d2ice.att.io/dist/styles/fonts/OmnesATT/Omnes_ATTW02Medium.svg delete mode 100755 d2ice.att.io/dist/styles/fonts/OmnesATT/Omnes_ATTW02Medium.ttf delete mode 100755 d2ice.att.io/dist/styles/fonts/OmnesATT/Omnes_ATTW02Medium.woff delete mode 100755 d2ice.att.io/dist/styles/fonts/OmnesATT/Omnes_ATTW02MediumItalic.eot delete mode 100755 d2ice.att.io/dist/styles/fonts/OmnesATT/Omnes_ATTW02MediumItalic.svg delete mode 100755 d2ice.att.io/dist/styles/fonts/OmnesATT/Omnes_ATTW02MediumItalic.ttf delete mode 100755 d2ice.att.io/dist/styles/fonts/OmnesATT/Omnes_ATTW02MediumItalic.woff delete mode 100755 d2ice.att.io/dist/styles/fonts/OmnesATT/demo-async.htm delete mode 100755 d2ice.att.io/dist/styles/fonts/OmnesATT/demo.htm delete mode 100755 d2ice.att.io/dist/styles/images/Collaborate.png delete mode 100755 d2ice.att.io/dist/styles/images/Incubate.png delete mode 100755 d2ice.att.io/dist/styles/images/Validate.png delete mode 100755 d2ice.att.io/dist/styles/images/actions-sprite.png delete mode 100755 d2ice.att.io/dist/styles/images/btn1.png delete mode 100755 d2ice.att.io/dist/styles/images/btn2.png delete mode 100755 d2ice.att.io/dist/styles/images/btn3.png delete mode 100755 d2ice.att.io/dist/styles/images/btnX.png delete mode 100755 d2ice.att.io/dist/styles/images/d2sandbox_logos-150x30.png delete mode 100755 d2ice.att.io/dist/styles/images/d2sandbox_logos_color-150x30.png delete mode 100755 d2ice.att.io/dist/styles/images/flags.png delete mode 100755 d2ice.att.io/dist/styles/images/flags@2x.png delete mode 100755 d2ice.att.io/dist/styles/images/home_bg1-1920x1138.jpg delete mode 100755 d2ice.att.io/dist/styles/images/icons-sprite-v2.png delete mode 100755 d2ice.att.io/dist/styles/images/icons-sprite-v3.png delete mode 100755 d2ice.att.io/dist/styles/images/icons-sprite-v4.png delete mode 100755 d2ice.att.io/dist/styles/images/icons-sprite-v5.png delete mode 100755 d2ice.att.io/dist/styles/images/icons-sprite.png delete mode 100755 d2ice.att.io/dist/styles/images/profiles-sprite.png delete mode 100755 d2ice.att.io/dist/styles/images/steps-sprite.png delete mode 100755 d2ice.att.io/dist/styles/images/top.jpg delete mode 100755 d2ice.att.io/dist/styles/images/wait.gif delete mode 100755 d2ice.att.io/dist/styles/main.e3dcf1a7.css delete mode 100755 d2ice.att.io/dist/styles/vendor.120f37b4.css delete mode 100755 d2ice.att.io/dist/welcome/index.html delete mode 100755 d2ice.att.io/dist/welcome/welcome.controller.js delete mode 100755 d2ice.att.io/dist/welcome/welcome.html delete mode 100755 d2ice.att.io/dist/welcome/welcome.less delete mode 100755 d2ice.att.io/dist/welcome/welcome.module.js delete mode 100755 d2ice.att.io/package.json delete mode 100755 d2ice.att.io/test/.jshintrc delete mode 100755 d2ice.att.io/test/spec/controllers/main.js create mode 100644 pom.xml create mode 100644 tox.ini create mode 100644 vvp/Gruntfile.js create mode 100644 vvp/README.md create mode 100644 vvp/app/app.config.js create mode 100644 vvp/app/app.constants.js create mode 100644 vvp/app/app.controller.js create mode 100644 vvp/app/app.env.js create mode 100644 vvp/app/app.module.js create mode 100644 vvp/app/app.route.js create mode 100644 vvp/app/app.run.js create mode 100644 vvp/app/core/js/jquery.nicescroll-master/MIT.LICENSE create mode 100644 vvp/app/core/js/jquery.nicescroll-master/README.md create mode 100644 vvp/app/core/js/jquery.nicescroll-master/bower.json create mode 100644 vvp/app/core/js/jquery.nicescroll-master/changelog_3.6.8.txt create mode 100644 vvp/app/core/js/jquery.nicescroll-master/dist/jquery.nicescroll.min.js create mode 100644 vvp/app/core/js/jquery.nicescroll-master/dist/zoomico.png create mode 100644 vvp/app/core/js/jquery.nicescroll-master/jquery.nicescroll.js create mode 100644 vvp/app/core/js/jquery.nicescroll-master/jquery.nicescroll.min.js create mode 100644 vvp/app/core/js/jquery.nicescroll-master/package.json create mode 100644 vvp/app/core/js/jquery.nicescroll-master/zoomico.png create mode 100644 vvp/app/core/layouts/dashboard/dashboard.html create mode 100644 vvp/app/core/layouts/dashboard/dashboard.less create mode 100644 vvp/app/core/layouts/full-page-with-header/full-page-with-header.html create mode 100644 vvp/app/core/layouts/full-page-with-header/full-page-with-header.less create mode 100644 vvp/app/core/navigation/layouts/account-navigation/account.navigation.controller.js create mode 100644 vvp/app/core/navigation/layouts/account-navigation/navigation.html create mode 100644 vvp/app/core/navigation/layouts/account-navigation/navigation.less create mode 100644 vvp/app/core/navigation/layouts/admin-navigation/admin.navigation.controller.js create mode 100644 vvp/app/core/navigation/layouts/admin-navigation/navigation.html create mode 100644 vvp/app/core/navigation/layouts/admin-navigation/navigation.less create mode 100644 vvp/app/core/navigation/layouts/documentation-navigation/documentation.navigation.controller.js create mode 100644 vvp/app/core/navigation/layouts/documentation-navigation/navigation.html create mode 100644 vvp/app/core/navigation/layouts/documentation-navigation/navigation.less create mode 100644 vvp/app/core/navigation/layouts/horizontal-navigation/navigation.html create mode 100644 vvp/app/core/navigation/layouts/horizontal-navigation/navigation.less create mode 100644 vvp/app/core/navigation/navigation.controller.js create mode 100644 vvp/app/core/navigation/navigation.module.js create mode 100644 vvp/app/core/toolbar/layouts/horizontal-navigation/toolbar.html create mode 100644 vvp/app/core/toolbar/layouts/horizontal-navigation/toolbar.less create mode 100644 vvp/app/core/toolbar/toolbar.controller.js create mode 100644 vvp/app/core/toolbar/toolbar.module.js create mode 100644 vvp/app/directives/ice-announcement/ice-announcement.directive.js create mode 100644 vvp/app/directives/ice-announcement/ice-announcement.html create mode 100644 vvp/app/directives/ice-loader/ice-loader.directive.js create mode 100644 vvp/app/directives/ice-loader/ice-loader.html create mode 100644 vvp/app/directives/ice-loader/ice-loader.less create mode 100644 vvp/app/directives/ice-news-and-announcement/ice-news-and-announcement.directive.js create mode 100644 vvp/app/directives/ice-news-and-announcement/ice-news-and-announcement.html create mode 100644 vvp/app/directives/ice-news-and-announcement/ice-news-and-announcement.less create mode 100644 vvp/app/directives/ice-toast/ice-toast.directive.js create mode 100644 vvp/app/directives/ice-toast/ice-toast.html create mode 100644 vvp/app/directives/ice-toast/ice-toast.less create mode 100644 vvp/app/directives/ice-tooltip/ice-tooltip.directive.js create mode 100644 vvp/app/directives/ice-tooltip/ice-tooltip.html create mode 100644 vvp/app/directives/ice-tooltip/ice-tooltip.less create mode 100644 vvp/app/directives/notifications/notifications.directive.js create mode 100644 vvp/app/directives/progress/progress.directive.js create mode 100644 vvp/app/directives/progress/progress.html create mode 100644 vvp/app/directives/progress/progress.less create mode 100644 vvp/app/directives/step-stages/step-stages.directive.js create mode 100644 vvp/app/directives/step-stages/step-stages.html create mode 100644 vvp/app/directives/step-stages/step-stages.less create mode 100644 vvp/app/favicon.png create mode 100644 vvp/app/filters/capitalize.filter.js create mode 100644 vvp/app/filters/customDocumentationPageSearch.filter.js create mode 100644 vvp/app/filters/customVFSearchFilter.filter.js create mode 100644 vvp/app/filters/date2.filter.js create mode 100644 vvp/app/filters/doesExists.filter.js create mode 100644 vvp/app/filters/htmlspecialchars.filter.js create mode 100644 vvp/app/filters/htmlstylespan.filter.js create mode 100644 vvp/app/filters/trusted.filter.js create mode 100644 vvp/app/index.html create mode 100644 vvp/app/interceptors/httpInterceptors.js create mode 100644 vvp/app/locales/en/translation.json create mode 100644 vvp/app/main/activation/activate/activateUser.controller.js create mode 100644 vvp/app/main/activation/activate/activateUser.html create mode 100644 vvp/app/main/activation/activate/activateUser.module.js create mode 100644 vvp/app/main/activation/addVendorContact/addVendorContact.controller.js create mode 100644 vvp/app/main/activation/addVendorContact/addVendorContact.html create mode 100644 vvp/app/main/activation/addVendorContact/addVendorContact.less create mode 100644 vvp/app/main/activation/addVendorContact/addVendorContact.module.js create mode 100644 vvp/app/main/activation/addVf/addVf.controller.js create mode 100644 vvp/app/main/activation/addVf/addVf.html create mode 100644 vvp/app/main/activation/addVf/addVf.less create mode 100644 vvp/app/main/activation/addVf/addVf.module.js create mode 100644 vvp/app/main/activation/contactUs/contactUs.controller.js create mode 100644 vvp/app/main/activation/contactUs/contactUs.html create mode 100644 vvp/app/main/activation/contactUs/contactUs.less create mode 100644 vvp/app/main/activation/contactUs/contactUs.module.js create mode 100644 vvp/app/main/activation/inviteMembers/inviteMembers.controller.js create mode 100644 vvp/app/main/activation/inviteMembers/inviteMembers.html create mode 100644 vvp/app/main/activation/inviteMembers/inviteMembers.less create mode 100644 vvp/app/main/activation/inviteMembers/inviteMembers.module.js create mode 100644 vvp/app/main/activation/login/login.controller.js create mode 100644 vvp/app/main/activation/login/login.html create mode 100644 vvp/app/main/activation/login/login.less create mode 100644 vvp/app/main/activation/login/login.module.js create mode 100644 vvp/app/main/activation/register/register.controller.js create mode 100644 vvp/app/main/activation/register/register.html create mode 100644 vvp/app/main/activation/register/register.less create mode 100644 vvp/app/main/activation/register/register.module.js create mode 100644 vvp/app/main/activation/resendActivation/resendActivation.controller.js create mode 100644 vvp/app/main/activation/resendActivation/resendActivation.html create mode 100644 vvp/app/main/activation/resendActivation/resendActivation.less create mode 100644 vvp/app/main/activation/resendActivation/resendActivation.module.js create mode 100644 vvp/app/main/activation/resetPassword/resetPassword.controller.js create mode 100644 vvp/app/main/activation/resetPassword/resetPassword.html create mode 100644 vvp/app/main/activation/resetPassword/resetPassword.less create mode 100644 vvp/app/main/activation/resetPassword/resetPassword.module.js create mode 100644 vvp/app/main/activation/terms/terms.controller.js create mode 100644 vvp/app/main/activation/terms/terms.html create mode 100644 vvp/app/main/activation/terms/terms.less create mode 100644 vvp/app/main/activation/terms/terms.module.js create mode 100644 vvp/app/main/activation/updatePassword/updatePassword.controller.js create mode 100644 vvp/app/main/activation/updatePassword/updatePassword.html create mode 100644 vvp/app/main/activation/updatePassword/updatePassword.less create mode 100644 vvp/app/main/activation/updatePassword/updatePassword.module.js create mode 100644 vvp/app/main/admin/admin.module.js create mode 100644 vvp/app/main/admin/checklist-template/checklist-template.controller.js create mode 100644 vvp/app/main/admin/checklist-template/checklist-template.html create mode 100644 vvp/app/main/admin/checklist-template/checklist-template.less create mode 100644 vvp/app/main/dashboard/account/account.controller.js create mode 100644 vvp/app/main/dashboard/account/account.html create mode 100644 vvp/app/main/dashboard/account/account.less create mode 100644 vvp/app/main/dashboard/account/account.module.js create mode 100644 vvp/app/main/dashboard/account/notifications/notifications.controller.js create mode 100644 vvp/app/main/dashboard/account/notifications/notifications.html create mode 100644 vvp/app/main/dashboard/account/notifications/notifications.less create mode 100644 vvp/app/main/dashboard/account/user-profile-settings/user-profile-settings.controller.js create mode 100644 vvp/app/main/dashboard/account/user-profile-settings/user-profile-settings.html create mode 100644 vvp/app/main/dashboard/account/user-profile-settings/user-profile-settings.less create mode 100644 vvp/app/main/dashboard/checklist/checklist.controller.js create mode 100644 vvp/app/main/dashboard/checklist/checklist.html create mode 100644 vvp/app/main/dashboard/checklist/checklist.less create mode 100644 vvp/app/main/dashboard/dashboard/dashboard.controller.js create mode 100644 vvp/app/main/dashboard/dashboard/dashboard.html create mode 100644 vvp/app/main/dashboard/dashboard/dashboard.less create mode 100644 vvp/app/main/dashboard/detailed-view/detailed-view.controller.js create mode 100644 vvp/app/main/dashboard/detailed-view/detailed-view.html create mode 100644 vvp/app/main/dashboard/detailed-view/detailed-view.less create mode 100644 vvp/app/main/dashboard/get-started-modal/get-started-modal.directive.js create mode 100644 vvp/app/main/dashboard/get-started-modal/get-started-modal.html create mode 100644 vvp/app/main/dashboard/get-started-modal/get-started-modal.less create mode 100644 vvp/app/main/dashboard/get-started-modal/get-started-modal.module.js create mode 100644 vvp/app/main/dashboard/get-started-modal/wizard/wizard-container.html create mode 100644 vvp/app/main/dashboard/get-started-modal/wizard/wizard.less create mode 100644 vvp/app/main/dashboard/main.module.js create mode 100644 vvp/app/main/dashboard/main/main.html create mode 100644 vvp/app/main/dashboard/overview/overview.controller.js create mode 100644 vvp/app/main/dashboard/overview/overview.html create mode 100644 vvp/app/main/dashboard/overview/overview.less create mode 100644 vvp/app/main/documentation/documentation.controller.js create mode 100644 vvp/app/main/documentation/documentation.html create mode 100644 vvp/app/main/documentation/documentation.less create mode 100644 vvp/app/main/documentation/documentation.module.js create mode 100644 vvp/app/main/documentation/sidebar/documentation.sidebar.html create mode 100644 vvp/app/main/documentation/sidebar/documentation.sidebar.less create mode 100644 vvp/app/main/errors/404.html create mode 100644 vvp/app/main/main.controller.js create mode 100644 vvp/app/main/modals/archive-engagement-modal/archive-engagement-modal.controller.js create mode 100644 vvp/app/main/modals/archive-engagement-modal/archive-engagement-modal.html create mode 100644 vvp/app/main/modals/archive-engagement-modal/archive-engagement-modal.less create mode 100644 vvp/app/main/modals/audit-log/audit-log.controller.js create mode 100644 vvp/app/main/modals/audit-log/audit-log.html create mode 100644 vvp/app/main/modals/audit-log/audit-log.less create mode 100644 vvp/app/main/modals/change-date/change-date.controller.js create mode 100644 vvp/app/main/modals/change-date/change-date.html create mode 100644 vvp/app/main/modals/change-progress/change-progress.controller.js create mode 100644 vvp/app/main/modals/change-progress/change-progress.html create mode 100644 vvp/app/main/modals/checklist/checklist.controller.js create mode 100644 vvp/app/main/modals/checklist/checklist.html create mode 100644 vvp/app/main/modals/checklist/state-approve-or-reject/state-approve-or-reject.controller.js create mode 100644 vvp/app/main/modals/checklist/state-approve-or-reject/state-approve-or-reject.html create mode 100644 vvp/app/main/modals/checklist/state-approve-or-reject/state-approve-or-reject.less create mode 100644 vvp/app/main/modals/cms-post-modal/cms-post-modal.controller.js create mode 100644 vvp/app/main/modals/cms-post-modal/cms-post-modal.html create mode 100644 vvp/app/main/modals/cms-post-modal/cms-post-modal.less create mode 100644 vvp/app/main/modals/detailed-view/dtsite/detailed-view-dtsites-modal.controller.js create mode 100644 vvp/app/main/modals/detailed-view/dtsite/detailed-view-dtsites-modal.html create mode 100644 vvp/app/main/modals/detailed-view/vfc/detailed-view-vfc-modal.controller.js create mode 100644 vvp/app/main/modals/detailed-view/vfc/detailed-view-vfc-modal.html create mode 100644 vvp/app/main/modals/detailed-view/vfc/detailed-view-vfc-modal.less create mode 100644 vvp/app/main/modals/feedback/feedback.controller.js create mode 100644 vvp/app/main/modals/feedback/feedback.html create mode 100644 vvp/app/main/modals/feedback/feedback.less create mode 100644 vvp/app/main/modals/general-log-modal/general-log-modal.controller.js create mode 100644 vvp/app/main/modals/general-log-modal/general-log-modal.html create mode 100644 vvp/app/main/modals/general-log-modal/general-log-modal.less create mode 100644 vvp/app/main/modals/general-prompt-modal/general-prompt-modal.controller.js create mode 100644 vvp/app/main/modals/general-prompt-modal/general-prompt-modal.html create mode 100644 vvp/app/main/modals/general-prompt-modal/general-prompt-modal.less create mode 100644 vvp/app/main/modals/next-steps/next-steps.controller.js create mode 100644 vvp/app/main/modals/next-steps/next-steps.html create mode 100644 vvp/app/main/modals/next-steps/next-steps.less create mode 100644 vvp/app/main/modals/select-el-modal/select-el-modal.controller.js create mode 100644 vvp/app/main/modals/select-el-modal/select-el-modal.html create mode 100644 vvp/app/main/modals/select-el-modal/select-el-modal.less create mode 100644 vvp/app/main/modals/set-eng-stage/set-eng-stage-modal.controller.js create mode 100644 vvp/app/main/modals/set-eng-stage/set-eng-stage-modal.html create mode 100644 vvp/app/main/modals/set-eng-stage/set-eng-stage-modal.less create mode 100644 vvp/app/main/modals/set-eng-stage/set_eng_stage_modal.html create mode 100644 vvp/app/main/modals/status/status.controller.js create mode 100644 vvp/app/main/modals/status/status.html create mode 100644 vvp/app/main/modals/status/status.less create mode 100644 vvp/app/main/modals/target-lab-entry/change-lab-entry-date.controller.js create mode 100644 vvp/app/main/modals/target-lab-entry/change-lab-entry-date.html create mode 100644 vvp/app/main/modals/target-lab-entry/change-lab-entry-date.less create mode 100644 vvp/app/main/modals/update-engagement-status-modal/update-engagement-status-modal.controller.js create mode 100644 vvp/app/main/modals/update-engagement-status-modal/update-engagement-status-modal.html create mode 100644 vvp/app/main/modals/update-engagement-status-modal/update-engagement-status-modal.less create mode 100644 vvp/app/main/modals/validation-details/detailed-view-validation-details-modal.controller.js create mode 100644 vvp/app/main/modals/validation-details/detailed-view-validation-details-modal.html create mode 100644 vvp/app/main/modals/validation-details/detailed-view-validation-details-modal.less create mode 100644 vvp/app/robots.txt create mode 100644 vvp/app/services/cache.service.js create mode 100644 vvp/app/services/checklist.service.js create mode 100644 vvp/app/services/cms.service.js create mode 100644 vvp/app/services/dtsite.service.js create mode 100644 vvp/app/services/feedback.service.js create mode 100644 vvp/app/services/localstorage.service.js create mode 100644 vvp/app/services/sessionStorage.service.js create mode 100644 vvp/app/services/status.service.js create mode 100644 vvp/app/services/steps.service.js create mode 100644 vvp/app/services/toast.service.js create mode 100644 vvp/app/services/users.service.js create mode 100644 vvp/app/services/vf.service.js create mode 100644 vvp/app/services/vfc.service.js create mode 100644 vvp/app/styles/app.css create mode 100644 vvp/app/styles/app.less create mode 100644 vvp/app/styles/buttons.less create mode 100644 vvp/app/styles/fonts.less create mode 100644 vvp/app/styles/form.less create mode 100644 vvp/app/styles/global.less create mode 100644 vvp/app/styles/images/Collaborate.png create mode 100644 vvp/app/styles/images/Incubate.png create mode 100644 vvp/app/styles/images/Validate.png create mode 100644 vvp/app/styles/images/actions-sprite.png create mode 100644 vvp/app/styles/images/btn1.png create mode 100644 vvp/app/styles/images/btn2.png create mode 100644 vvp/app/styles/images/btn3.png create mode 100644 vvp/app/styles/images/btnX.png create mode 100644 vvp/app/styles/images/d2sandbox_logos-150x30.png create mode 100644 vvp/app/styles/images/d2sandbox_logos_color-150x30.png create mode 100644 vvp/app/styles/images/flags.png create mode 100644 vvp/app/styles/images/flags@2x.png create mode 100644 vvp/app/styles/images/home_bg1-1920x1138.jpg create mode 100644 vvp/app/styles/images/icons-sprite-v2.png create mode 100644 vvp/app/styles/images/icons-sprite-v3.png create mode 100644 vvp/app/styles/images/icons-sprite-v4.png create mode 100644 vvp/app/styles/images/icons-sprite-v5.png create mode 100644 vvp/app/styles/images/icons-sprite.png create mode 100644 vvp/app/styles/images/profiles-sprite.png create mode 100644 vvp/app/styles/images/steps-sprite.png create mode 100644 vvp/app/styles/images/top.jpg create mode 100644 vvp/app/styles/images/wait.gif create mode 100644 vvp/app/styles/mixins.less create mode 100644 vvp/app/styles/modals.less create mode 100644 vvp/app/styles/sprite.less create mode 100644 vvp/app/styles/table-flex.less create mode 100644 vvp/app/styles/variables.less create mode 100644 vvp/app/welcome/index.html create mode 100644 vvp/app/welcome/welcome.controller.js create mode 100644 vvp/app/welcome/welcome.html create mode 100644 vvp/app/welcome/welcome.less create mode 100644 vvp/app/welcome/welcome.module.js create mode 100644 vvp/bower.json create mode 120000 vvp/bower_components create mode 100644 vvp/dist/favicon.png create mode 100644 vvp/dist/fonts/FontAwesome.otf create mode 100644 vvp/dist/fonts/fontawesome-webfont.eot create mode 100644 vvp/dist/fonts/fontawesome-webfont.svg create mode 100644 vvp/dist/fonts/fontawesome-webfont.ttf create mode 100644 vvp/dist/fonts/fontawesome-webfont.woff create mode 100644 vvp/dist/fonts/fontawesome-webfont.woff2 create mode 100644 vvp/dist/fonts/glyphicons-halflings-regular.eot create mode 100644 vvp/dist/fonts/glyphicons-halflings-regular.svg create mode 100644 vvp/dist/fonts/glyphicons-halflings-regular.ttf create mode 100644 vvp/dist/fonts/glyphicons-halflings-regular.woff create mode 100644 vvp/dist/index.html create mode 100644 vvp/dist/locales/en/translation.json create mode 100644 vvp/dist/robots.txt create mode 100644 vvp/dist/scripts/scripts.3e3147f7.js create mode 100644 vvp/dist/scripts/vendor.79ec8dc5.js create mode 100644 vvp/dist/styles/images/Collaborate.png create mode 100644 vvp/dist/styles/images/Incubate.png create mode 100644 vvp/dist/styles/images/Validate.png create mode 100644 vvp/dist/styles/images/actions-sprite.png create mode 100644 vvp/dist/styles/images/btn1.png create mode 100644 vvp/dist/styles/images/btn2.png create mode 100644 vvp/dist/styles/images/btn3.png create mode 100644 vvp/dist/styles/images/btnX.png create mode 100644 vvp/dist/styles/images/d2sandbox_logos-150x30.png create mode 100644 vvp/dist/styles/images/d2sandbox_logos_color-150x30.png create mode 100644 vvp/dist/styles/images/flags.png create mode 100644 vvp/dist/styles/images/flags@2x.png create mode 100644 vvp/dist/styles/images/home_bg1-1920x1138.jpg create mode 100644 vvp/dist/styles/images/icons-sprite-v2.png create mode 100644 vvp/dist/styles/images/icons-sprite-v3.png create mode 100644 vvp/dist/styles/images/icons-sprite-v4.png create mode 100644 vvp/dist/styles/images/icons-sprite-v5.png create mode 100644 vvp/dist/styles/images/icons-sprite.png create mode 100644 vvp/dist/styles/images/profiles-sprite.png create mode 100644 vvp/dist/styles/images/steps-sprite.png create mode 100644 vvp/dist/styles/images/top.jpg create mode 100644 vvp/dist/styles/images/wait.gif create mode 100644 vvp/dist/styles/main.9d00a9a6.css create mode 100644 vvp/dist/styles/vendor.26f2b1cc.css create mode 100644 vvp/dist/welcome/index.html create mode 100644 vvp/dist/welcome/welcome.controller.js create mode 100644 vvp/dist/welcome/welcome.html create mode 100644 vvp/dist/welcome/welcome.less create mode 100644 vvp/dist/welcome/welcome.module.js create mode 100644 vvp/package.json create mode 100644 vvp/test/spec/controllers/main.js diff --git a/.maven-dockerignore b/.maven-dockerignore new file mode 100644 index 00000000..52d95d7b --- /dev/null +++ b/.maven-dockerignore @@ -0,0 +1,2 @@ +target/docker/ + diff --git a/Dockerfile b/Dockerfile old mode 100755 new mode 100644 diff --git a/LICENSE.TXT b/LICENSE.TXT old mode 100755 new mode 100644 diff --git a/README.md b/README.md old mode 100755 new mode 100644 diff --git a/d2ice.att.io/.bowerrc b/d2ice.att.io/.bowerrc deleted file mode 100755 index 69fad358..00000000 --- a/d2ice.att.io/.bowerrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "directory": "bower_components" -} diff --git a/d2ice.att.io/.editorconfig b/d2ice.att.io/.editorconfig deleted file mode 100755 index 8a80734f..00000000 --- a/d2ice.att.io/.editorconfig +++ /dev/null @@ -1,21 +0,0 @@ -# EditorConfig helps developers define and maintain consistent -# coding styles between different editors and IDEs -# editorconfig.org - -root = true - - -[*] - -# Change these settings to your own preference -indent_style = space -indent_size = 4 - -# We recommend you to keep these unchanged -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -[*.md] -trim_trailing_whitespace = false diff --git a/d2ice.att.io/.gitattributes b/d2ice.att.io/.gitattributes deleted file mode 100755 index 21256661..00000000 --- a/d2ice.att.io/.gitattributes +++ /dev/null @@ -1 +0,0 @@ -* text=auto \ No newline at end of file diff --git a/d2ice.att.io/.gitignore b/d2ice.att.io/.gitignore deleted file mode 100755 index f21a0349..00000000 --- a/d2ice.att.io/.gitignore +++ /dev/null @@ -1,14 +0,0 @@ -/node_modules -/.tmp -/.sass-cache -/bower_components -/favicon.png -/scripts -/fonts -/styles -/robots.txt -/welcome.html -/favicon.png -/index.html - - diff --git a/d2ice.att.io/.jscsrc b/d2ice.att.io/.jscsrc deleted file mode 100755 index f8bf9ba2..00000000 --- a/d2ice.att.io/.jscsrc +++ /dev/null @@ -1,6 +0,0 @@ -{ - "requireCamelCaseOrUpperCaseIdentifiers": true, - "requireCapitalizedConstructors": true, - "requireParenthesesAroundIIFE": true, - "validateQuoteMarks": "'" -} diff --git a/d2ice.att.io/.jshintrc b/d2ice.att.io/.jshintrc deleted file mode 100755 index 4572e5d3..00000000 --- a/d2ice.att.io/.jshintrc +++ /dev/null @@ -1,16 +0,0 @@ -{ - "bitwise": true, - "browser": true, - "curly": true, - "eqeqeq": true, - "esnext": true, - "latedef": true, - "noarg": true, - "node": true, - "strict": true, - "undef": true, - "unused": true, - "globals": { - "angular": false - } -} diff --git a/d2ice.att.io/.yo-rc.json b/d2ice.att.io/.yo-rc.json deleted file mode 100755 index 6589676f..00000000 --- a/d2ice.att.io/.yo-rc.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "generator-karma": { - "base-path": "../", - "frameworks": "jasmine", - "browsers": "PhantomJS", - "app-files": "app/scripts/**/*.js", - "files-comments": "bower:js,endbower", - "bower-components-path": "bower_components", - "test-files": "test/mock/**/*.js,test/spec/**/*.js" - } -} \ No newline at end of file diff --git a/d2ice.att.io/Gruntfile.js b/d2ice.att.io/Gruntfile.js deleted file mode 100755 index 41c3c2a5..00000000 --- a/d2ice.att.io/Gruntfile.js +++ /dev/null @@ -1,714 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -// Generated on 2016-05-30 using generator-angular 0.15.1 -'use strict'; - -// # Globbing -// for performance reasons we're only matching one level down: -// 'test/spec/{,*/}*.js' -// use this if you want to recursively match all subfolders: -// 'test/spec/**/*.js' - -module.exports = function (grunt) { - - // Time how long tasks take. Can help when optimizing build times - require('time-grunt')(grunt); - - // Automatically load required Grunt tasks - require('jit-grunt')(grunt, { - useminPrepare: 'grunt-usemin', - ngtemplates: 'grunt-angular-templates', - cdnify: 'grunt-google-cdn', - ngconstant: 'grunt-ng-constant' - }); - - // Configurable paths for the application - var appConfig = { - app: require('./bower.json').appPath || 'app', - dist: 'dist' - }; - - // Define the configuration for all the tasks - grunt.initConfig({ - - // Project settings - yeoman: appConfig, - - // Watches files for changes and runs tasks based on the changed files - watch: { - bower: { - files: ['bower.json'], - tasks: ['wiredep'] - }, - js: { - files: ['<%= yeoman.app %>/main/{,*/}*.js'], - tasks: ['newer:jshint:all', 'newer:jscs:all'], - options: { - livereload: '<%= connect.options.livereload %>' - } - }, - jsTest: { - files: ['test/spec/{,*/}*.js'], - tasks: ['newer:jshint:test', 'newer:jscs:test', 'karma'] - }, - injector: { - files: [ - 'app/styles/*.less', - 'app/core/**/*.less', - 'app/directives/**/*.less', - 'app/main/**/*.less', - 'app/welcome/*.less' - ], - taskd: ['injector'] - }, - less: { - files: ['app/**/*.less'], - tasks: ['less:development','copy:styles'], - options: { - livereload: '<%= connect.options.livereload %>', - nospawn: true - } - }, - styles: { - files: ['<%= yeoman.app %>/main/{,*/}*.css'], - tasks: ['newer:copy:styles', 'postcss'] - }, - gruntfile: { - files: ['Gruntfile.js'] - }, - livereload: { - options: { - livereload: '<%= connect.options.livereload %>' - }, - files: [ - '<%= yeoman.app %>/{,*/}*.html', - '.tmp/styles/{,*/}*.css', - '<%= yeoman.app %>/styles/images/{,*/}*.{png,jpg,jpeg,gif,webp,svg}' - ] - } - }, - - ngconstant: { - // Options for all targets - options: { - space: ' ', - wrap: '"use strict";\n\n {\%= __ngModule %}', - name: 'ice.env', - }, - // Environment targets - dev: { - options: { - dest: '<%= yeoman.app %>/app.env.js' - }, - constants: { - ENV: { - name: 'development', - apiBase: 'http://localhost:8000/vvp/v1/engmgr/' - } - } - }, - dist: { - options: { - dest: '<%= yeoman.app %>/app.env.js' - }, - constants: { - ENV: { - name: 'production', - apiBase: '/vvp/v1/engmgr/' - } - } - }, - staging: { - options: { - dest: '<%= yeoman.app %>/app.env.js' - }, - constants: { - ENV: { - name: 'staging', - apiBase: 'https://staging-api.d2ice.att.io/vvp/v1/engmgr/' - } - } - } - }, - - // The actual grunt server settings - connect: { - options: { - port: 9000, - // Change this to '0.0.0.0' to access the server from outside. - hostname: 'localhost', - livereload: 35729 - }, - livereload: { - options: { - open: true, - middleware: function (connect) { - return [ - connect.static('.tmp'), - connect().use( - '/bower_components', - connect.static('./bower_components') - ), - connect().use( - '/app/styles', - connect.static('./app/styles') - ), - connect.static(appConfig.app) - ]; - } - } - }, - test: { - options: { - port: 9001, - middleware: function (connect) { - return [ - connect.static('.tmp'), - connect.static('test'), - connect().use( - '/bower_components', - connect.static('./bower_components') - ), - connect.static(appConfig.app) - ]; - } - } - }, - dist: { - options: { - open: true, - base: '<%= yeoman.dist %>' - } - } - }, - - // app.less contains all the less from all places, convert it to CSS - less: { - development: { - files: { - 'app/styles/app.css': 'app/styles/app.less' - } - }, - production: { - 'app/styles/app.css': 'app/styles/app.less' - } - }, - - injector: { - options: {}, - // Inject all project less into app.less - less: { - options: { - transform: function (filePath) { - filePath = filePath.replace('/app/styles/', '../styles/'); - filePath = filePath.replace('/app/main/', '../main/'); - filePath = filePath.replace('/app/core/', '../core/'); - filePath = filePath.replace('/app/directives/', '../directives/'); - filePath = filePath.replace('/app/welcome/', '../welcome/'); - return '@import \'' + filePath + '\';'; - }, - starttag: '// injector:less', - endtag: '// endinjector:less' - }, - files: { - 'app/styles/app.less': [ - 'app/styles/*.less', - 'app/core/**/*.less', - 'app/directives/**/*.less', - 'app/main/**/*.less', - 'app/welcome/*.less', - '!app/styles/app.less' - ] - } - } - }, - - // Make sure there are no obvious mistakes - jshint: { - options: { - jshintrc: '.jshintrc', - reporter: require('jshint-stylish') - }, - all: { - src: [ - 'Gruntfile.js', - '<%= yeoman.app %>/main/{,*/}*.js' - ] - }, - test: { - options: { - jshintrc: 'test/.jshintrc' - }, - src: ['test/spec/{,*/}*.js'] - } - }, - - // Make sure code styles are up to par - jscs: { - options: { - config: '.jscsrc', - verbose: true - }, - all: { - src: [ - 'Gruntfile.js', - '<%= yeoman.app %>/main/{,*/}*.js' - ] - }, - test: { - src: ['test/spec/{,*/}*.js'] - } - }, - - // Empties folders to start fresh - clean: { - dist: { - files: [{ - dot: true, - src: [ - '.tmp', - '<%= yeoman.dist %>/{,*/}*', - '!<%= yeoman.dist %>/.git{,*/}*' - ] - }] - }, - server: '.tmp' - }, - - // Add vendor prefixed styles - postcss: { - options: { - processors: [ - require('autoprefixer-core')({browsers: ['last 1 version']}) - ] - }, - server: { - options: { - map: true - }, - files: [{ - expand: true, - cwd: '.tmp/styles/', - src: '{,*/}*.css', - dest: '.tmp/styles/' - }] - }, - dist: { - files: [{ - expand: true, - cwd: '.tmp/styles/', - src: '{,*/}*.css', - dest: '.tmp/styles/' - }] - } - }, - - // Automatically inject Bower components into the app - wiredep: { - app: { - src: ['<%= yeoman.app %>/index.html'], - ignorePath: /\.\.\// - }, - test: { - devDependencies: true, - src: '<%= karma.unit.configFile %>', - ignorePath: /\.\.\//, - fileTypes: { - js: { - block: /(([\s\t]*)\/{2}\s*?bower:\s*?(\S*))(\n|\r|.)*?(\/{2}\s*endbower)/gi, - detect: { - js: /'(.*\.js)'/gi - }, - replace: { - js: '\'{{filePath}}\',' - } - } - } - } - }, - - // Renames files for browser caching purposes - filerev: { - dist: { - src: [ - '<%= yeoman.dist %>/scripts/{,*/}*.js', - '<%= yeoman.dist %>/styles/{,*/}*.css', - '<%= yeoman.dist %>/images/{,*/}*.{png,jpg,jpeg,gif,webp,svg}', - '<%= yeoman.dist %>/styles/fonts/*' - ] - } - }, - - // Reads HTML for usemin blocks to enable smart builds that automatically - // concat, minify and revision files. Creates configurations in memory so - // additional tasks can operate on them - useminPrepare: { - html: '<%= yeoman.app %>/index.html', - options: { - dest: '<%= yeoman.dist %>', - flow: { - html: { - steps: { - js: ['concat', 'uglifyjs'], - css: ['cssmin'] - }, - post: {} - } - } - } - }, - - // Performs rewrites based on filerev and the useminPrepare configuration - usemin: { - html: ['<%= yeoman.dist %>/{,*/}*.html'], - css: ['<%= yeoman.dist %>/styles/{,*/}*.css'], - js: ['<%= yeoman.dist %>/scripts/{,*/}*.js'], - options: { - assetsDirs: [ - '<%= yeoman.dist %>', - '<%= yeoman.dist %>/images', - '<%= yeoman.dist %>/styles' - ], - patterns: { - js: [[/(images\/[^''""]*\.(png|jpg|jpeg|gif|webp|svg))/g, 'Replacing references to images']] - } - } - }, - - imagemin: { - dist: { - files: [{ - expand: true, - cwd: '<%= yeoman.app %>/styles/images', - src: '{,*/}*.{png,jpg,jpeg,gif}', - dest: '<%= yeoman.dist %>/styles/images' - }] - } - }, - - svgmin: { - dist: { - files: [{ - expand: true, - cwd: '<%= yeoman.app %>/styles/images', - src: '{,*/}*.svg', - dest: '<%= yeoman.dist %>/images' - }] - } - }, - - htmlmin: { - dist: { - options: { - collapseWhitespace: true, - conservativeCollapse: true, - collapseBooleanAttributes: true, - removeCommentsFromCDATA: true - }, - files: [{ - expand: true, - cwd: '<%= yeoman.dist %>', - src: ['*.html'], - dest: '<%= yeoman.dist %>' - }] - } - }, - - ngtemplates: { - dist: { - options: { - module: 'ice', - htmlmin: '<%= htmlmin.dist.options %>', - usemin: 'scripts/scripts.js' - }, - cwd: '<%= yeoman.app %>', - src: [ - 'main/**/*.html', - 'core/**/*.html', - 'directives/**/*.html', - ], - dest: '.tmp/templateCache.js' - } - }, - - // ng-annotate tries to make the code safe for minification automatically - // by using the Angular long form for dependency injection. - ngAnnotate: { - dist: { - files: [{ - expand: true, - cwd: '.tmp/concat/scripts', - src: '*.js', - dest: '.tmp/concat/scripts' - }] - } - }, - - // Replace Google CDN references - cdnify: { - dist: { - html: ['<%= yeoman.dist %>/*.html'] - } - }, - - // Copies remaining files to places other tasks can use - copy: { - dist: { - files: [{ - expand: true, - dot: true, - cwd: '<%= yeoman.app %>', - dest: '<%= yeoman.dist %>', - src: [ - '*.{ico,png,txt}', - '*.html', - 'images/{,*/}*.{webp}', - 'styles/fonts/{,*/}*.*' - ] - }, { - expand: true, - cwd: '.tmp/images', - dest: '<%= yeoman.dist %>/images', - src: ['generated/*'] - }, { - expand: true, - cwd: 'bower_components/bootstrap/dist', - src: 'fonts/*', - dest: '<%= yeoman.dist %>' - }, { - expand: true, - cwd: 'bower_components/components-font-awesome', - src: 'fonts/*', - dest: '<%= yeoman.dist %>' - }, - { - expand: true, - cwd: '<%= yeoman.app %>/locales', - src: '**/*', - dest: '<%= yeoman.dist %>/locales' - }] - }, - styles: { - expand: true, - cwd: '<%= yeoman.app %>/styles', - dest: '.tmp/styles/', - src: '{,*/}*.css' - }, - welcome: { - expand: true, - cwd: '<%= yeoman.app %>/welcome', - dest: '<%= yeoman.dist %>/welcome', - src: '{,**/}*.*' - } - }, - - // Run some tasks in parallel to speed up the build process - concurrent: { - server: [ - 'less:development', - 'copy:styles' - ], - test: [ - 'copy:styles' - ], - dist: [ - 'copy:styles', - 'imagemin', - 'svgmin' - ] - }, - - // Test settings - karma: { - unit: { - configFile: 'test/karma.conf.js', - singleRun: true - } - } - }); - - grunt.registerTask('serve', 'Compile then start a connect web server', function (target) { - if (target === 'dist') { - return grunt.task.run(['build', 'connect:dist:keepalive']); - } - - grunt.task.run([ - 'clean:server', // Delete .tmp folder - 'ngconstant:dev', // Configure constants - 'wiredep', // Automatically inject Bower components into the app - 'injector', // Inject the less files to app.less - 'less:development', - 'copy:styles', -// 'concurrent:server', // Run some tasks in parallel to speed up the build process, need to see what the task run. - 'postcss:server', // Add vendor prefixed styles - 'connect:livereload', - 'watch' - ]); - }); - - grunt.registerTask('server', 'DEPRECATED TASK. Use the "serve" task instead', function (target) { - grunt.log.warn('The `server` task has been deprecated. Use `grunt serve` to start a server.'); - grunt.task.run(['serve:' + target]); - }); - - grunt.registerTask('test', [ - 'clean:server', - 'wiredep', - 'concurrent:test', - 'postcss', - 'connect:test', - 'karma' - ]); - - - grunt.registerTask('build-ci', function(target) { - - var tasks = [ - 'clean:dist', - 'ngconstant:dist', - 'wiredep', - 'less:production', - 'copy:styles', - 'imagemin', - 'svgmin', - //'concurrent:dist', - 'postcss', - 'useminPrepare', - 'ngtemplates', - 'concat', - 'ngAnnotate', - 'copy:dist', - 'copy:welcome', - //'cdnify', - 'cssmin', - // 'uglify', - 'filerev', - 'usemin', - 'clean:server', // Delete .tmp folder - 'ngconstant:dev', // Configure constants - 'wiredep', // Automatically inject Bower components into the app - 'injector', // Inject the less files to app.less - 'less:development', - 'copy:styles', - // 'concurrent:server', // Run some tasks in parallel to speed up the build process, need to see what the task run. - 'postcss:server', // Add vendor prefixed styles - 'clean:dist', - 'ngconstant:dist', - 'wiredep', - 'less:production', - 'copy:styles', - 'imagemin', - 'svgmin', - //'concurrent:dist', - 'postcss', - 'useminPrepare', - 'ngtemplates', - 'concat', - 'ngAnnotate', - 'copy:dist', - 'copy:welcome', - //'cdnify', - 'cssmin', - 'uglify', - 'filerev', - 'usemin', - //'htmlmin' - ]; - - if (!target) { - target = 'dist'; - } - grunt.task.run.apply(grunt.task, tasks.map(function(task) { - if (task === 'ngconstant:dist') { - task = task.split(':')[0]; - return task + ':' + target; - } else{ - return task; - } - })); - }); - - - grunt.registerTask('build', function(target) { - - var tasks = [ - 'clean:dist', - 'ngconstant:dist', - 'wiredep', - 'less:production', - 'copy:styles', - 'imagemin', - 'svgmin', - //'concurrent:dist', - 'postcss', - 'useminPrepare', - 'ngtemplates', - 'concat', - 'ngAnnotate', - 'copy:dist', - 'copy:welcome', - //'cdnify', - 'cssmin', - 'uglify', - 'filerev', - 'usemin', - //'htmlmin' - ]; - - if (!target) { - target = 'dist'; - } - grunt.task.run.apply(grunt.task, tasks.map(function(task) { - if (task === 'ngconstant:dist') { - task = task.split(':')[0]; - return task + ':' + target; - } else{ - return task; - } - })); - }); - - grunt.registerTask('default', [ - 'newer:jshint', - 'newer:jscs', - 'test', - 'build', - 'build-ci' - ]); -}; diff --git a/d2ice.att.io/README.md b/d2ice.att.io/README.md deleted file mode 100755 index e45ff791..00000000 --- a/d2ice.att.io/README.md +++ /dev/null @@ -1,75 +0,0 @@ -# ice - -This project is generated with [yo angular generator](https://github.com/yeoman/generator-angular) -version 0.15.1. - -## Build & development - -Run `grunt` for building and `grunt serve` for preview. - -## Testing - -Running `grunt test` will run the unit tests with karma. - -KT: -- We created the base project with yeoman generator running -- When a new library is added to the project we need to perform 'bower install' and 'npm install' -- package.json is the generated file by NPM after performing 'npm install <3'rdParty> --save' the output is inserted to the node_modules -- bower.json is enhanced after performing 'bower install <3'rd party> --save' - The output directory is: bower_components -- 'grunt build' the dist directoy. Gruntfile.js hold all the grunt targets (e.g build, serve) - - build: mostly building the dist directory - - serve: this is used only for dev mode (for example building the app.env.js with settings to dev mode) - grunt --stack will show in verbose mode - -app directory: -- index.html is the automatically called when site is accessed -- section is identified by bower to add the css from 3'rd party - -- body: declaring the main controller 'App Controller' - -- app.module.js: declaring the main module: 'ice' it holds all other modules: infrastructure models such ngSanitize and applicative modules such as ice.vf.service - -- app.controller.js: The main controller -- app.config: All sort of angular configuration such as interceptors (for error handling) -- app.constants enums -- app.run: this could have written in the controller but it runs after the app.controller. - runBlock: gloabals on the rootScopes - Event that is fired when the state is changed (state = url), we clean the alert object -- cache service holds all urls of all services. '@' sign is replaced in each service with the uuid (e.g eng_uuid) -- app.route: this is the router: when it get the url in the browser it need to combine MVC combination. Otherwise is when he's not familiar with any pattern --> go to login -The page section. the router is touting by state.go(stateName) or ui-sref(state) --activation directory hold all logic related to the user - -Each page (login, signup, dashboard etc) is composed from 4files: -- XXX.module. state name (e.g app.login) is the identifier of the router -- url is the client side address of the page -- views: there is a seperation between the page section. each view has its controller, it's view (html) and the model (data from server) - -XXX.controller: -- starts with init(). Each page has it -- the header (app/core/layout/full-page-with-header) holds the headerTiltle and headerDescription set in the controller -- ice.loadre is the progree bar when requesting something from the EM - -Each function or variable we want to reflect from the controller to the html (or vise versa) should start with 'vm' (e.g vm.submitForm() this will call the function submitForm) - -XXX.html -- directive (piece of code that performs something). has a jquery selector to find the class of the div and show the loader -- ice-messages show the message with type if alert.message==true -- the page is divided to cols. bootstrap allows 12 colls - -XXX.less - turns into css after grant build -holds all classes under body-class (this is defined in the XXX.module) -There are also bootstrap inline css e.g class=form-group - -Filters - you can define in the html "|" that takes a variable and format it (e.g trusted that manipulate it as a valid html) - -Core: -toolbar - upper bar (log, dashboard caption, logout) -controller fetch the number of notifications -left side of dashboard - Engagement list. The data is publisehd to the right side by broadcast event. dashboard listens to the event (.$on(eventName, args)) - - - - - diff --git a/d2ice.att.io/app/.watch.me b/d2ice.att.io/app/.watch.me deleted file mode 100755 index e69de29b..00000000 diff --git a/d2ice.att.io/app/app.config.js b/d2ice.att.io/app/app.config.js deleted file mode 100755 index e4c74ba6..00000000 --- a/d2ice.att.io/app/app.config.js +++ /dev/null @@ -1,60 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - 'use strict'; - - angular - .module('ice') - .config(config) - .config(function (ngIntlTelInputProvider) { - ngIntlTelInputProvider.set({initialCountry: 'us'}); - }); - - function config($httpProvider) { - // Ask for cross domain from the sever (need to allow this in server). - $httpProvider.defaults.useXDomain = true; - delete $httpProvider.defaults.headers.common['X-Requested-With']; - - // HTTP Interceptor definition - $httpProvider.interceptors.push('httpRequestInterceptor'); - $httpProvider.interceptors.push('httpResponseInterceptor'); - $httpProvider.interceptors.push('httpRequestErrorInterceptor'); - $httpProvider.interceptors.push('httpResponseErrorInterceptor'); - } -})(); diff --git a/d2ice.att.io/app/app.constants.js b/d2ice.att.io/app/app.constants.js deleted file mode 100755 index 60b1ec33..00000000 --- a/d2ice.att.io/app/app.constants.js +++ /dev/null @@ -1,75 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - 'use strict'; - - angular - .module('ice') - .constant("_", window._) - .constant("iceConstants", { - - states: { - "incomplete": "Incomplete", - "completed": "Completed", - }, - - stages: { - "intake": "Intake", - "active": "Active", - "validated": "Validated", - "completed": "Completed" - }, - - roles: { - "standard": "standard_user", - "el": "el", - "admin": "admin", - "admin_ro": "admin_ro" - }, - - checklist_states : [ - "automation", - "review", - "peer review", - "approval", - "handoff", - "closed" - ] - }); -})(); diff --git a/d2ice.att.io/app/app.controller.js b/d2ice.att.io/app/app.controller.js deleted file mode 100755 index 5bf25670..00000000 --- a/d2ice.att.io/app/app.controller.js +++ /dev/null @@ -1,74 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - 'use strict'; - - angular - .module('ice') - .controller('AppController', ["$state", "$timeout", "$rootScope", "$log", AppController]); - - function AppController($state, $timeout, $rootScope, $log) { - - var vm = this; - var nice = false; - - if (navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1) { - $log.debug('Smooth Scroll Off (Safari).'); - } else { - try { - // Initialise with options - nice = $("#content-israel").niceScroll({ - zindex:20000, - scrollspeed:60, - mousescrollstep:60, - cursorborderradius: '10px', // Scroll cursor radius - cursorborder: '1px solid rgba(255, 255, 255, 0.4)', - cursorcolor: 'rgba(0, 0, 0, 0.6)', // Scroll cursor color - //autohidemode: 'true', // Do not hide scrollbar when mouse out - cursorwidth: '10px' // Scroll cursor width - }); - } catch (err) { - $log.debug('Smooth Scroll Off.'); - } - } - - } - -})(); diff --git a/d2ice.att.io/app/app.module.js b/d2ice.att.io/app/app.module.js deleted file mode 100755 index ca70547b..00000000 --- a/d2ice.att.io/app/app.module.js +++ /dev/null @@ -1,110 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - 'use strict'; - - angular - .module('ice', [ - // Core - 'ngSanitize', - 'ngAnimate', - 'wysiwyg.module', - 'ui.router', - 'ice.env', - 'ice.modals', - 'angularUtils.directives.dirPagination', - 'ui.select', - 'ui.multiselect', - 'ui.bootstrap', - 'ui.bootstrap.datetimepicker', - 'ngMaterial', 'ngMessages', - 'angular-toArrayFilter', - 'ngIntlTelInput', - 'ui.sortable', - 'jm.i18next', - - // Modules - 'ice.toolbar', - 'ice.navigation', - 'ice.main', - 'ice.contactUs', - 'ice.dashboard.main', - 'ice.dashboard.overview', - 'ice.dashboard.dashboard', - 'ice.activation.login', - 'ice.activation.register', - 'ice.activation.addVf', - 'ice.activation.addVendorContact', - 'ice.activation.resendActivation', - 'ice.activation.terms', - 'ice.activation.activateUser', - 'ice.dashboard.account', - 'ice.documentation', - 'ice.activation.resetPassword', - 'ice.activation.updatePassword', - 'ice.dashboard.checklist', - 'ice.welcome', - 'ice.main.admin', - - // Services - 'ice.services.cacheService', - 'ice.services.users', - 'ice.services.localStorage', - 'ice.services.vf', - 'ice.services.steps', - 'ice.services.vfc', - 'ice.services.dtsite', - 'ice.services.checklist', - 'ice.services.status', - 'ice.services.feedback', - 'ice.services.toast', - 'ice.services.cms', - 'ice.services.sessionStorage', - - // Directives - 'ice.directives', - - // Filters - 'ice.filters', - - // Interceptors - 'ice.interceptors.http' - ]); -})(); diff --git a/d2ice.att.io/app/app.route.js b/d2ice.att.io/app/app.route.js deleted file mode 100755 index 34b79496..00000000 --- a/d2ice.att.io/app/app.route.js +++ /dev/null @@ -1,97 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - 'use strict'; - - angular - .module('ice') - .config(routeConfig); - - function routeConfig($stateProvider, $urlRouterProvider, $locationProvider) { - - // #175 stop ui-route from redirect to #! - $locationProvider.hashPrefix(""); - - $urlRouterProvider.otherwise('/login'); - $urlRouterProvider.when('/dashboard', '/dashbaord/overview'); - - var layoutStyle = 'horizontalNavigation'; - - var layouts = { - horizontalNavigation: { - main: 'core/layouts/dashboard/dashboard.html', - toolbar: 'core/toolbar/layouts/horizontal-navigation/toolbar.html', - navigation: 'core/navigation/layouts/horizontal-navigation/navigation.html' - }, - contentOnly: { - main: 'core/layouts/content-only.html', - toolbar: '', - navigation: '' - }, - contentWithToolbar: { - main: 'core/layouts/content-with-toolbar.html', - toolbar: 'toolbar/layouts/content-with-toolbar/toolbar.html', - navigation: '' - } - }; - - // State definitions - $stateProvider - .state('app', { - abstract: true, - views: { - 'main@': { - templateUrl: layouts[layoutStyle].main, - controller: 'MainController as vm' - }, - 'toolbar@app': { - templateUrl: layouts[layoutStyle].toolbar, - controller: 'ToolbarController as vm' - }, - 'navigation@app': { - templateUrl: layouts[layoutStyle].navigation, - controller: 'NavigationController as vm' - } - } - }); - - } - -})(); diff --git a/d2ice.att.io/app/app.run.js b/d2ice.att.io/app/app.run.js deleted file mode 100755 index b1a4871f..00000000 --- a/d2ice.att.io/app/app.run.js +++ /dev/null @@ -1,244 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - 'use strict'; - - angular - .module('ice') - .run(runBlock); - - function runBlock($rootScope, toastService, sessionStorageService, $state, cacheService, ENV, $window, $log) { - var documentationLastPageSessionKey = 'LastDocumentationPageId'; - var init = function() { - $rootScope.user = {}; - $rootScope.ice = {}; - $rootScope.ice.loader = {}; - $rootScope.state = $state; - $rootScope.baseURL = ENV.apiBase; - - i18NextSetup(); - - var stateChangeStartEvent = $rootScope.$on('$stateChangeStart', function (event, toState, toParams, fromState, fromParams) { - clearToastData(); - clearDocumentationLastPage(toState); - }); - - var stateChangeSuccessEvent = $rootScope.$on('$stateChangeSuccess', function () { - - }); - - $rootScope.$on('$destroy', function () { - stateChangeStartEvent(); - stateChangeSuccessEvent(); - }); - - cacheService.set('configuration', { - "urls": { - "auth": { - "login": $rootScope.baseURL + "login/@t", - "register": $rootScope.baseURL + "signup", - "addVfs": $rootScope.baseURL + "vf/", - "getCompanies": $rootScope.baseURL + "vendors", - "resendActivationMail": $rootScope.baseURL + "users/activation-mail/@user_uuid", - "addVendorContact": $rootScope.baseURL + "add-contact", - "single_engagement": $rootScope.baseURL + "single-engagement/@engagementUuid", - "engagements": $rootScope.baseURL + "engagement", - "inviteMembers": $rootScope.baseURL + "invite-team-members", - "activities": $rootScope.baseURL + "engagement/@engagementUuid/activities/", - "updateDaysLeft": $rootScope.baseURL + "engagements/@engagementUuid/target_date", //set_attr - "updateLabEntryDaysLeft": $rootScope.baseURL + "engagements/@engagementUuid/target_lab_date", - "setSSHKey": $rootScope.baseURL + "users/ssh", - "getIceUser": $rootScope.baseURL + "users", - "getRGWASecret": $rootScope.baseURL + "users/account/rgwa/", - "account": $rootScope.baseURL + "users/account", - "updatePassword": $rootScope.baseURL + "users/pwd/", - "sendResetPwdInstructions": $rootScope.baseURL + "users/pwd/reset-instructions/" - }, - "notifications": { - "getNotifications": $rootScope.baseURL + "notifications/num", - "resetNotificationNum": $rootScope.baseURL + "notifications/reset", - "notificationsDelete": $rootScope.baseURL + "notifications/@uuid", - "getNotificationsDescription": $rootScope.baseURL + "notifications/@userUuid/@offset/@limit" - }, - "steps": { - "get": $rootScope.baseURL + "engagements/@engagement/nextsteps/@progress", - "add": $rootScope.baseURL + "engagements/@engagement/nextsteps", // set_attr - "edit": $rootScope.baseURL + "nextsteps/@stepUuid/engagement/@engUuid", - "order_next_steps": $rootScope.baseURL + "engagements/@engUuid/nextsteps/order_next_steps", - - "update": $rootScope.baseURL + "nextsteps/@stepUuid/state", // put - "delete": $rootScope.baseURL + "nextsteps/@stepUuid", - "createChecklistNextStep": $rootScope.baseURL + "engagement/@engUuid/checklist/@checkListUuid/nextstep/", - "createNextStep": $rootScope.baseURL + "eng/@engUuid/nextstep/", - "getByUser": $rootScope.baseURL + "engagements/user/nextsteps/" - }, - "vf": { - "updateVfs": { - "put": $rootScope.baseURL + "vf/@vf_uuid/validation-details/", - }, - "deployment_target": { - "getDeployTargets": $rootScope.baseURL + "deployment-targets", - "updateDeployTargets": $rootScope.baseURL + "engagement/@engagementUuid//deployment-targets/@deployment_target_uuid", - }, - "ecomp": { - "getECOMPReleases": $rootScope.baseURL + "ecomp-releases", - "updateECOMPReleases": $rootScope.baseURL + "engagement/@engagementUuid/ecomp-releases/@ecomp_uuid", - }, - "version": { - "getVFVersion": $rootScope.baseURL + "vf/@vfUuid/vf-version/", - } - - }, - "vfcs": { - "add": $rootScope.baseURL + "vfcs/", - "get": $rootScope.baseURL + "vf/@vfUuid/vfcs/", - "delete": $rootScope.baseURL + "vf/@vfUuid/vfcs/@vfcUuid", - }, - "status": { - "get": $rootScope.baseURL + "engagements/@engagement/status", - "add": $rootScope.baseURL + "engagements/@engagement/status",// set_attr - "update": $rootScope.baseURL + "engagements/@engagement/status" - }, - "feedback": { - "add":$rootScope.baseURL + "add-feedback" - - }, - "dtsite": { - "get": $rootScope.baseURL + "dtsites/", - "getVFSites": $rootScope.baseURL + "vf/@vfUuid/dtsites/", - "add": $rootScope.baseURL + "dtsites/", - "delete": $rootScope.baseURL + "vf/@vfUuid/dtsites/@dtsUuid", - }, - "checklist": { - "state":{ - "put": $rootScope.baseURL + "checklist/@cl_uuid/state/", - }, - "createChecklist": $rootScope.baseURL + "engagement/@engUuid/checklist/new/", - "getDataForChecklist": $rootScope.baseURL + "engagement/@engUuid/checklist/new/", - "getChecklist": $rootScope.baseURL + "checklist/@checklistUuid", - "putDataForChecklist": $rootScope.baseURL + "checklist/@checklist_uuid", - "checklistDecision": $rootScope.baseURL + "checklist/decision/@decisionUuid", - "createAuditlogChecklist": $rootScope.baseURL + "checklist/@checklist_uuid/auditlog/", - "createAuditlogDecisionChecklist": $rootScope.baseURL + "checklist/decision/@decision_uuid/auditlog/", - "getChecklistTemplates": $rootScope.baseURL + "checklist/templates/", - "getChecklistTemplate": $rootScope.baseURL + "checklist/template/@templateUuid", - "saveChecklistTemplate": $rootScope.baseURL + "checklist/template/" - }, - "engagement": { - "put": $rootScope.baseURL + "engagements/@engagementUuid/", - "updateProgress": $rootScope.baseURL + "engagements/@engagementUuid/progress", // put - "setStage": $rootScope.baseURL + "single-engagement/@engagementUuid/stage/@stage", - "starred_engagement": { - "put" : $rootScope.baseURL + "engagements/starred_eng/", - "get" : $rootScope.baseURL + "engagements/starred_eng/", - }, - "recent_engagement": { - "get" : $rootScope.baseURL + "engagements/recent_eng/", - }, - "engagement_team": { - "put" : $rootScope.baseURL + "engagements/engagement-team/", - }, - "engagementsExpanded": $rootScope.baseURL + "engagement/expanded/", - "exportEngagementsCSV": $rootScope.baseURL + "engagement/export/?stage=@stage&keyword=@keyword", - "reviewer": {"put": $rootScope.baseURL + "engagements/@engagementUuid/reviewer/"}, - "peerreviewer": {"put": $rootScope.baseURL + "engagements/@engagementUuid/peerreviewer/"}, - "switchReviewers": {"put": $rootScope.baseURL + "engagements/@engagementUuid/switch-reviewers/"}, - "archive": {"put": $rootScope.baseURL + "engagements/@engagementUuid/archive/"}, - }, - "welcome": { - "welcome": $rootScope.baseURL + "welcome/", - }, - "cms":{ - "posts": { - "get": $rootScope.baseURL + "cms/posts/?limit=@limit&offset=@offset&fromLastDays=@fromLastDays&category=@category", - }, - "pages": { - "get": $rootScope.baseURL + "cms/pages/?title=@title", - "getById": $rootScope.baseURL + "cms/pages/@id/", - "search": $rootScope.baseURL + "cms/pages/search/?keyword=@keyword" - } - }, - "users": { - "engagementleads": { - "get": $rootScope.baseURL + "users/engagementleads/", - }, - "activate": $rootScope.baseURL + "users/activate/@userid/@token" - }, - } - }); - }; - - var clearToastData = function () { - var toast = toastService.getToast(); - if (toast && !toast.sticky) { - toastService.clearToast(); - } - }; - - var clearDocumentationLastPage = function(toState) { - if(toState && toState.name && toState.name !== 'app.documentation.page' && toState.name !== 'app.documentation') { - sessionStorageService.delete(documentationLastPageSessionKey); - } - }; - - var i18NextSetup = function() { - if($window.i18next) { - $window.i18next.use($window.i18nextXHRBackend) - - $window.i18next.init({ - debug: false, - lng: 'en', - fallbackLng: 'en', - backend: { - loadPath: 'locales/{{lng}}/{{ns}}.json' - }, - useCookie: false, - useLocalStorage: false - }, function (err, t) { - if(err) { - $log.error(err); - } - }); - } - }; - - init(); - } -})(); diff --git a/d2ice.att.io/app/core/js/jquery.nicescroll-master/MIT.LICENSE b/d2ice.att.io/app/core/js/jquery.nicescroll-master/MIT.LICENSE deleted file mode 100755 index 011a2a97..00000000 --- a/d2ice.att.io/app/core/js/jquery.nicescroll-master/MIT.LICENSE +++ /dev/null @@ -1,17 +0,0 @@ -Open Source Initiative OSI - The MIT License (MIT):Licensing -[OSI Approved License] -The MIT License (MIT) - -Copyright (c) 2011-14 InuYaksa - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, -and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/d2ice.att.io/app/core/js/jquery.nicescroll-master/README.md b/d2ice.att.io/app/core/js/jquery.nicescroll-master/README.md deleted file mode 100755 index 9a670133..00000000 --- a/d2ice.att.io/app/core/js/jquery.nicescroll-master/README.md +++ /dev/null @@ -1,182 +0,0 @@ -#jQuery.NiceScroll -v. 3.6.8 02-29-2016 - - - [Web Site: nicescroll.areaaperta.com](http://nicescroll.areaaperta.com) - - [Repo: github.com/inuyaksa/jquery.nicescroll](https://github.com/inuyaksa/jquery.nicescroll) - - [Twitter: @nicescroll](https://twitter.com/nicescroll) - - [![Join the chat at https://gitter.im/inuyaksa/jquery.nicescroll](https://badges.gitter.im/inuyaksa/jquery.nicescroll.svg)](https://gitter.im/inuyaksa/jquery.nicescroll?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) - -> Nicescroll as a Greasemonkey plugin: http://userscripts.org/scripts/show/119910 (freezed) - - -> Nicescroll is a jquery plugin, for nice scrollbars with a very similar ios/mobile style. - - - HORIZONAL scrollbar support! - - It supports DIVs, IFrames, textarea, and document page (body) scrollbars. - - Compatible with all desktop browser: Firefox 4+, Chrome 5+, Safari 4+ (win/mac), Opera 10+, IE 6+. (all A-grade browsers) - - Compatible with mobile device: iPad/iPhone/iPod, Android 2.2+, Blackberry phones and Playbook (WebWorks/Table OS), Windows Phone 7.5 Mango. - - Compatible with all touch devices: iPad, Android tablets, Window Surface. - - Compabible with multi-input device (mouse with touch or pen): Window Surface, Chrome Desktop on touch notebook. - - Compatible with 2 directions mice: Apple Magic Mouse, Apple Mouser with 2-dir wheel, PC mouse with 2-dir wheel (if browser support it). - -So you have scrollable divs with momentum for iPad 4+ and you have consistent scrollable areas for all desktop and mobile platforms. - -Sexy zoom feature, you can "zoom-in" the content of any nicescroll'ed div. -Nice to use and nice to see, all the content of the div in fullscreen mode. -It works on desktop (double click on div) either in mobile/touch devices using pinch gesture. - -On modern browsers hardware accelerated scrolling has implemented. -Using animationFrame for a smoothest and cpu-saving scrolling. (when browser supports) - -"Use strict" tested script for maximum code quality. -Bower and AMD ready. - -Warning for IE6 users (why do you uses IE6 yet? Please updgrade to a more stable and modern browser), some feature can't work for limitation of the browser. -Document (body) scrollbars can't appears, old (native browser) one is used. Some issues with IFrame scrolling. - - -## FEATURES - -- simple installation and activation, it works with NO modification of your code. (some exceptions can happen, so you can write to me) -- very stylish scrollbars, with no occupation on your window (original browser scrollbars need some of page space and reduces window/div usable width) -- you can style main document scrollbar (body) too!! (not all script implements this feature) -- on all browsers you can scroll: dragging the cursor, mouse wheel (speed customizable), keyboard navigation (cursor keys, pagup/down keys, home/end keys) -- scroll is smooth (as modern tablet browsing), speed is customizable -- zoom feature -- hardware accelerated scroll (where available) -- animation frame support for smoth scrolling and cpu-saving -- dragging scroll mode with scrolling momentum (as touch device) -- tested for all major browsers desktop and mobile versions -- support for touch devices -- support for multi-input devices (IE10 with MSPointer) -- compatible with many other browsers, including IE6, Safari on Mac and WP7 Mango! -- very customizable aspect of bar -- native scroll events are working yet -- fully integrated with jQuery -- compatibile with jQuery UI, jQuery Touch, jQuery Mobile - - -## DEPENDENCIES ->> It's a plugin for the jquery framework, you need to include jquery in your scripts. ->> From 1.5.x version and on. (I'd better to use 1.8.3+ minimum) - - -* INSTALLATION -Put loading script tag after jquery script tag and loading the zoom image in the same folder of the script: - - - -Copy image "zoomico.png" in the same folder of jquery.nicescroll.js. - - -* HOW TO USE - -Initialize nicescroll ALWAYS in (document) ready statement. -```javascript -// 1. Simple mode, it styles document scrollbar: -$(document).ready(function() { - $("html").niceScroll(); -}); - -// 2. Instance with object returned: -var nice = false; -$(document).ready(function() { - nice = $("html").niceScroll(); -}); - -// 3. Style a DIV and chage cursor color: -$(document).ready(function() { - $("#thisdiv").niceScroll({cursorcolor:"#00F"}); -}); - -// 4. DIV with "wrapper", formed by two divs, the first is the vieport, the latter is the content: -$(document).ready(function() { - $("#viewportdiv").niceScroll("#wrapperdiv",{cursorcolor:"#00F"}); -}); - -// 5. Get nicescroll object: -var nice = $("#mydiv").getNiceScroll(); - -// 6. Hide scrollbars: -$("#mydiv").getNiceScroll().hide(); - -// 7. Check for scrollbars resize (when content or position have changed): -$("#mydiv").getNiceScroll().resize(); - -// 8. Scrolling to a position: -$("#mydiv").getNiceScroll(0).doScrollLeft(x, duration); // Scroll X Axis -$("#mydiv").getNiceScroll(0).doScrollTop(y, duration); // Scroll Y Axis -``` - -## CONFIGURATION PARAMETERS -When you call "niceScroll" you can pass some parameters to custom visual aspects: - -```javascript -$("#thisdiv").niceScroll({ - cursorcolor: "#424242", // change cursor color in hex - cursoropacitymin: 0, // change opacity when cursor is inactive (scrollabar "hidden" state), range from 1 to 0 - cursoropacitymax: 1, // change opacity when cursor is active (scrollabar "visible" state), range from 1 to 0 - cursorwidth: "5px", // cursor width in pixel (you can also write "5px") - cursorborder: "1px solid #fff", // css definition for cursor border - cursorborderradius: "5px", // border radius in pixel for cursor - zindex: "auto" | , // change z-index for scrollbar div - scrollspeed: 60, // scrolling speed - mousescrollstep: 40, // scrolling speed with mouse wheel (pixel) - touchbehavior: false, // enable cursor-drag scrolling like touch devices in desktop computer - hwacceleration: true, // use hardware accelerated scroll when supported - boxzoom: false, // enable zoom for box content - dblclickzoom: true, // (only when boxzoom=true) zoom activated when double click on box - gesturezoom: true, // (only when boxzoom=true and with touch devices) zoom activated when pinch out/in on box - grabcursorenabled: true // (only when touchbehavior=true) display "grab" icon - autohidemode: true, // how hide the scrollbar works, possible values: - true | // hide when no scrolling - "cursor" | // only cursor hidden - false | // do not hide, - "leave" | // hide only if pointer leaves content - "hidden" | // hide always - "scroll", // show only on scroll - background: "", // change css for rail background - iframeautoresize: true, // autoresize iframe on load event - cursorminheight: 32, // set the minimum cursor height (pixel) - preservenativescrolling: true, // you can scroll native scrollable areas with mouse, bubbling mouse wheel event - railoffset: false, // you can add offset top/left for rail position - bouncescroll: false, // (only hw accell) enable scroll bouncing at the end of content as mobile-like - spacebarenabled: true, // enable page down scrolling when space bar has pressed - railpadding: { top: 0, right: 0, left: 0, bottom: 0 }, // set padding for rail bar - disableoutline: true, // for chrome browser, disable outline (orange highlight) when selecting a div with nicescroll - horizrailenabled: true, // nicescroll can manage horizontal scroll - railalign: right, // alignment of vertical rail - railvalign: bottom, // alignment of horizontal rail - enabletranslate3d: true, // nicescroll can use css translate to scroll content - enablemousewheel: true, // nicescroll can manage mouse wheel events - enablekeyboard: true, // nicescroll can manage keyboard events - smoothscroll: true, // scroll with ease movement - sensitiverail: true, // click on rail make a scroll - enablemouselockapi: true, // can use mouse caption lock API (same issue on object dragging) - cursorfixedheight: false, // set fixed height for cursor in pixel - hidecursordelay: 400, // set the delay in microseconds to fading out scrollbars - directionlockdeadzone: 6, // dead zone in pixels for direction lock activation - nativeparentscrolling: true, // detect bottom of content and let parent to scroll, as native scroll does - enablescrollonselection: true, // enable auto-scrolling of content when selection text - cursordragspeed: 0.3, // speed of selection when dragged with cursor - rtlmode: "auto", // horizontal div scrolling starts at left side - cursordragontouch: false, // drag cursor in touch / touchbehavior mode also - oneaxismousemode: "auto", // it permits horizontal scrolling with mousewheel on horizontal only content, if false (vertical-only) mousewheel don't scroll horizontally, if value is auto detects two-axis mouse - scriptpath: "" // define custom path for boxmode icons ("" => same script path) - preventmultitouchscrolling: true // prevent scrolling on multitouch events - disablemutationobserver: false // force MutationObserver disabled -}); -``` - -Related projects ----------------- - -* [Nicescroll for Angular](https://github.com/tushariscoolster/angular-nicescroll) - -* LICENSE - -## Copyright 2011-16 InuYaksa - -######Licensed under the MIT License, http://www.opensource.org/licenses/mit-license.php -######Images used for zoom icons have derived from OLPC interface, http://laptop.org/8.2.0/manual/Browse_ChangingView.html diff --git a/d2ice.att.io/app/core/js/jquery.nicescroll-master/bower.json b/d2ice.att.io/app/core/js/jquery.nicescroll-master/bower.json deleted file mode 100755 index 11e7c7aa..00000000 --- a/d2ice.att.io/app/core/js/jquery.nicescroll-master/bower.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "name": "jquery.nicescroll", - "main": [ - "./jquery.nicescroll.js", - "./zoomico.png" - ], - "ignore": [ - "**/.*", - "demo", - "package.json" - ], - "dependencies": { - "jquery": ">=1.8.3" - } -} diff --git a/d2ice.att.io/app/core/js/jquery.nicescroll-master/changelog_3.6.8.txt b/d2ice.att.io/app/core/js/jquery.nicescroll-master/changelog_3.6.8.txt deleted file mode 100755 index 6e94ca47..00000000 --- a/d2ice.att.io/app/core/js/jquery.nicescroll-master/changelog_3.6.8.txt +++ /dev/null @@ -1,31 +0,0 @@ -Changelog nicescroll release 3.6.8 -http://nicescroll.areaaperta.com/ -https://github.com/inuyaksa/jquery.nicescroll - - -Changed features - -New options -- disablemutationobserver, = TRUE when you want that MutationObserver disabled #580 - -Fixes -- Fix show of null #583 -- Refactoring js #582 -- Removed comments #577 -- Timeouts & using on dynamic DOM Elements: "Uncaught TypeError" #579 -- version 3.6.6 stack overflow #578 -- MutationObserver. IE11 crashes #568 -- Xbox One IE Edge browser can't scroll anywhere #581 (to test on real hw!) -- NIce Scroll doesnt work on Window Surface IE Edge #555 - - -Thanks to great contributors!! -@silversonicaxel -@vsn4ik -@ronar -@StephanBijzitter - - - -TODO -- deprecate legacy browsers \ No newline at end of file diff --git a/d2ice.att.io/app/core/js/jquery.nicescroll-master/dist/jquery.nicescroll.min.js b/d2ice.att.io/app/core/js/jquery.nicescroll-master/dist/jquery.nicescroll.min.js deleted file mode 100755 index 2013b3cc..00000000 --- a/d2ice.att.io/app/core/js/jquery.nicescroll-master/dist/jquery.nicescroll.min.js +++ /dev/null @@ -1,158 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -/* jquery.nicescroll 3.6.8 InuYaksa*2015 MIT http://nicescroll.areaaperta.com */(function(f){"function"===typeof define&&define.amd?define(["jquery"],f):"object"===typeof exports?module.exports=f(require("jquery")):f(jQuery)})(function(f){var B=!1,F=!1,O=0,P=2E3,A=0,J=["webkit","ms","moz","o"],v=window.requestAnimationFrame||!1,w=window.cancelAnimationFrame||!1;if(!v)for(var Q in J){var G=J[Q];if(v=window[G+"RequestAnimationFrame"]){w=window[G+"CancelAnimationFrame"]||window[G+"CancelRequestAnimationFrame"];break}}var x=window.MutationObserver||window.WebKitMutationObserver|| -!1,K={zindex:"auto",cursoropacitymin:0,cursoropacitymax:1,cursorcolor:"#424242",cursorwidth:"6px",cursorborder:"1px solid #fff",cursorborderradius:"5px",scrollspeed:60,mousescrollstep:24,touchbehavior:!1,hwacceleration:!0,usetransition:!0,boxzoom:!1,dblclickzoom:!0,gesturezoom:!0,grabcursorenabled:!0,autohidemode:!0,background:"",iframeautoresize:!0,cursorminheight:32,preservenativescrolling:!0,railoffset:!1,railhoffset:!1,bouncescroll:!0,spacebarenabled:!0,railpadding:{top:0,right:0,left:0,bottom:0}, -disableoutline:!0,horizrailenabled:!0,railalign:"right",railvalign:"bottom",enabletranslate3d:!0,enablemousewheel:!0,enablekeyboard:!0,smoothscroll:!0,sensitiverail:!0,enablemouselockapi:!0,cursorfixedheight:!1,directionlockdeadzone:6,hidecursordelay:400,nativeparentscrolling:!0,enablescrollonselection:!0,overflowx:!0,overflowy:!0,cursordragspeed:.3,rtlmode:"auto",cursordragontouch:!1,oneaxismousemode:"auto",scriptpath:function(){var f=document.getElementsByTagName("script"),f=f.length?f[f.length- -1].src.split("?")[0]:"";return 0d?a.getScrollLeft()>=a.page.maxw:0>=a.getScrollLeft())&&(e=d,d=0));a.isrtlmode&&(d=-d);d&&(a.scrollmom&&a.scrollmom.stop(),a.lastdeltax+=d,a.debounced("mousewheelx",function(){var b=a.lastdeltax;a.lastdeltax=0;a.rail.drag||a.doScrollLeftBy(b)},15));if(e){if(a.opt.nativeparentscrolling&&c&&!a.ispage&&!a.zoomactive)if(0>e){if(a.getScrollTop()>=a.page.maxh)return!0}else if(0>=a.getScrollTop())return!0;a.scrollmom&&a.scrollmom.stop();a.lastdeltay+=e; -a.synched("mousewheely",function(){var b=a.lastdeltay;a.lastdeltay=0;a.rail.drag||a.doScrollBy(b)},15)}b.stopImmediatePropagation();return b.preventDefault()}var a=this;this.version="3.6.8";this.name="nicescroll";this.me=c;this.opt={doc:f("body"),win:!1};f.extend(this.opt,K);this.opt.snapbackspeed=80;if(h)for(var r in a.opt)void 0!==h[r]&&(a.opt[r]=h[r]);a.opt.disablemutationobserver&&(x=!1);this.iddoc=(this.doc=a.opt.doc)&&this.doc[0]?this.doc[0].id||"":"";this.ispage=/^BODY|HTML/.test(a.opt.win? -a.opt.win[0].nodeName:this.doc[0].nodeName);this.haswrapper=!1!==a.opt.win;this.win=a.opt.win||(this.ispage?f(window):this.doc);this.docscroll=this.ispage&&!this.haswrapper?f(window):this.win;this.body=f("body");this.iframe=this.isfixed=this.viewport=!1;this.isiframe="IFRAME"==this.doc[0].nodeName&&"IFRAME"==this.win[0].nodeName;this.istextarea="TEXTAREA"==this.win[0].nodeName;this.forcescreen=!1;this.canshowonmouseevent="scroll"!=a.opt.autohidemode;this.page=this.view=this.onzoomout=this.onzoomin= -this.onscrollcancel=this.onscrollend=this.onscrollstart=this.onclick=this.ongesturezoom=this.onkeypress=this.onmousewheel=this.onmousemove=this.onmouseup=this.onmousedown=!1;this.scroll={x:0,y:0};this.scrollratio={x:0,y:0};this.cursorheight=20;this.scrollvaluemax=0;if("auto"==this.opt.rtlmode){r=this.win[0]==window?this.body:this.win;var p=r.css("writing-mode")||r.css("-webkit-writing-mode")||r.css("-ms-writing-mode")||r.css("-moz-writing-mode");"horizontal-tb"==p||"lr-tb"==p||""==p?(this.isrtlmode= -"rtl"==r.css("direction"),this.isvertical=!1):(this.isrtlmode="vertical-rl"==p||"tb"==p||"tb-rl"==p||"rl-tb"==p,this.isvertical="vertical-rl"==p||"tb"==p||"tb-rl"==p)}else this.isrtlmode=!0===this.opt.rtlmode,this.isvertical=!1;this.observerbody=this.observerremover=this.observer=this.scrollmom=this.scrollrunning=!1;do this.id="ascrail"+P++;while(document.getElementById(this.id));this.hasmousefocus=this.hasfocus=this.zoomactive=this.zoom=this.selectiondrag=this.cursorfreezed=this.cursor=this.rail= -!1;this.visibility=!0;this.hidden=this.locked=this.railslocked=!1;this.cursoractive=!0;this.wheelprevented=!1;this.overflowx=a.opt.overflowx;this.overflowy=a.opt.overflowy;this.nativescrollingarea=!1;this.checkarea=0;this.events=[];this.saved={};this.delaylist={};this.synclist={};this.lastdeltay=this.lastdeltax=0;this.detected=R();var e=f.extend({},this.detected);this.ishwscroll=(this.canhwscroll=e.hastransform&&a.opt.hwacceleration)&&a.haswrapper;this.hasreversehr=this.isrtlmode?this.isvertical? -!(e.iswebkit||e.isie||e.isie11):!(e.iswebkit||e.isie&&!e.isie10&&!e.isie11):!1;this.istouchcapable=!1;e.cantouch||!e.hasw3ctouch&&!e.hasmstouch?!e.cantouch||e.isios||e.isandroid||!e.iswebkit&&!e.ismozilla||(this.istouchcapable=!0):this.istouchcapable=!0;a.opt.enablemouselockapi||(e.hasmousecapture=!1,e.haspointerlock=!1);this.debounced=function(b,g,c){a&&(a.delaylist[b]||(g.call(a),a.delaylist[b]={h:v(function(){a.delaylist[b].fn.call(a);a.delaylist[b]=!1},c)}),a.delaylist[b].fn=g)};var I=!1;this.synched= -function(b,g){a.synclist[b]=g;(function(){I||(v(function(){if(a){I=!1;for(var b in a.synclist){var g=a.synclist[b];g&&g.call(a);a.synclist[b]=!1}}}),I=!0)})();return b};this.unsynched=function(b){a.synclist[b]&&(a.synclist[b]=!1)};this.css=function(b,g){for(var c in g)a.saved.css.push([b,c,b.css(c)]),b.css(c,g[c])};this.scrollTop=function(b){return void 0===b?a.getScrollTop():a.setScrollTop(b)};this.scrollLeft=function(b){return void 0===b?a.getScrollLeft():a.setScrollLeft(b)};var D=function(a,g, -c,d,e,f,k){this.st=a;this.ed=g;this.spd=c;this.p1=d||0;this.p2=e||1;this.p3=f||0;this.p4=k||1;this.ts=(new Date).getTime();this.df=this.ed-this.st};D.prototype={B2:function(a){return 3*a*a*(1-a)},B3:function(a){return 3*a*(1-a)*(1-a)},B4:function(a){return(1-a)*(1-a)*(1-a)},getNow:function(){var a=1-((new Date).getTime()-this.ts)/this.spd,g=this.B2(a)+this.B3(a)+this.B4(a);return 0>a?this.ed:this.st+Math.round(this.df*g)},update:function(a,g){this.st=this.getNow();this.ed=a;this.spd=g;this.ts=(new Date).getTime(); -this.df=this.ed-this.st;return this}};if(this.ishwscroll){this.doc.translate={x:0,y:0,tx:"0px",ty:"0px"};e.hastranslate3d&&e.isios&&this.doc.css("-webkit-backface-visibility","hidden");this.getScrollTop=function(b){if(!b){if(b=k())return 16==b.length?-b[13]:-b[5];if(a.timerscroll&&a.timerscroll.bz)return a.timerscroll.bz.getNow()}return a.doc.translate.y};this.getScrollLeft=function(b){if(!b){if(b=k())return 16==b.length?-b[12]:-b[4];if(a.timerscroll&&a.timerscroll.bh)return a.timerscroll.bh.getNow()}return a.doc.translate.x}; -this.notifyScrollEvent=function(a){var g=document.createEvent("UIEvents");g.initUIEvent("scroll",!1,!0,window,1);g.niceevent=!0;a.dispatchEvent(g)};var y=this.isrtlmode?1:-1;e.hastranslate3d&&a.opt.enabletranslate3d?(this.setScrollTop=function(b,g){a.doc.translate.y=b;a.doc.translate.ty=-1*b+"px";a.doc.css(e.trstyle,"translate3d("+a.doc.translate.tx+","+a.doc.translate.ty+",0px)");g||a.notifyScrollEvent(a.win[0])},this.setScrollLeft=function(b,g){a.doc.translate.x=b;a.doc.translate.tx=b*y+"px";a.doc.css(e.trstyle, -"translate3d("+a.doc.translate.tx+","+a.doc.translate.ty+",0px)");g||a.notifyScrollEvent(a.win[0])}):(this.setScrollTop=function(b,g){a.doc.translate.y=b;a.doc.translate.ty=-1*b+"px";a.doc.css(e.trstyle,"translate("+a.doc.translate.tx+","+a.doc.translate.ty+")");g||a.notifyScrollEvent(a.win[0])},this.setScrollLeft=function(b,g){a.doc.translate.x=b;a.doc.translate.tx=b*y+"px";a.doc.css(e.trstyle,"translate("+a.doc.translate.tx+","+a.doc.translate.ty+")");g||a.notifyScrollEvent(a.win[0])})}else this.getScrollTop= -function(){return a.docscroll.scrollTop()},this.setScrollTop=function(b){return setTimeout(function(){a&&a.docscroll.scrollTop(b)},1)},this.getScrollLeft=function(){return a.hasreversehr?a.detected.ismozilla?a.page.maxw-Math.abs(a.docscroll.scrollLeft()):a.page.maxw-a.docscroll.scrollLeft():a.docscroll.scrollLeft()},this.setScrollLeft=function(b){return setTimeout(function(){if(a)return a.hasreversehr&&(b=a.detected.ismozilla?-(a.page.maxw-b):a.page.maxw-b),a.docscroll.scrollLeft(b)},1)};this.getTarget= -function(a){return a?a.target?a.target:a.srcElement?a.srcElement:!1:!1};this.hasParent=function(a,g){if(!a)return!1;for(var c=a.target||a.srcElement||a||!1;c&&c.id!=g;)c=c.parentNode||!1;return!1!==c};var z={thin:1,medium:3,thick:5};this.getDocumentScrollOffset=function(){return{top:window.pageYOffset||document.documentElement.scrollTop,left:window.pageXOffset||document.documentElement.scrollLeft}};this.getOffset=function(){if(a.isfixed){var b=a.win.offset(),g=a.getDocumentScrollOffset();b.top-=g.top; -b.left-=g.left;return b}b=a.win.offset();if(!a.viewport)return b;g=a.viewport.offset();return{top:b.top-g.top,left:b.left-g.left}};this.updateScrollBar=function(b){var g,c,e;if(a.ishwscroll)a.rail.css({height:a.win.innerHeight()-(a.opt.railpadding.top+a.opt.railpadding.bottom)}),a.railh&&a.railh.css({width:a.win.innerWidth()-(a.opt.railpadding.left+a.opt.railpadding.right)});else{var f=a.getOffset();g=f.top;c=f.left-(a.opt.railpadding.left+a.opt.railpadding.right);g+=d(a.win,"border-top-width",!0); -c+=a.rail.align?a.win.outerWidth()-d(a.win,"border-right-width")-a.rail.width:d(a.win,"border-left-width");if(e=a.opt.railoffset)e.top&&(g+=e.top),e.left&&(c+=e.left);a.railslocked||a.rail.css({top:g,left:c,height:(b?b.h:a.win.innerHeight())-(a.opt.railpadding.top+a.opt.railpadding.bottom)});a.zoom&&a.zoom.css({top:g+1,left:1==a.rail.align?c-20:c+a.rail.width+4});if(a.railh&&!a.railslocked){g=f.top;c=f.left;if(e=a.opt.railhoffset)e.top&&(g+=e.top),e.left&&(c+=e.left);b=a.railh.align?g+d(a.win,"border-top-width", -!0)+a.win.innerHeight()-a.railh.height:g+d(a.win,"border-top-width",!0);c+=d(a.win,"border-left-width");a.railh.css({top:b-(a.opt.railpadding.top+a.opt.railpadding.bottom),left:c,width:a.railh.width})}}};this.doRailClick=function(b,g,c){var d;a.railslocked||(a.cancelEvent(b),g?(g=c?a.doScrollLeft:a.doScrollTop,d=c?(b.pageX-a.railh.offset().left-a.cursorwidth/2)*a.scrollratio.x:(b.pageY-a.rail.offset().top-a.cursorheight/2)*a.scrollratio.y,g(d)):(g=c?a.doScrollLeftBy:a.doScrollBy,d=c?a.scroll.x:a.scroll.y, -b=c?b.pageX-a.railh.offset().left:b.pageY-a.rail.offset().top,c=c?a.view.w:a.view.h,g(d>=b?c:-c)))};a.hasanimationframe=v;a.hascancelanimationframe=w;a.hasanimationframe?a.hascancelanimationframe||(w=function(){a.cancelAnimationFrame=!0}):(v=function(a){return setTimeout(a,15-Math.floor(+new Date/1E3)%16)},w=clearTimeout);this.init=function(){a.saved.css=[];if(e.isie7mobile||e.isoperamini)return!0;e.hasmstouch&&a.css(a.ispage?f("html"):a.win,{_touchaction:"none"});var b=e.ismodernie||e.isie10?{"-ms-overflow-style":"none"}: -{"overflow-y":"hidden"};a.zindex="auto";a.zindex=a.ispage||"auto"!=a.opt.zindex?a.opt.zindex:l()||"auto";!a.ispage&&"auto"!=a.zindex&&a.zindex>A&&(A=a.zindex);a.isie&&0==a.zindex&&"auto"==a.opt.zindex&&(a.zindex="auto");if(!a.ispage||!e.cantouch&&!e.isieold&&!e.isie9mobile){var c=a.docscroll;a.ispage&&(c=a.haswrapper?a.win:a.doc);e.isie9mobile||a.css(c,b);a.ispage&&e.isie7&&("BODY"==a.doc[0].nodeName?a.css(f("html"),{"overflow-y":"hidden"}):"HTML"==a.doc[0].nodeName&&a.css(f("body"),b));!e.isios|| -a.ispage||a.haswrapper||a.css(f("body"),{"-webkit-overflow-scrolling":"touch"});var d=f(document.createElement("div"));d.css({position:"relative",top:0,"float":"right",width:a.opt.cursorwidth,height:0,"background-color":a.opt.cursorcolor,border:a.opt.cursorborder,"background-clip":"padding-box","-webkit-border-radius":a.opt.cursorborderradius,"-moz-border-radius":a.opt.cursorborderradius,"border-radius":a.opt.cursorborderradius});d.hborder=parseFloat(d.outerHeight()-d.innerHeight());d.addClass("nicescroll-cursors"); -a.cursor=d;var m=f(document.createElement("div"));m.attr("id",a.id);m.addClass("nicescroll-rails nicescroll-rails-vr");var k,h,p=["left","right","top","bottom"],L;for(L in p)h=p[L],(k=a.opt.railpadding[h])?m.css("padding-"+h,k+"px"):a.opt.railpadding[h]=0;m.append(d);m.width=Math.max(parseFloat(a.opt.cursorwidth),d.outerWidth());m.css({width:m.width+"px",zIndex:a.zindex,background:a.opt.background,cursor:"default"});m.visibility=!0;m.scrollable=!0;m.align="left"==a.opt.railalign?0:1;a.rail=m;d=a.rail.drag= -!1;!a.opt.boxzoom||a.ispage||e.isieold||(d=document.createElement("div"),a.bind(d,"click",a.doZoom),a.bind(d,"mouseenter",function(){a.zoom.css("opacity",a.opt.cursoropacitymax)}),a.bind(d,"mouseleave",function(){a.zoom.css("opacity",a.opt.cursoropacitymin)}),a.zoom=f(d),a.zoom.css({cursor:"pointer",zIndex:a.zindex,backgroundImage:"url("+a.opt.scriptpath+"zoomico.png)",height:18,width:18,backgroundPosition:"0px 0px"}),a.opt.dblclickzoom&&a.bind(a.win,"dblclick",a.doZoom),e.cantouch&&a.opt.gesturezoom&& -(a.ongesturezoom=function(b){1.5b.scale&&a.doZoomOut(b);return a.cancelEvent(b)},a.bind(a.win,"gestureend",a.ongesturezoom)));a.railh=!1;var n;a.opt.horizrailenabled&&(a.css(c,{overflowX:"hidden"}),d=f(document.createElement("div")),d.css({position:"absolute",top:0,height:a.opt.cursorwidth,width:0,backgroundColor:a.opt.cursorcolor,border:a.opt.cursorborder,backgroundClip:"padding-box","-webkit-border-radius":a.opt.cursorborderradius,"-moz-border-radius":a.opt.cursorborderradius, -"border-radius":a.opt.cursorborderradius}),e.isieold&&d.css("overflow","hidden"),d.wborder=parseFloat(d.outerWidth()-d.innerWidth()),d.addClass("nicescroll-cursors"),a.cursorh=d,n=f(document.createElement("div")),n.attr("id",a.id+"-hr"),n.addClass("nicescroll-rails nicescroll-rails-hr"),n.height=Math.max(parseFloat(a.opt.cursorwidth),d.outerHeight()),n.css({height:n.height+"px",zIndex:a.zindex,background:a.opt.background}),n.append(d),n.visibility=!0,n.scrollable=!0,n.align="top"==a.opt.railvalign? -0:1,a.railh=n,a.railh.drag=!1);a.ispage?(m.css({position:"fixed",top:0,height:"100%"}),m.align?m.css({right:0}):m.css({left:0}),a.body.append(m),a.railh&&(n.css({position:"fixed",left:0,width:"100%"}),n.align?n.css({bottom:0}):n.css({top:0}),a.body.append(n))):(a.ishwscroll?("static"==a.win.css("position")&&a.css(a.win,{position:"relative"}),c="HTML"==a.win[0].nodeName?a.body:a.win,f(c).scrollTop(0).scrollLeft(0),a.zoom&&(a.zoom.css({position:"absolute",top:1,right:0,"margin-right":m.width+4}),c.append(a.zoom)), -m.css({position:"absolute",top:0}),m.align?m.css({right:0}):m.css({left:0}),c.append(m),n&&(n.css({position:"absolute",left:0,bottom:0}),n.align?n.css({bottom:0}):n.css({top:0}),c.append(n))):(a.isfixed="fixed"==a.win.css("position"),c=a.isfixed?"fixed":"absolute",a.isfixed||(a.viewport=a.getViewport(a.win[0])),a.viewport&&(a.body=a.viewport,0==/fixed|absolute/.test(a.viewport.css("position"))&&a.css(a.viewport,{position:"relative"})),m.css({position:c}),a.zoom&&a.zoom.css({position:c}),a.updateScrollBar(), -a.body.append(m),a.zoom&&a.body.append(a.zoom),a.railh&&(n.css({position:c}),a.body.append(n))),e.isios&&a.css(a.win,{"-webkit-tap-highlight-color":"rgba(0,0,0,0)","-webkit-touch-callout":"none"}),e.isie&&a.opt.disableoutline&&a.win.attr("hideFocus","true"),e.iswebkit&&a.opt.disableoutline&&a.win.css("outline","none"));!1===a.opt.autohidemode?(a.autohidedom=!1,a.rail.css({opacity:a.opt.cursoropacitymax}),a.railh&&a.railh.css({opacity:a.opt.cursoropacitymax})):!0===a.opt.autohidemode||"leave"===a.opt.autohidemode? -(a.autohidedom=f().add(a.rail),e.isie8&&(a.autohidedom=a.autohidedom.add(a.cursor)),a.railh&&(a.autohidedom=a.autohidedom.add(a.railh)),a.railh&&e.isie8&&(a.autohidedom=a.autohidedom.add(a.cursorh))):"scroll"==a.opt.autohidemode?(a.autohidedom=f().add(a.rail),a.railh&&(a.autohidedom=a.autohidedom.add(a.railh))):"cursor"==a.opt.autohidemode?(a.autohidedom=f().add(a.cursor),a.railh&&(a.autohidedom=a.autohidedom.add(a.cursorh))):"hidden"==a.opt.autohidemode&&(a.autohidedom=!1,a.hide(),a.railslocked= -!1);if(e.isie9mobile)a.scrollmom=new M(a),a.onmangotouch=function(){var b=a.getScrollTop(),c=a.getScrollLeft();if(b==a.scrollmom.lastscrolly&&c==a.scrollmom.lastscrollx)return!0;var g=b-a.mangotouch.sy,d=c-a.mangotouch.sx;if(0!=Math.round(Math.sqrt(Math.pow(d,2)+Math.pow(g,2)))){var e=0>g?-1:1,f=0>d?-1:1,u=+new Date;a.mangotouch.lazy&&clearTimeout(a.mangotouch.lazy);80h?h=Math.round(h/2):h>a.page.maxh&&(h=a.page.maxh+Math.round((h-a.page.maxh)/2)):(0>h&&(u=h=0),h>a.page.maxh&&(h=a.page.maxh,u=0));var l;a.railh&&a.railh.scrollable&&(l=a.isrtlmode?k-a.rail.drag.sl:a.rail.drag.sl-k,a.ishwscroll&&a.opt.bouncescroll?0>l?l=Math.round(l/2):l>a.page.maxw&&(l=a.page.maxw+Math.round((l-a.page.maxw)/ -2)):(0>l&&(m=l=0),l>a.page.maxw&&(l=a.page.maxw,m=0)));g=!1;if(a.rail.drag.dl)g=!0,"v"==a.rail.drag.dl?l=a.rail.drag.sl:"h"==a.rail.drag.dl&&(h=a.rail.drag.st);else{d=Math.abs(d);var k=Math.abs(k),C=a.opt.directionlockdeadzone;if("v"==a.rail.drag.ck){if(d>C&&k<=.3*d)return a.rail.drag=!1,!0;k>C&&(a.rail.drag.dl="f",f("body").scrollTop(f("body").scrollTop()))}else if("h"==a.rail.drag.ck){if(k>C&&d<=.3*k)return a.rail.drag=!1,!0;d>C&&(a.rail.drag.dl="f",f("body").scrollLeft(f("body").scrollLeft()))}}a.synched("touchmove", -function(){a.rail.drag&&2==a.rail.drag.pt&&(a.prepareTransition&&a.prepareTransition(0),a.rail.scrollable&&a.setScrollTop(h),a.scrollmom.update(m,u),a.railh&&a.railh.scrollable?(a.setScrollLeft(l),a.showCursor(h,l)):a.showCursor(h),e.isie10&&document.selection.clear())});e.ischrome&&a.istouchcapable&&(g=!1);if(g)return a.cancelEvent(b)}else if(1==a.rail.drag.pt)return a.onmousemove(b)}}a.onmousedown=function(b,c){if(!a.rail.drag||1==a.rail.drag.pt){if(a.railslocked)return a.cancelEvent(b);a.cancelScroll(); -a.rail.drag={x:b.clientX,y:b.clientY,sx:a.scroll.x,sy:a.scroll.y,pt:1,hr:!!c};var g=a.getTarget(b);!a.ispage&&e.hasmousecapture&&g.setCapture();a.isiframe&&!e.hasmousecapture&&(a.saved.csspointerevents=a.doc.css("pointer-events"),a.css(a.doc,{"pointer-events":"none"}));a.hasmoving=!1;return a.cancelEvent(b)}};a.onmouseup=function(b){if(a.rail.drag){if(1!=a.rail.drag.pt)return!0;e.hasmousecapture&&document.releaseCapture();a.isiframe&&!e.hasmousecapture&&a.doc.css("pointer-events",a.saved.csspointerevents); -a.rail.drag=!1;a.hasmoving&&a.triggerScrollEnd();return a.cancelEvent(b)}};a.onmousemove=function(b){if(a.rail.drag){if(1==a.rail.drag.pt){if(e.ischrome&&0==b.which)return a.onmouseup(b);a.cursorfreezed=!0;a.hasmoving=!0;if(a.rail.drag.hr){a.scroll.x=a.rail.drag.sx+(b.clientX-a.rail.drag.x);0>a.scroll.x&&(a.scroll.x=0);var c=a.scrollvaluemaxw;a.scroll.x>c&&(a.scroll.x=c)}else a.scroll.y=a.rail.drag.sy+(b.clientY-a.rail.drag.y),0>a.scroll.y&&(a.scroll.y=0),c=a.scrollvaluemax,a.scroll.y>c&&(a.scroll.y= -c);a.synched("mousemove",function(){a.rail.drag&&1==a.rail.drag.pt&&(a.showCursor(),a.rail.drag.hr?a.hasreversehr?a.doScrollLeft(a.scrollvaluemaxw-Math.round(a.scroll.x*a.scrollratio.x),a.opt.cursordragspeed):a.doScrollLeft(Math.round(a.scroll.x*a.scrollratio.x),a.opt.cursordragspeed):a.doScrollTop(Math.round(a.scroll.y*a.scrollratio.y),a.opt.cursordragspeed))});return a.cancelEvent(b)}}else a.checkarea=0};if(e.cantouch||a.opt.touchbehavior)a.onpreventclick=function(b){if(a.preventclick)return a.preventclick.tg.onclick= -a.preventclick.click,a.preventclick=!1,a.cancelEvent(b)},a.bind(a.win,"mousedown",a.ontouchstart),a.onclick=e.isios?!1:function(b){return a.lastmouseup?(a.lastmouseup=!1,a.cancelEvent(b)):!0},a.opt.grabcursorenabled&&e.cursorgrabvalue&&(a.css(a.ispage?a.doc:a.win,{cursor:e.cursorgrabvalue}),a.css(a.rail,{cursor:e.cursorgrabvalue}));else{var r=function(b){if(a.selectiondrag){if(b){var c=a.win.outerHeight();b=b.pageY-a.selectiondrag.top;0=c&&(b-=c);a.selectiondrag.df=b}0!=a.selectiondrag.df&& -(a.doScrollBy(2*-Math.floor(a.selectiondrag.df/6)),a.debounced("doselectionscroll",function(){r()},50))}};a.hasTextSelected="getSelection"in document?function(){return 0a.page.maxh?a.doScrollTop(a.page.maxh):(a.scroll.y=Math.round(a.getScrollTop()* -(1/a.scrollratio.y)),a.scroll.x=Math.round(a.getScrollLeft()*(1/a.scrollratio.x)),a.cursoractive&&a.noticeCursor());a.scroll.y&&0==a.getScrollTop()&&a.doScrollTo(Math.floor(a.scroll.y*a.scrollratio.y));return a};this.resize=a.onResize;this.hlazyresize=0;this.lazyResize=function(b){a.haswrapper||a.hide();a.hlazyresize&&clearTimeout(a.hlazyresize);a.hlazyresize=setTimeout(function(){a&&a.show().resize()},240);return a};this.jqbind=function(b,c,d){a.events.push({e:b,n:c,f:d,q:!0});f(b).bind(c,d)};this.mousewheel= -function(b,c,d){b="jquery"in b?b[0]:b;if("onwheel"in document.createElement("div"))a._bind(b,"wheel",c,d||!1);else{var e=void 0!==document.onmousewheel?"mousewheel":"DOMMouseScroll";q(b,e,c,d||!1);"DOMMouseScroll"==e&&q(b,"MozMousePixelScroll",c,d||!1)}};e.haseventlistener?(this.bind=function(b,c,d,e){a._bind("jquery"in b?b[0]:b,c,d,e||!1)},this._bind=function(b,c,d,e){a.events.push({e:b,n:c,f:d,b:e,q:!1});b.addEventListener(c,d,e||!1)},this.cancelEvent=function(a){if(!a)return!1;a=a.original?a.original: -a;a.cancelable&&a.preventDefault();a.stopPropagation();a.preventManipulation&&a.preventManipulation();return!1},this.stopPropagation=function(a){if(!a)return!1;a=a.original?a.original:a;a.stopPropagation();return!1},this._unbind=function(a,c,d,e){a.removeEventListener(c,d,e)}):(this.bind=function(b,c,d,e){var f="jquery"in b?b[0]:b;a._bind(f,c,function(b){(b=b||window.event||!1)&&b.srcElement&&(b.target=b.srcElement);"pageY"in b||(b.pageX=b.clientX+document.documentElement.scrollLeft,b.pageY=b.clientY+ -document.documentElement.scrollTop);return!1===d.call(f,b)||!1===e?a.cancelEvent(b):!0})},this._bind=function(b,c,d,e){a.events.push({e:b,n:c,f:d,b:e,q:!1});b.attachEvent?b.attachEvent("on"+c,d):b["on"+c]=d},this.cancelEvent=function(a){a=window.event||!1;if(!a)return!1;a.cancelBubble=!0;a.cancel=!0;return a.returnValue=!1},this.stopPropagation=function(a){a=window.event||!1;if(!a)return!1;a.cancelBubble=!0;return!1},this._unbind=function(a,c,d,e){a.detachEvent?a.detachEvent("on"+c,d):a["on"+c]=!1}); -this.unbindAll=function(){for(var b=0;b(a.newscrolly-f)*(c-f)||0>(a.newscrollx-k)*(b-k))&&a.cancelScroll();0==a.opt.bouncescroll&&(0>c?c=0:c>a.page.maxh&&(c=a.page.maxh),0>b?b=0:b>a.page.maxw&&(b=a.page.maxw));if(a.scrollrunning&&b==a.newscrollx&&c==a.newscrolly)return!1;a.newscrolly=c;a.newscrollx=b;a.newscrollspeed=d||!1;if(a.timer)return!1;a.timer=setTimeout(function(){var d=a.getScrollTop(),f=a.getScrollLeft(), -k=Math.round(Math.sqrt(Math.pow(b-f,2)+Math.pow(c-d,2))),k=a.newscrollspeed&&1=a.newscrollspeed&&(k*=a.newscrollspeed);a.prepareTransition(k,!0);a.timerscroll&&a.timerscroll.tm&&clearInterval(a.timerscroll.tm);0b?b=0:b>a.page.maxh&&(b=a.page.maxh);0>c?c=0:c>a.page.maxw&&(c=a.page.maxw);if(b!=a.newscrolly||c!=a.newscrollx)return a.doScrollPos(c, -b,a.opt.snapbackspeed);a.onscrollend&&a.scrollrunning&&a.triggerScrollEnd();a.scrollrunning=!1}):(this.doScrollLeft=function(b,c){var d=a.scrollrunning?a.newscrolly:a.getScrollTop();a.doScrollPos(b,d,c)},this.doScrollTop=function(b,c){var d=a.scrollrunning?a.newscrollx:a.getScrollLeft();a.doScrollPos(d,b,c)},this.doScrollPos=function(b,c,d){function e(){if(a.cancelAnimationFrame)return!0;a.scrollrunning=!0;if(p=1-p)return a.timer=v(e)||1;var b=0,c,d,f=d=a.getScrollTop();if(a.dst.ay){f=a.bzscroll? -a.dst.py+a.bzscroll.getNow()*a.dst.ay:a.newscrolly;c=f-d;if(0>c&&fa.newscrolly)f=a.newscrolly;a.setScrollTop(f);f==a.newscrolly&&(b=1)}else b=1;d=c=a.getScrollLeft();if(a.dst.ax){d=a.bzscroll?a.dst.px+a.bzscroll.getNow()*a.dst.ax:a.newscrollx;c=d-c;if(0>c&&da.newscrollx)d=a.newscrollx;a.setScrollLeft(d);d==a.newscrollx&&(b+=1)}else b+=1;2==b?(a.timer=0,a.cursorfreezed=!1,a.bzscroll=!1,a.scrollrunning=!1,0>f?f=0:f>a.page.maxh&&(f=Math.max(0,a.page.maxh)), -0>d?d=0:d>a.page.maxw&&(d=a.page.maxw),d!=a.newscrollx||f!=a.newscrolly?a.doScrollPos(d,f):a.onscrollend&&a.triggerScrollEnd()):a.timer=v(e)||1}c=void 0===c||!1===c?a.getScrollTop(!0):c;if(a.timer&&a.newscrolly==c&&a.newscrollx==b)return!0;a.timer&&w(a.timer);a.timer=0;var f=a.getScrollTop(),k=a.getScrollLeft();(0>(a.newscrolly-f)*(c-f)||0>(a.newscrollx-k)*(b-k))&&a.cancelScroll();a.newscrolly=c;a.newscrollx=b;a.bouncescroll&&a.rail.visibility||(0>a.newscrolly?a.newscrolly=0:a.newscrolly>a.page.maxh&& -(a.newscrolly=a.page.maxh));a.bouncescroll&&a.railh.visibility||(0>a.newscrollx?a.newscrollx=0:a.newscrollx>a.page.maxw&&(a.newscrollx=a.page.maxw));a.dst={};a.dst.x=b-k;a.dst.y=c-f;a.dst.px=k;a.dst.py=f;var h=Math.round(Math.sqrt(Math.pow(a.dst.x,2)+Math.pow(a.dst.y,2)));a.dst.ax=a.dst.x/h;a.dst.ay=a.dst.y/h;var l=0,n=h;0==a.dst.x?(l=f,n=c,a.dst.ay=1,a.dst.py=0):0==a.dst.y&&(l=k,n=b,a.dst.ax=1,a.dst.px=0);h=a.getTransitionSpeed(h);d&&1>=d&&(h*=d);a.bzscroll=0=a.page.maxh||k==a.page.maxw&&b>=a.page.maxw)&&a.checkContentSize();var p=1;a.cancelAnimationFrame=!1;a.timer=1;a.onscrollstart&&!a.scrollrunning&&a.onscrollstart.call(a,{type:"scrollstart",current:{x:k,y:f},request:{x:b,y:c},end:{x:a.newscrollx,y:a.newscrolly},speed:h});e();(f==a.page.maxh&&c>=f||k==a.page.maxw&&b>=k)&&a.checkContentSize();a.noticeCursor()}},this.cancelScroll=function(){a.timer&&w(a.timer);a.timer=0;a.bzscroll=!1;a.scrollrunning= -!1;return a}):(this.doScrollLeft=function(b,c){var d=a.getScrollTop();a.doScrollPos(b,d,c)},this.doScrollTop=function(b,c){var d=a.getScrollLeft();a.doScrollPos(d,b,c)},this.doScrollPos=function(b,c,d){var e=b>a.page.maxw?a.page.maxw:b;0>e&&(e=0);var f=c>a.page.maxh?a.page.maxh:c;0>f&&(f=0);a.synched("scroll",function(){a.setScrollTop(f);a.setScrollLeft(e)})},this.cancelScroll=function(){});this.doScrollBy=function(b,c){var d=0,d=c?Math.floor((a.scroll.y-b)*a.scrollratio.y):(a.timer?a.newscrolly: -a.getScrollTop(!0))-b;if(a.bouncescroll){var e=Math.round(a.view.h/2);d<-e?d=-e:d>a.page.maxh+e&&(d=a.page.maxh+e)}a.cursorfreezed=!1;e=a.getScrollTop(!0);if(0>d&&0>=e)return a.noticeCursor();if(d>a.page.maxh&&e>=a.page.maxh)return a.checkContentSize(),a.noticeCursor();a.doScrollTop(d)};this.doScrollLeftBy=function(b,c){var d=0,d=c?Math.floor((a.scroll.x-b)*a.scrollratio.x):(a.timer?a.newscrollx:a.getScrollLeft(!0))-b;if(a.bouncescroll){var e=Math.round(a.view.w/2);d<-e?d=-e:d>a.page.maxw+e&&(d=a.page.maxw+ -e)}a.cursorfreezed=!1;e=a.getScrollLeft(!0);if(0>d&&0>=e||d>a.page.maxw&&e>=a.page.maxw)return a.noticeCursor();a.doScrollLeft(d)};this.doScrollTo=function(b,c){a.cursorfreezed=!1;a.doScrollTop(b)};this.checkContentSize=function(){var b=a.getContentSize();b.h==a.page.h&&b.w==a.page.w||a.resize(!1,b)};a.onscroll=function(b){a.rail.drag||a.cursorfreezed||a.synched("scroll",function(){a.scroll.y=Math.round(a.getScrollTop()*(1/a.scrollratio.y));a.railh&&(a.scroll.x=Math.round(a.getScrollLeft()*(1/a.scrollratio.x))); -a.noticeCursor()})};a.bind(a.docscroll,"scroll",a.onscroll);this.doZoomIn=function(b){if(!a.zoomactive){a.zoomactive=!0;a.zoomrestore={style:{}};var c="position top left zIndex backgroundColor marginTop marginBottom marginLeft marginRight".split(" "),d=a.win[0].style,k;for(k in c){var h=c[k];a.zoomrestore.style[h]=void 0!==d[h]?d[h]:""}a.zoomrestore.style.width=a.win.css("width");a.zoomrestore.style.height=a.win.css("height");a.zoomrestore.padding={w:a.win.outerWidth()-a.win.width(),h:a.win.outerHeight()- -a.win.height()};e.isios4&&(a.zoomrestore.scrollTop=f(window).scrollTop(),f(window).scrollTop(0));a.win.css({position:e.isios4?"absolute":"fixed",top:0,left:0,zIndex:A+100,margin:0});c=a.win.css("backgroundColor");(""==c||/transparent|rgba\(0, 0, 0, 0\)|rgba\(0,0,0,0\)/.test(c))&&a.win.css("backgroundColor","#fff");a.rail.css({zIndex:A+101});a.zoom.css({zIndex:A+102});a.zoom.css("backgroundPosition","0px -18px");a.resizeZoom();a.onzoomin&&a.onzoomin.call(a);return a.cancelEvent(b)}};this.doZoomOut= -function(b){if(a.zoomactive)return a.zoomactive=!1,a.win.css("margin",""),a.win.css(a.zoomrestore.style),e.isios4&&f(window).scrollTop(a.zoomrestore.scrollTop),a.rail.css({"z-index":a.zindex}),a.zoom.css({"z-index":a.zindex}),a.zoomrestore=!1,a.zoom.css("backgroundPosition","0px 0px"),a.onResize(),a.onzoomout&&a.onzoomout.call(a),a.cancelEvent(b)};this.doZoom=function(b){return a.zoomactive?a.doZoomOut(b):a.doZoomIn(b)};this.resizeZoom=function(){if(a.zoomactive){var b=a.getScrollTop();a.win.css({width:f(window).width()- -a.zoomrestore.padding.w+"px",height:f(window).height()-a.zoomrestore.padding.h+"px"});a.onResize();a.setScrollTop(Math.min(a.page.maxh,b))}};this.init();f.nicescroll.push(this)},M=function(f){var c=this;this.nc=f;this.steptime=this.lasttime=this.speedy=this.speedx=this.lasty=this.lastx=0;this.snapy=this.snapx=!1;this.demuly=this.demulx=0;this.lastscrolly=this.lastscrollx=-1;this.timer=this.chky=this.chkx=0;this.time=function(){return+new Date};this.reset=function(f,h){c.stop();var d=c.time();c.steptime= -0;c.lasttime=d;c.speedx=0;c.speedy=0;c.lastx=f;c.lasty=h;c.lastscrollx=-1;c.lastscrolly=-1};this.update=function(f,h){var d=c.time();c.steptime=d-c.lasttime;c.lasttime=d;var d=h-c.lasty,q=f-c.lastx,t=c.nc.getScrollTop(),a=c.nc.getScrollLeft(),t=t+d,a=a+q;c.snapx=0>a||a>c.nc.page.maxw;c.snapy=0>t||t>c.nc.page.maxh;c.speedx=q;c.speedy=d;c.lastx=f;c.lasty=h};this.stop=function(){c.nc.unsynched("domomentum2d");c.timer&&clearTimeout(c.timer);c.timer=0;c.lastscrollx=-1;c.lastscrolly=-1};this.doSnapy=function(f, -h){var d=!1;0>h?(h=0,d=!0):h>c.nc.page.maxh&&(h=c.nc.page.maxh,d=!0);0>f?(f=0,d=!0):f>c.nc.page.maxw&&(f=c.nc.page.maxw,d=!0);d?c.nc.doScrollPos(f,h,c.nc.opt.snapbackspeed):c.nc.triggerScrollEnd()};this.doMomentum=function(f){var h=c.time(),d=f?h+f:c.lasttime;f=c.nc.getScrollLeft();var q=c.nc.getScrollTop(),t=c.nc.page.maxh,a=c.nc.page.maxw;c.speedx=0=h-d;if(0>q||q>t||0>f||f>a)d=!1;f=c.speedx&&d?c.speedx:!1;if(c.speedy&&d&&c.speedy|| -f){var r=Math.max(16,c.steptime);50p||p>a)&&(d=.1);c.speedy&&(e=Math.floor(c.lastscrolly-c.speedy*(1-c.demulxy)),c.lastscrolly=e,0>e||e>t)&&(d=.1);c.demulxy=Math.min(1,c.demulxy+ -d);c.nc.synched("domomentum2d",function(){c.speedx&&(c.nc.getScrollLeft(),c.chkx=p,c.nc.setScrollLeft(p));c.speedy&&(c.nc.getScrollTop(),c.chky=e,c.nc.setScrollTop(e));c.timer||(c.nc.hideCursor(),c.doSnapy(p,e))});1>c.demulxy?c.timer=setTimeout(v,r):(c.stop(),c.nc.hideCursor(),c.doSnapy(p,e))};v()}else c.doSnapy(c.nc.getScrollLeft(),c.nc.getScrollTop())}},y=f.fn.scrollTop;f.cssHooks.pageYOffset={get:function(h,c,k){return(c=f.data(h,"__nicescroll")||!1)&&c.ishwscroll?c.getScrollTop():y.call(h)},set:function(h, -c){var k=f.data(h,"__nicescroll")||!1;k&&k.ishwscroll?k.setScrollTop(parseInt(c)):y.call(h,c);return this}};f.fn.scrollTop=function(h){if(void 0===h){var c=this[0]?f.data(this[0],"__nicescroll")||!1:!1;return c&&c.ishwscroll?c.getScrollTop():y.call(this)}return this.each(function(){var c=f.data(this,"__nicescroll")||!1;c&&c.ishwscroll?c.setScrollTop(parseInt(h)):y.call(f(this),h)})};var z=f.fn.scrollLeft;f.cssHooks.pageXOffset={get:function(h,c,k){return(c=f.data(h,"__nicescroll")||!1)&&c.ishwscroll? -c.getScrollLeft():z.call(h)},set:function(h,c){var k=f.data(h,"__nicescroll")||!1;k&&k.ishwscroll?k.setScrollLeft(parseInt(c)):z.call(h,c);return this}};f.fn.scrollLeft=function(h){if(void 0===h){var c=this[0]?f.data(this[0],"__nicescroll")||!1:!1;return c&&c.ishwscroll?c.getScrollLeft():z.call(this)}return this.each(function(){var c=f.data(this,"__nicescroll")||!1;c&&c.ishwscroll?c.setScrollLeft(parseInt(h)):z.call(f(this),h)})};var E=function(h){var c=this;this.length=0;this.name="nicescrollarray"; -this.each=function(d){f.each(c,d);return c};this.push=function(d){c[c.length]=d;c.length++};this.eq=function(d){return c[d]};if(h)for(var k=0;k 0) ? path.split('/').slice(0, -1).join('/') + '/' : ''; - } - - var vendors = ['webkit','ms','moz','o']; - - var setAnimationFrame = window.requestAnimationFrame || false; - var clearAnimationFrame = window.cancelAnimationFrame || false; - - if (!setAnimationFrame) { // legacy detection - for (var vx in vendors) { - var v = vendors[vx]; - setAnimationFrame = window[v + 'RequestAnimationFrame']; - if (setAnimationFrame) { - clearAnimationFrame = window[v + 'CancelAnimationFrame'] || window[v + 'CancelRequestAnimationFrame']; - break; - } - } - } - - var ClsMutationObserver = window.MutationObserver || window.WebKitMutationObserver || false; - - var _globaloptions = { - zindex: "auto", - cursoropacitymin: 0, - cursoropacitymax: 1, - cursorcolor: "#424242", - cursorwidth: "6px", - cursorborder: "1px solid #fff", - cursorborderradius: "5px", - scrollspeed: 60, - mousescrollstep: 8 * 3, - touchbehavior: false, - hwacceleration: true, - usetransition: true, - boxzoom: false, - dblclickzoom: true, - gesturezoom: true, - grabcursorenabled: true, - autohidemode: true, - background: "", - iframeautoresize: true, - cursorminheight: 32, - preservenativescrolling: true, - railoffset: false, - railhoffset: false, - bouncescroll: true, - spacebarenabled: true, - railpadding: { - top: 0, - right: 0, - left: 0, - bottom: 0 - }, - disableoutline: true, - horizrailenabled: true, - railalign: "right", - railvalign: "bottom", - enabletranslate3d: true, - enablemousewheel: true, - enablekeyboard: true, - smoothscroll: true, - sensitiverail: true, - enablemouselockapi: true, - // cursormaxheight:false, - cursorfixedheight: false, - directionlockdeadzone: 6, - hidecursordelay: 400, - nativeparentscrolling: true, - enablescrollonselection: true, - overflowx: true, - overflowy: true, - cursordragspeed: 0.3, - rtlmode: "auto", - cursordragontouch: false, - oneaxismousemode: "auto", - scriptpath: getScriptPath(), - preventmultitouchscrolling: true, - disablemutationobserver:false - }; - - var browserdetected = false; - - var getBrowserDetection = function() { - - if (browserdetected) return browserdetected; - - var _el = document.createElement('DIV'), - _style = _el.style, - _agent = navigator.userAgent, - _platform = navigator.platform, - d = {}; - - d.haspointerlock = "pointerLockElement" in document || "webkitPointerLockElement" in document || "mozPointerLockElement" in document; - - d.isopera = ("opera" in window); // 12- - d.isopera12 = (d.isopera && ("getUserMedia" in navigator)); - d.isoperamini = (Object.prototype.toString.call(window.operamini) === "[object OperaMini]"); - - d.isie = (("all" in document) && ("attachEvent" in _el) && !d.isopera); //IE10- - d.isieold = (d.isie && !("msInterpolationMode" in _style)); // IE6 and older - d.isie7 = d.isie && !d.isieold && (!("documentMode" in document) || (document.documentMode == 7)); - d.isie8 = d.isie && ("documentMode" in document) && (document.documentMode == 8); - d.isie9 = d.isie && ("performance" in window) && (document.documentMode == 9); - d.isie10 = d.isie && ("performance" in window) && (document.documentMode == 10); - d.isie11 = ("msRequestFullscreen" in _el) && (document.documentMode >= 11); // IE11+ - d.isieedge12 = (navigator.userAgent.match(/Edge\/12\./)); // IE Edge 12 - d.isieedge = ("msOverflowStyle" in _el); // IE Edge - d.ismodernie = d.isie11 || d.isieedge; - - d.isie9mobile = /iemobile.9/i.test(_agent); //wp 7.1 mango - if (d.isie9mobile) d.isie9 = false; - d.isie7mobile = (!d.isie9mobile && d.isie7) && /iemobile/i.test(_agent); //wp 7.0 - - d.ismozilla = ("MozAppearance" in _style); - - d.iswebkit = ("WebkitAppearance" in _style); - - d.ischrome = ("chrome" in window); - d.ischrome38 = (d.ischrome && ("touchAction" in _style)); // behavior changed in touch emulation - d.ischrome22 = (!d.ischrome38)&&(d.ischrome && d.haspointerlock); - d.ischrome26 = (!d.ischrome38)&&(d.ischrome && ("transition" in _style)); // issue with transform detection (maintain prefix) - - d.cantouch = ("ontouchstart" in document.documentElement) || ("ontouchstart" in window); // with detection for Chrome Touch Emulation - d.hasw3ctouch = (window.PointerEvent || false) && ((navigator.MaxTouchPoints > 0)||(navigator.msMaxTouchPoints > 0)); //IE11 pointer events, following W3C Pointer Events spec - d.hasmstouch = (!d.hasw3ctouch)&&(window.MSPointerEvent || false); // IE10 pointer events - - d.ismac = /^mac$/i.test(_platform); - - d.isios = (d.cantouch && /iphone|ipad|ipod/i.test(_platform)); - d.isios4 = ((d.isios) && !("seal" in Object)); - d.isios7 = ((d.isios)&&("webkitHidden" in document)); //iOS 7+ - d.isios8 = ((d.isios)&&("hidden" in document)); //iOS 8+ - - d.isandroid = (/android/i.test(_agent)); - - d.haseventlistener = ("addEventListener" in _el); - - d.trstyle = false; - d.hastransform = false; - d.hastranslate3d = false; - d.transitionstyle = false; - d.hastransition = false; - d.transitionend = false; - - var a; - var check = ['transform', 'msTransform', 'webkitTransform', 'MozTransform', 'OTransform']; - for (a = 0; a < check.length; a++) { - if (_style[check[a]] !== undefined) { - d.trstyle = check[a]; - break; - } - } - d.hastransform = (!!d.trstyle); - if (d.hastransform) { - _style[d.trstyle] = "translate3d(1px,2px,3px)"; - d.hastranslate3d = /translate3d/.test(_style[d.trstyle]); - } - - d.transitionstyle = false; - d.prefixstyle = ''; - d.transitionend = false; - check = ['transition', 'webkitTransition', 'msTransition', 'MozTransition', 'OTransition', 'OTransition', 'KhtmlTransition']; - var prefix = ['', '-webkit-', '-ms-', '-moz-', '-o-', '-o', '-khtml-']; - var evs = ['transitionend', 'webkitTransitionEnd', 'msTransitionEnd', 'transitionend', 'otransitionend', 'oTransitionEnd', 'KhtmlTransitionEnd']; - for (a = 0; a < check.length; a++) { - if (check[a] in _style) { - d.transitionstyle = check[a]; - d.prefixstyle = prefix[a]; - d.transitionend = evs[a]; - break; - } - } - if (d.ischrome26) { // always use prefix - d.prefixstyle = prefix[1]; - } - - d.hastransition = (d.transitionstyle); - - function detectCursorGrab() { - var lst = ['grab','-webkit-grab', '-moz-grab']; - if ((d.ischrome && !d.ischrome38) || d.isie) lst = []; // force setting for IE returns false positive and chrome cursor bug - for (var a = 0; a < lst.length; a++) { - var p = lst[a]; - _style.cursor = p; - if (_style.cursor == p) return p; - } - return 'url(//patriciaportfolio.googlecode.com/files/openhand.cur),n-resize'; // thank you google for custom cursor! - } - d.cursorgrabvalue = detectCursorGrab(); - - d.hasmousecapture = ("setCapture" in _el); - - d.hasMutationObserver = (ClsMutationObserver !== false); - - _el = null; //memory released - - browserdetected = d; - - return d; - }; - - var NiceScrollClass = function(myopt, me) { - - var self = this; - - this.version = '3.6.8'; - this.name = 'nicescroll'; - - this.me = me; - - this.opt = { - doc: $("body"), - win: false - }; - - $.extend(this.opt, _globaloptions); // clone opts - - // Options for internal use - this.opt.snapbackspeed = 80; - - if (myopt || false) { - for (var a in self.opt) { - if (myopt[a] !== undefined) self.opt[a] = myopt[a]; - } - } - - if (self.opt.disablemutationobserver) ClsMutationObserver = false; - - this.doc = self.opt.doc; - this.iddoc = (this.doc && this.doc[0]) ? this.doc[0].id || '' : ''; - this.ispage = /^BODY|HTML/.test((self.opt.win) ? self.opt.win[0].nodeName : this.doc[0].nodeName); - this.haswrapper = (self.opt.win !== false); - this.win = self.opt.win || (this.ispage ? $(window) : this.doc); - this.docscroll = (this.ispage && !this.haswrapper) ? $(window) : this.win; - this.body = $("body"); - this.viewport = false; - - this.isfixed = false; - - this.iframe = false; - this.isiframe = ((this.doc[0].nodeName == 'IFRAME') && (this.win[0].nodeName == 'IFRAME')); - - this.istextarea = (this.win[0].nodeName == 'TEXTAREA'); - - this.forcescreen = false; //force to use screen position on events - - this.canshowonmouseevent = (self.opt.autohidemode != "scroll"); - - // Events jump table - this.onmousedown = false; - this.onmouseup = false; - this.onmousemove = false; - this.onmousewheel = false; - this.onkeypress = false; - this.ongesturezoom = false; - this.onclick = false; - - // Nicescroll custom events - this.onscrollstart = false; - this.onscrollend = false; - this.onscrollcancel = false; - - this.onzoomin = false; - this.onzoomout = false; - - // Let's start! - this.view = false; - this.page = false; - - this.scroll = { - x: 0, - y: 0 - }; - this.scrollratio = { - x: 0, - y: 0 - }; - this.cursorheight = 20; - this.scrollvaluemax = 0; - - // http://dev.w3.org/csswg/css-writing-modes-3/#logical-to-physical - // http://dev.w3.org/csswg/css-writing-modes-3/#svg-writing-mode - if (this.opt.rtlmode == "auto") { - var target = this.win[0] == window ? this.body : this.win; - var writingMode = target.css("writing-mode") || target.css("-webkit-writing-mode") || target.css("-ms-writing-mode") || target.css("-moz-writing-mode"); - - if (writingMode == "horizontal-tb" || writingMode == "lr-tb" || writingMode == "") { - this.isrtlmode = (target.css("direction") == "rtl"); - this.isvertical = false; - } else { - this.isrtlmode = (writingMode == "vertical-rl" || writingMode == "tb" || writingMode == "tb-rl" || writingMode == "rl-tb"); - this.isvertical = (writingMode == "vertical-rl" || writingMode == "tb" || writingMode == "tb-rl"); - } - } else { - this.isrtlmode = (this.opt.rtlmode === true); - this.isvertical = false; - } - // this.checkrtlmode = false; - - this.scrollrunning = false; - - this.scrollmom = false; - - this.observer = false; // observer div changes - this.observerremover = false; // observer on parent for remove detection - this.observerbody = false; // observer on body for position change - - do { - this.id = "ascrail" + (ascrailcounter++); - } while (document.getElementById(this.id)); - - this.rail = false; - this.cursor = false; - this.cursorfreezed = false; - this.selectiondrag = false; - - this.zoom = false; - this.zoomactive = false; - - this.hasfocus = false; - this.hasmousefocus = false; - - this.visibility = true; - this.railslocked = false; // locked by resize - this.locked = false; // prevent lost of locked status sets by user - this.hidden = false; // rails always hidden - this.cursoractive = true; // user can interact with cursors - - this.wheelprevented = false; //prevent mousewheel event - - this.overflowx = self.opt.overflowx; - this.overflowy = self.opt.overflowy; - - this.nativescrollingarea = false; - this.checkarea = 0; - - this.events = []; // event list for unbind - - this.saved = {}; // style saved - - this.delaylist = {}; - this.synclist = {}; - - this.lastdeltax = 0; - this.lastdeltay = 0; - - this.detected = getBrowserDetection(); - - var cap = $.extend({}, this.detected); - - this.canhwscroll = (cap.hastransform && self.opt.hwacceleration); - this.ishwscroll = (this.canhwscroll && self.haswrapper); - - if (!this.isrtlmode) { - this.hasreversehr = false; - } else if (this.isvertical) { // RTL mode with reverse horizontal axis - this.hasreversehr = !(cap.iswebkit || cap.isie || cap.isie11); - } else { - this.hasreversehr = !(cap.iswebkit || (cap.isie && !cap.isie10 && !cap.isie11)); - } - - this.istouchcapable = false; // desktop devices with touch screen support - - //## Check WebKit-based desktop with touch support - //## + Firefox 18 nightly build (desktop) false positive (or desktop with touch support) - - if (!cap.cantouch && (cap.hasw3ctouch||cap.hasmstouch)) { // desktop device with multiple input - this.istouchcapable = true; - } else if (cap.cantouch && !cap.isios && !cap.isandroid && (cap.iswebkit || cap.ismozilla)) { - this.istouchcapable = true; -// cap.cantouch = false; // parse normal desktop events - } - - //## disable MouseLock API on user request - if (!self.opt.enablemouselockapi) { - cap.hasmousecapture = false; - cap.haspointerlock = false; - } - -/* deprecated - this.delayed = function(name, fn, tm, lazy) { - }; -*/ - -/* - this.debounced = function(name, fn, tm) { - if (!self) return; - var dd = self.delaylist[name]; - self.delaylist[name] = fn; - if (!dd) { - self.debouncedelayed = setTimeout(function() { - if (!self) return; - var fn = self.delaylist[name]; - self.delaylist[name] = false; - fn.call(self); - }, tm); - } - }; -*/ - - this.debounced = function(name, fn, tm) { - if (!self) return; - var dd = self.delaylist[name]||false; - if (!dd) { - fn.call(self); - self.delaylist[name] = { - h: setAnimationFrame(function(){ - self.delaylist[name].fn.call(self); - self.delaylist[name] = false; - }, tm) - }; - } - self.delaylist[name].fn = fn; - }; - - var _onsync = false; - - this.synched = function(name, fn) { - - function requestSync() { - if (_onsync) return; - setAnimationFrame(function() { - if (!self) return; - _onsync = false; - for (var nn in self.synclist) { - var fn = self.synclist[nn]; - if (fn) fn.call(self); - self.synclist[nn] = false; - } - }); - _onsync = true; - } - - self.synclist[name] = fn; - requestSync(); - return name; - }; - - this.unsynched = function(name) { - if (self.synclist[name]) self.synclist[name] = false; - }; - - this.css = function(el, pars) { // save & set - for (var n in pars) { - self.saved.css.push([el, n, el.css(n)]); - el.css(n, pars[n]); - } - }; - - this.scrollTop = function(val) { - return (val === undefined) ? self.getScrollTop() : self.setScrollTop(val); - }; - - this.scrollLeft = function(val) { - return (val === undefined) ? self.getScrollLeft() : self.setScrollLeft(val); - }; - - // derived by by Dan Pupius www.pupius.net - var BezierClass = function(st, ed, spd, p1, p2, p3, p4) { - - this.st = st; - this.ed = ed; - this.spd = spd; - - this.p1 = p1 || 0; - this.p2 = p2 || 1; - this.p3 = p3 || 0; - this.p4 = p4 || 1; - - this.ts = (new Date()).getTime(); - this.df = this.ed - this.st; - }; - BezierClass.prototype = { - B2: function(t) { - return 3 * t * t * (1 - t); - }, - B3: function(t) { - return 3 * t * (1 - t) * (1 - t); - }, - B4: function(t) { - return (1 - t) * (1 - t) * (1 - t); - }, - getNow: function() { - var nw = (new Date()).getTime(); - var pc = 1 - ((nw - this.ts) / this.spd); - var bz = this.B2(pc) + this.B3(pc) + this.B4(pc); - return (pc < 0) ? this.ed : this.st + Math.round(this.df * bz); - }, - update: function(ed, spd) { - this.st = this.getNow(); - this.ed = ed; - this.spd = spd; - this.ts = (new Date()).getTime(); - this.df = this.ed - this.st; - return this; - } - }; - - //derived from http://stackoverflow.com/questions/11236090/ - function getMatrixValues() { - var tr = self.doc.css(cap.trstyle); - if (tr && (tr.substr(0, 6) == "matrix")) { - return tr.replace(/^.*\((.*)\)$/g, "$1").replace(/px/g, '').split(/, +/); - } - return false; - } - - if (this.ishwscroll) { - // hw accelerated scroll - this.doc.translate = { - x: 0, - y: 0, - tx: "0px", - ty: "0px" - }; - - //this one can help to enable hw accel on ios6 http://indiegamr.com/ios6-html-hardware-acceleration-changes-and-how-to-fix-them/ - if (cap.hastranslate3d && cap.isios) this.doc.css("-webkit-backface-visibility", "hidden"); // prevent flickering http://stackoverflow.com/questions/3461441/ - - this.getScrollTop = function(last) { - if (!last) { - var mtx = getMatrixValues(); - if (mtx) return (mtx.length == 16) ? -mtx[13] : -mtx[5]; //matrix3d 16 on IE10 - if (self.timerscroll && self.timerscroll.bz) return self.timerscroll.bz.getNow(); - } - return self.doc.translate.y; - }; - - this.getScrollLeft = function(last) { - if (!last) { - var mtx = getMatrixValues(); - if (mtx) return (mtx.length == 16) ? -mtx[12] : -mtx[4]; //matrix3d 16 on IE10 - if (self.timerscroll && self.timerscroll.bh) return self.timerscroll.bh.getNow(); - } - return self.doc.translate.x; - }; - - this.notifyScrollEvent = function(el) { - var e = document.createEvent("UIEvents"); - e.initUIEvent("scroll", false, true, window, 1); - e.niceevent = true; - el.dispatchEvent(e); - }; - - var cxscrollleft = (this.isrtlmode) ? 1 : -1; - - if (cap.hastranslate3d && self.opt.enabletranslate3d) { - this.setScrollTop = function(val, silent) { - self.doc.translate.y = val; - self.doc.translate.ty = (val * -1) + "px"; - self.doc.css(cap.trstyle, "translate3d(" + self.doc.translate.tx + "," + self.doc.translate.ty + ",0px)"); - if (!silent) self.notifyScrollEvent(self.win[0]); - }; - this.setScrollLeft = function(val, silent) { - self.doc.translate.x = val; - self.doc.translate.tx = (val * cxscrollleft) + "px"; - self.doc.css(cap.trstyle, "translate3d(" + self.doc.translate.tx + "," + self.doc.translate.ty + ",0px)"); - if (!silent) self.notifyScrollEvent(self.win[0]); - }; - } else { - this.setScrollTop = function(val, silent) { - self.doc.translate.y = val; - self.doc.translate.ty = (val * -1) + "px"; - self.doc.css(cap.trstyle, "translate(" + self.doc.translate.tx + "," + self.doc.translate.ty + ")"); - if (!silent) self.notifyScrollEvent(self.win[0]); - }; - this.setScrollLeft = function(val, silent) { - self.doc.translate.x = val; - self.doc.translate.tx = (val * cxscrollleft) + "px"; - self.doc.css(cap.trstyle, "translate(" + self.doc.translate.tx + "," + self.doc.translate.ty + ")"); - if (!silent) self.notifyScrollEvent(self.win[0]); - }; - } - } else { - // native scroll - this.getScrollTop = function() { - return self.docscroll.scrollTop(); - }; - this.setScrollTop = function(val) { - return setTimeout(function() {(self)&&self.docscroll.scrollTop(val)}, 1); - }; - this.getScrollLeft = function() { - var val; - if (!self.hasreversehr) { - val = self.docscroll.scrollLeft(); - } else if (self.detected.ismozilla) { - val = self.page.maxw - Math.abs(self.docscroll.scrollLeft()); - } else { - val = self.page.maxw - self.docscroll.scrollLeft(); - } - return val; - }; - this.setScrollLeft = function(val) { - return setTimeout(function() { - if (!self) return; - if (self.hasreversehr) { - if (self.detected.ismozilla) { - val = -(self.page.maxw - val); - } else { - val = self.page.maxw - val; - } - } - return self.docscroll.scrollLeft(val); - }, 1); - }; - } - - this.getTarget = function(e) { - if (!e) return false; - if (e.target) return e.target; - if (e.srcElement) return e.srcElement; - return false; - }; - - this.hasParent = function(e, id) { - if (!e) return false; - var el = e.target || e.srcElement || e || false; - while (el && el.id != id) { - el = el.parentNode || false; - } - return (el !== false); - }; - - function getZIndex() { - var dom = self.win; - if ("zIndex" in dom) return dom.zIndex(); // use jQuery UI method when available - while (dom.length > 0) { - if (dom[0].nodeType == 9) return false; - var zi = dom.css('zIndex'); - if (!isNaN(zi) && zi != 0) return parseInt(zi); - dom = dom.parent(); - } - return false; - } - - //inspired by http://forum.jquery.com/topic/width-includes-border-width-when-set-to-thin-medium-thick-in-ie - var _convertBorderWidth = { - "thin": 1, - "medium": 3, - "thick": 5 - }; - - function getWidthToPixel(dom, prop, chkheight) { - var wd = dom.css(prop); - var px = parseFloat(wd); - if (isNaN(px)) { - px = _convertBorderWidth[wd] || 0; - var brd = (px == 3) ? ((chkheight) ? (self.win.outerHeight() - self.win.innerHeight()) : (self.win.outerWidth() - self.win.innerWidth())) : 1; //DON'T TRUST CSS - if (self.isie8 && px) px += 1; - return (brd) ? px : 0; - } - return px; - } - - this.getDocumentScrollOffset = function() { - return { - top: window.pageYOffset || document.documentElement.scrollTop, - left: window.pageXOffset || document.documentElement.scrollLeft - }; - }; - - this.getOffset = function() { - if (self.isfixed) { - var ofs = self.win.offset(); // fix Chrome auto issue (when right/bottom props only) - var scrl = self.getDocumentScrollOffset(); - ofs.top-=scrl.top; - ofs.left-=scrl.left; - return ofs; - } - var ww = self.win.offset(); - if (!self.viewport) return ww; - var vp = self.viewport.offset(); - return { - top: ww.top - vp.top,// + self.viewport.scrollTop(), - left: ww.left - vp.left // + self.viewport.scrollLeft() - }; - }; - - this.updateScrollBar = function(len) { - var pos, off; - if (self.ishwscroll) { - self.rail.css({ //** - height: self.win.innerHeight() - (self.opt.railpadding.top + self.opt.railpadding.bottom) - }); - if (self.railh) self.railh.css({ //** - width: self.win.innerWidth() - (self.opt.railpadding.left + self.opt.railpadding.right) - }); - - } else { - var wpos = self.getOffset(); - pos = { - top: wpos.top, - left: wpos.left - (self.opt.railpadding.left + self.opt.railpadding.right) - }; - pos.top += getWidthToPixel(self.win, 'border-top-width', true); - pos.left += (self.rail.align) ? self.win.outerWidth() - getWidthToPixel(self.win, 'border-right-width') - self.rail.width : getWidthToPixel(self.win, 'border-left-width'); - - off = self.opt.railoffset; - if (off) { - if (off.top) pos.top += off.top; - if (off.left) pos.left += off.left; - } - - if (!self.railslocked) self.rail.css({ - top: pos.top, - left: pos.left, - height: ((len) ? len.h : self.win.innerHeight()) - (self.opt.railpadding.top + self.opt.railpadding.bottom) - }); - - if (self.zoom) { - self.zoom.css({ - top: pos.top + 1, - left: (self.rail.align == 1) ? pos.left - 20 : pos.left + self.rail.width + 4 - }); - } - - if (self.railh && !self.railslocked) { - pos = { - top: wpos.top, - left: wpos.left - }; - off = self.opt.railhoffset; - if (off) { - if (off.top) pos.top += off.top; - if (off.left) pos.left += off.left; - } - var y = (self.railh.align) ? pos.top + getWidthToPixel(self.win, 'border-top-width', true) + self.win.innerHeight() - self.railh.height : pos.top + getWidthToPixel(self.win, 'border-top-width', true); - var x = pos.left + getWidthToPixel(self.win, 'border-left-width'); - self.railh.css({ - top: y - (self.opt.railpadding.top + self.opt.railpadding.bottom), - left: x, - width: self.railh.width - }); - } - - } - }; - - this.doRailClick = function(e, dbl, hr) { - var fn, pg, cur, pos; - - if (self.railslocked) return; - self.cancelEvent(e); - - if (dbl) { - fn = (hr) ? self.doScrollLeft : self.doScrollTop; - cur = (hr) ? ((e.pageX - self.railh.offset().left - (self.cursorwidth / 2)) * self.scrollratio.x) : ((e.pageY - self.rail.offset().top - (self.cursorheight / 2)) * self.scrollratio.y); - fn(cur); - } else { - fn = (hr) ? self.doScrollLeftBy : self.doScrollBy; - cur = (hr) ? self.scroll.x : self.scroll.y; - pos = (hr) ? e.pageX - self.railh.offset().left : e.pageY - self.rail.offset().top; - pg = (hr) ? self.view.w : self.view.h; - fn((cur >= pos) ? pg: -pg);// (cur >= pos) ? fn(pg): fn(-pg); - } - - }; - - self.hasanimationframe = (setAnimationFrame); - self.hascancelanimationframe = (clearAnimationFrame); - - if (!self.hasanimationframe) { - setAnimationFrame = function(fn) { - return setTimeout(fn, 15 - Math.floor((+new Date()) / 1000) % 16); - }; // 1000/60)}; - clearAnimationFrame = clearTimeout; - } else if (!self.hascancelanimationframe) clearAnimationFrame = function() { - self.cancelAnimationFrame = true; - }; - - this.init = function() { - - self.saved.css = []; - - if (cap.isie7mobile) return true; // SORRY, DO NOT WORK! - if (cap.isoperamini) return true; // SORRY, DO NOT WORK! - - var _touchaction = (cap.isie10) ? '-ms-touch-action' : 'touch-action'; - if (cap.hasmstouch) self.css((self.ispage) ? $("html") : self.win, { - _touchaction: 'none' - }); - - var _scrollyhidden = (cap.ismodernie||cap.isie10) ? {'-ms-overflow-style':'none'} : {'overflow-y':'hidden'}; // IE is always a world apart! - - self.zindex = "auto"; - if (!self.ispage && self.opt.zindex == "auto") { - self.zindex = getZIndex() || "auto"; - } else { - self.zindex = self.opt.zindex; - } - - if (!self.ispage && self.zindex != "auto" && self.zindex > globalmaxzindex) { - globalmaxzindex = self.zindex; - } - - if (self.isie && self.zindex == 0 && self.opt.zindex == "auto") { // fix IE auto == 0 - self.zindex = "auto"; - } - - if (!self.ispage || (!cap.cantouch && !cap.isieold && !cap.isie9mobile)) { - - var cont = self.docscroll; - if (self.ispage) cont = (self.haswrapper) ? self.win : self.doc; - - if (!cap.isie9mobile) self.css(cont, _scrollyhidden); - - if (self.ispage && cap.isie7) { - if (self.doc[0].nodeName == 'BODY') self.css($("html"), { - 'overflow-y': 'hidden' - }); //IE7 double scrollbar issue - else if (self.doc[0].nodeName == 'HTML') self.css($("body"), _scrollyhidden); //IE7 double scrollbar issue - } - - if (cap.isios && !self.ispage && !self.haswrapper) self.css($("body"), { - "-webkit-overflow-scrolling": "touch" - }); //force hw acceleration - - var cursor = $(document.createElement('div')); - cursor.css({ - position: "relative", - top: 0, - "float": "right", - width: self.opt.cursorwidth, - height: 0, - 'background-color': self.opt.cursorcolor, - border: self.opt.cursorborder, - 'background-clip': 'padding-box', - '-webkit-border-radius': self.opt.cursorborderradius, - '-moz-border-radius': self.opt.cursorborderradius, - 'border-radius': self.opt.cursorborderradius - }); - - cursor.hborder = parseFloat(cursor.outerHeight() - cursor.innerHeight()); - - cursor.addClass('nicescroll-cursors'); - - self.cursor = cursor; - - var rail = $(document.createElement('div')); - rail.attr('id', self.id); - rail.addClass('nicescroll-rails nicescroll-rails-vr'); - - var v, a, kp = ["left","right","top","bottom"]; //** - for (var n in kp) { - a = kp[n]; - v = self.opt.railpadding[a]; - (v) ? rail.css("padding-"+a,v+"px") : self.opt.railpadding[a] = 0; - } - - rail.append(cursor); - - rail.width = Math.max(parseFloat(self.opt.cursorwidth), cursor.outerWidth()); - rail.css({ - width: rail.width + "px", - zIndex: self.zindex, - background: self.opt.background, - cursor: "default" - }); - - rail.visibility = true; - rail.scrollable = true; - - rail.align = (self.opt.railalign == "left") ? 0 : 1; - - self.rail = rail; - - self.rail.drag = false; - - var zoom = false; - if (self.opt.boxzoom && !self.ispage && !cap.isieold) { - zoom = document.createElement('div'); - - self.bind(zoom, "click", self.doZoom); - self.bind(zoom, "mouseenter", function() { - self.zoom.css('opacity', self.opt.cursoropacitymax); - }); - self.bind(zoom, "mouseleave", function() { - self.zoom.css('opacity', self.opt.cursoropacitymin); - }); - - self.zoom = $(zoom); - self.zoom.css({ - cursor: "pointer", - zIndex: self.zindex, - backgroundImage: 'url(' + self.opt.scriptpath + 'zoomico.png)', - height: 18, - width: 18, - backgroundPosition: '0px 0px' - }); - if (self.opt.dblclickzoom) self.bind(self.win, "dblclick", self.doZoom); - if (cap.cantouch && self.opt.gesturezoom) { - self.ongesturezoom = function(e) { - if (e.scale > 1.5) self.doZoomIn(e); - if (e.scale < 0.8) self.doZoomOut(e); - return self.cancelEvent(e); - }; - self.bind(self.win, "gestureend", self.ongesturezoom); - } - } - - // init HORIZ - - self.railh = false; - var railh; - - if (self.opt.horizrailenabled) { - - self.css(cont, { - overflowX: 'hidden' - }); - - var cursor = $(document.createElement('div')); - cursor.css({ - position: "absolute", - top: 0, - height: self.opt.cursorwidth, - width: 0, - backgroundColor: self.opt.cursorcolor, - border: self.opt.cursorborder, - backgroundClip: 'padding-box', - '-webkit-border-radius': self.opt.cursorborderradius, - '-moz-border-radius': self.opt.cursorborderradius, - 'border-radius': self.opt.cursorborderradius - }); - - if (cap.isieold) cursor.css('overflow', 'hidden'); //IE6 horiz scrollbar issue - - cursor.wborder = parseFloat(cursor.outerWidth() - cursor.innerWidth()); - - cursor.addClass('nicescroll-cursors'); - - self.cursorh = cursor; - - railh = $(document.createElement('div')); - railh.attr('id', self.id + '-hr'); - railh.addClass('nicescroll-rails nicescroll-rails-hr'); - railh.height = Math.max(parseFloat(self.opt.cursorwidth), cursor.outerHeight()); - railh.css({ - height: railh.height + "px", - 'zIndex': self.zindex, - "background": self.opt.background - }); - - railh.append(cursor); - - railh.visibility = true; - railh.scrollable = true; - - railh.align = (self.opt.railvalign == "top") ? 0 : 1; - - self.railh = railh; - - self.railh.drag = false; - - } - - // - - if (self.ispage) { - rail.css({ - position: "fixed", - top: 0, - height: "100%" - }); - (rail.align) ? rail.css({ - right: 0 - }): rail.css({ - left: 0 - }); - self.body.append(rail); - if (self.railh) { - railh.css({ - position: "fixed", - left: 0, - width: "100%" - }); - (railh.align) ? railh.css({ - bottom: 0 - }): railh.css({ - top: 0 - }); - self.body.append(railh); - } - } else { - if (self.ishwscroll) { - if (self.win.css('position') == 'static') self.css(self.win, { - 'position': 'relative' - }); - var bd = (self.win[0].nodeName == 'HTML') ? self.body : self.win; - $(bd).scrollTop(0).scrollLeft(0); // fix rail position if content already scrolled - if (self.zoom) { - self.zoom.css({ - position: "absolute", - top: 1, - right: 0, - "margin-right": rail.width + 4 - }); - bd.append(self.zoom); - } - rail.css({ - position: "absolute", - top: 0 - }); - (rail.align) ? rail.css({ - right: 0 - }): rail.css({ - left: 0 - }); - bd.append(rail); - if (railh) { - railh.css({ - position: "absolute", - left: 0, - bottom: 0 - }); - (railh.align) ? railh.css({ - bottom: 0 - }): railh.css({ - top: 0 - }); - bd.append(railh); - } - } else { - self.isfixed = (self.win.css("position") == "fixed"); - var rlpos = (self.isfixed) ? "fixed" : "absolute"; - - if (!self.isfixed) self.viewport = self.getViewport(self.win[0]); - if (self.viewport) { - self.body = self.viewport; - if ((/fixed|absolute/.test(self.viewport.css("position"))) == false) self.css(self.viewport, { - "position": "relative" - }); - } - - rail.css({ - position: rlpos - }); - if (self.zoom) self.zoom.css({ - position: rlpos - }); - self.updateScrollBar(); - self.body.append(rail); - if (self.zoom) self.body.append(self.zoom); - if (self.railh) { - railh.css({ - position: rlpos - }); - self.body.append(railh); - } - } - - if (cap.isios) self.css(self.win, { - '-webkit-tap-highlight-color': 'rgba(0,0,0,0)', - '-webkit-touch-callout': 'none' - }); // prevent grey layer on click - - if (cap.isie && self.opt.disableoutline) self.win.attr("hideFocus", "true"); // IE, prevent dotted rectangle on focused div - if (cap.iswebkit && self.opt.disableoutline) self.win.css('outline', 'none'); // Webkit outline - //if (cap.isopera&&self.opt.disableoutline) self.win.css({"outline":"0"}); // Opera 12- to test [TODO] - - } - - if (self.opt.autohidemode === false) { - self.autohidedom = false; - self.rail.css({ - opacity: self.opt.cursoropacitymax - }); - if (self.railh) self.railh.css({ - opacity: self.opt.cursoropacitymax - }); - } else if ((self.opt.autohidemode === true) || (self.opt.autohidemode === "leave")) { - self.autohidedom = $().add(self.rail); - if (cap.isie8) self.autohidedom = self.autohidedom.add(self.cursor); - if (self.railh) self.autohidedom = self.autohidedom.add(self.railh); - if (self.railh && cap.isie8) self.autohidedom = self.autohidedom.add(self.cursorh); - } else if (self.opt.autohidemode == "scroll") { - self.autohidedom = $().add(self.rail); - if (self.railh) self.autohidedom = self.autohidedom.add(self.railh); - } else if (self.opt.autohidemode == "cursor") { - self.autohidedom = $().add(self.cursor); - if (self.railh) self.autohidedom = self.autohidedom.add(self.cursorh); - } else if (self.opt.autohidemode == "hidden") { - self.autohidedom = false; - self.hide(); - self.railslocked = false; - } - - if (cap.isie9mobile) { - - self.scrollmom = new ScrollMomentumClass2D(self); - - self.onmangotouch = function() { - var py = self.getScrollTop(); - var px = self.getScrollLeft(); - - if ((py == self.scrollmom.lastscrolly) && (px == self.scrollmom.lastscrollx)) return true; - - var dfy = py - self.mangotouch.sy; - var dfx = px - self.mangotouch.sx; - var df = Math.round(Math.sqrt(Math.pow(dfx, 2) + Math.pow(dfy, 2))); - if (df == 0) return; - - var dry = (dfy < 0) ? -1 : 1; - var drx = (dfx < 0) ? -1 : 1; - - var tm = +new Date(); - if (self.mangotouch.lazy) clearTimeout(self.mangotouch.lazy); - - if (((tm - self.mangotouch.tm) > 80) || (self.mangotouch.dry != dry) || (self.mangotouch.drx != drx)) { - self.scrollmom.stop(); - self.scrollmom.reset(px, py); - self.mangotouch.sy = py; - self.mangotouch.ly = py; - self.mangotouch.sx = px; - self.mangotouch.lx = px; - self.mangotouch.dry = dry; - self.mangotouch.drx = drx; - self.mangotouch.tm = tm; - } else { - - self.scrollmom.stop(); - self.scrollmom.update(self.mangotouch.sx - dfx, self.mangotouch.sy - dfy); - self.mangotouch.tm = tm; - - var ds = Math.max(Math.abs(self.mangotouch.ly - py), Math.abs(self.mangotouch.lx - px)); - self.mangotouch.ly = py; - self.mangotouch.lx = px; - - if (ds > 2) { - self.mangotouch.lazy = setTimeout(function() { - self.mangotouch.lazy = false; - self.mangotouch.dry = 0; - self.mangotouch.drx = 0; - self.mangotouch.tm = 0; - self.scrollmom.doMomentum(30); - }, 100); - } - } - }; - - var top = self.getScrollTop(); - var lef = self.getScrollLeft(); - self.mangotouch = { - sy: top, - ly: top, - dry: 0, - sx: lef, - lx: lef, - drx: 0, - lazy: false, - tm: 0 - }; - - self.bind(self.docscroll, "scroll", self.onmangotouch); - - } else { - - if (cap.cantouch || self.istouchcapable || self.opt.touchbehavior || cap.hasmstouch) { - - self.scrollmom = new ScrollMomentumClass2D(self); - - self.ontouchstart = function(e) { - if (e.pointerType && e.pointerType != 2 && e.pointerType != "touch") return false; - - self.hasmoving = false; - - if (!self.railslocked) { - var tg; - if (cap.hasmstouch) { - tg = (e.target) ? e.target : false; - while (tg) { - var nc = $(tg).getNiceScroll(); - if ((nc.length > 0) && (nc[0].me == self.me)) break; - if (nc.length > 0) return false; - if ((tg.nodeName == 'DIV') && (tg.id == self.id)) break; - tg = (tg.parentNode) ? tg.parentNode : false; - } - } - - self.cancelScroll(); - - tg = self.getTarget(e); - - if (tg) { - var skp = (/INPUT/i.test(tg.nodeName)) && (/range/i.test(tg.type)); - if (skp) return self.stopPropagation(e); - } - - if (!("clientX" in e) && ("changedTouches" in e)) { - e.clientX = e.changedTouches[0].clientX; - e.clientY = e.changedTouches[0].clientY; - } - - if (self.forcescreen) { - var le = e; - e = { - "original": (e.original) ? e.original : e - }; - e.clientX = le.screenX; - e.clientY = le.screenY; - } - - self.rail.drag = { - x: e.clientX, - y: e.clientY, - sx: self.scroll.x, - sy: self.scroll.y, - st: self.getScrollTop(), - sl: self.getScrollLeft(), - pt: 2, - dl: false - }; - - if (self.ispage || !self.opt.directionlockdeadzone) { - self.rail.drag.dl = "f"; - } else { - - var view = { - w: $(window).width(), - h: $(window).height() - }; - - var page = { - w: Math.max(document.body.scrollWidth, document.documentElement.scrollWidth), - h: Math.max(document.body.scrollHeight, document.documentElement.scrollHeight) - }; - - var maxh = Math.max(0, page.h - view.h); - var maxw = Math.max(0, page.w - view.w); - - if (!self.rail.scrollable && self.railh.scrollable) self.rail.drag.ck = (maxh > 0) ? "v" : false; - else if (self.rail.scrollable && !self.railh.scrollable) self.rail.drag.ck = (maxw > 0) ? "h" : false; - else self.rail.drag.ck = false; - if (!self.rail.drag.ck) self.rail.drag.dl = "f"; - } - - if (self.opt.touchbehavior && self.isiframe && cap.isie) { - var wp = self.win.position(); - self.rail.drag.x += wp.left; - self.rail.drag.y += wp.top; - } - - self.hasmoving = false; - self.lastmouseup = false; - self.scrollmom.reset(e.clientX, e.clientY); - - if (!cap.cantouch && !this.istouchcapable && !e.pointerType) { - - var ip = (tg) ? /INPUT|SELECT|TEXTAREA/i.test(tg.nodeName) : false; - if (!ip) { - if (!self.ispage && cap.hasmousecapture) tg.setCapture(); - if (self.opt.touchbehavior) { - if (tg.onclick && !(tg._onclick || false)) { // intercept DOM0 onclick event - tg._onclick = tg.onclick; - tg.onclick = function(e) { - if (self.hasmoving) return false; - tg._onclick.call(this, e); - }; - } - return self.cancelEvent(e); - } - return self.stopPropagation(e); - } - - if (/SUBMIT|CANCEL|BUTTON/i.test($(tg).attr('type'))) { - pc = { - "tg": tg, - "click": false - }; - self.preventclick = pc; - } - - } - } - - }; - - self.ontouchend = function(e) { - if (!self.rail.drag) return true; - if (self.rail.drag.pt == 2) { - if (e.pointerType && e.pointerType != 2 && e.pointerType != "touch") return false; - - self.scrollmom.doMomentum(); - self.rail.drag = false; - if (self.hasmoving) { - self.lastmouseup = true; - self.hideCursor(); - if (cap.hasmousecapture) document.releaseCapture(); - if (!cap.cantouch) return self.cancelEvent(e); - } - } - else if (self.rail.drag.pt == 1) { - return self.onmouseup(e); - } - - }; - - var moveneedoffset = (self.opt.touchbehavior && self.isiframe && !cap.hasmousecapture); - - self.ontouchmove = function(e, byiframe) { - - if (!self.rail.drag) return false; - - if (e.targetTouches && self.opt.preventmultitouchscrolling) { - if (e.targetTouches.length > 1) return false; // multitouch - } - - if (e.pointerType && e.pointerType != 2 && e.pointerType != "touch") return false; - - if (self.rail.drag.pt == 2) { - if (cap.cantouch && (cap.isios) && e.original === undefined) return true; // prevent ios "ghost" events by clickable elements - - self.hasmoving = true; - - if (self.preventclick && !self.preventclick.click) { - self.preventclick.click = self.preventclick.tg.onclick || false; - self.preventclick.tg.onclick = self.onpreventclick; - } - - var ev = $.extend({ - "original": e - }, e); - e = ev; - - if (("changedTouches" in e)) { - e.clientX = e.changedTouches[0].clientX; - e.clientY = e.changedTouches[0].clientY; - } - - if (self.forcescreen) { - var le = e; - e = { - "original": (e.original) ? e.original : e - }; - e.clientX = le.screenX; - e.clientY = le.screenY; - } - - var ofy,ofx; - ofx = ofy = 0; - - if (moveneedoffset && !byiframe) { - var wp = self.win.position(); - ofx = -wp.left; - ofy = -wp.top; - } - - var fy = e.clientY + ofy; - var my = (fy - self.rail.drag.y); - var fx = e.clientX + ofx; - var mx = (fx - self.rail.drag.x); - - var ny = self.rail.drag.st - my; - - if (self.ishwscroll && self.opt.bouncescroll) { - if (ny < 0) { - ny = Math.round(ny / 2); - // fy = 0; - } else if (ny > self.page.maxh) { - ny = self.page.maxh + Math.round((ny - self.page.maxh) / 2); - // fy = 0; - } - } else { - if (ny < 0) { - ny = 0; - fy = 0; - } - if (ny > self.page.maxh) { - ny = self.page.maxh; - fy = 0; - } - } - - var nx; - if (self.railh && self.railh.scrollable) { - nx = (self.isrtlmode) ? mx - self.rail.drag.sl : self.rail.drag.sl - mx; - - if (self.ishwscroll && self.opt.bouncescroll) { - if (nx < 0) { - nx = Math.round(nx / 2); - // fx = 0; - } else if (nx > self.page.maxw) { - nx = self.page.maxw + Math.round((nx - self.page.maxw) / 2); - // fx = 0; - } - } else { - if (nx < 0) { - nx = 0; - fx = 0; - } - if (nx > self.page.maxw) { - nx = self.page.maxw; - fx = 0; - } - } - - } - - var grabbed = false; - if (self.rail.drag.dl) { - grabbed = true; - if (self.rail.drag.dl == "v") nx = self.rail.drag.sl; - else if (self.rail.drag.dl == "h") ny = self.rail.drag.st; - } else { - var ay = Math.abs(my); - var ax = Math.abs(mx); - var dz = self.opt.directionlockdeadzone; - if (self.rail.drag.ck == "v") { - if (ay > dz && (ax <= (ay * 0.3))) { - self.rail.drag = false; - return true; - } else if (ax > dz) { - self.rail.drag.dl = "f"; - $("body").scrollTop($("body").scrollTop()); // stop iOS native scrolling (when active javascript has blocked) - } - } else if (self.rail.drag.ck == "h") { - if (ax > dz && (ay <= (ax * 0.3))) { - self.rail.drag = false; - return true; - } else if (ay > dz) { - self.rail.drag.dl = "f"; - $("body").scrollLeft($("body").scrollLeft()); // stop iOS native scrolling (when active javascript has blocked) - } - } - } - - self.synched("touchmove", function() { - if (self.rail.drag && (self.rail.drag.pt == 2)) { - if (self.prepareTransition) self.prepareTransition(0); - if (self.rail.scrollable) self.setScrollTop(ny); - self.scrollmom.update(fx, fy); - if (self.railh && self.railh.scrollable) { - self.setScrollLeft(nx); - self.showCursor(ny, nx); - } else { - self.showCursor(ny); - } - if (cap.isie10) document.selection.clear(); - } - }); - - if (cap.ischrome && self.istouchcapable) grabbed = false; //chrome touch emulation doesn't like! - if (grabbed) return self.cancelEvent(e); - } - else if (self.rail.drag.pt == 1) { // drag on cursor - return self.onmousemove(e); - } - - }; - - } - - self.onmousedown = function(e, hronly) { - if (self.rail.drag && self.rail.drag.pt != 1) return; - if (self.railslocked) return self.cancelEvent(e); - self.cancelScroll(); - self.rail.drag = { - x: e.clientX, - y: e.clientY, - sx: self.scroll.x, - sy: self.scroll.y, - pt: 1, - hr: (!!hronly) - }; - var tg = self.getTarget(e); - if (!self.ispage && cap.hasmousecapture) tg.setCapture(); - if (self.isiframe && !cap.hasmousecapture) { - self.saved.csspointerevents = self.doc.css("pointer-events"); - self.css(self.doc, { - "pointer-events": "none" - }); - } - self.hasmoving = false; - return self.cancelEvent(e); - }; - - self.onmouseup = function(e) { - if (self.rail.drag) { - if (self.rail.drag.pt != 1) return true; - - if (cap.hasmousecapture) document.releaseCapture(); - if (self.isiframe && !cap.hasmousecapture) self.doc.css("pointer-events", self.saved.csspointerevents); - self.rail.drag = false; - //if (!self.rail.active) self.hideCursor(); - if (self.hasmoving) self.triggerScrollEnd(); // TODO - check &&!self.scrollrunning - return self.cancelEvent(e); - } - }; - - self.onmousemove = function(e) { - if (self.rail.drag) { - if (self.rail.drag.pt != 1) return; - - if (cap.ischrome && e.which == 0) return self.onmouseup(e); - - self.cursorfreezed = true; - self.hasmoving = true; - - if (self.rail.drag.hr) { - self.scroll.x = self.rail.drag.sx + (e.clientX - self.rail.drag.x); - if (self.scroll.x < 0) self.scroll.x = 0; - var mw = self.scrollvaluemaxw; - if (self.scroll.x > mw) self.scroll.x = mw; - } else { - self.scroll.y = self.rail.drag.sy + (e.clientY - self.rail.drag.y); - if (self.scroll.y < 0) self.scroll.y = 0; - var my = self.scrollvaluemax; - if (self.scroll.y > my) self.scroll.y = my; - } - - self.synched('mousemove', function() { - if (self.rail.drag && (self.rail.drag.pt == 1)) { - self.showCursor(); - if (self.rail.drag.hr) { - if (self.hasreversehr) { - self.doScrollLeft(self.scrollvaluemaxw-Math.round(self.scroll.x * self.scrollratio.x), self.opt.cursordragspeed); - } else { - self.doScrollLeft(Math.round(self.scroll.x * self.scrollratio.x), self.opt.cursordragspeed); - } - } - else self.doScrollTop(Math.round(self.scroll.y * self.scrollratio.y), self.opt.cursordragspeed); - } - }); - - return self.cancelEvent(e); - } - else { - self.checkarea = 0; - } - }; - - if (cap.cantouch || self.opt.touchbehavior) { - - self.onpreventclick = function(e) { - if (self.preventclick) { - self.preventclick.tg.onclick = self.preventclick.click; - self.preventclick = false; - return self.cancelEvent(e); - } - }; - - self.bind(self.win, "mousedown", self.ontouchstart); // control content dragging - - self.onclick = (cap.isios) ? false : function(e) { // it needs to check IE11 ??? - if (self.lastmouseup) { - self.lastmouseup = false; - return self.cancelEvent(e); - } else { - return true; - } - }; - - if (self.opt.grabcursorenabled && cap.cursorgrabvalue) { - self.css((self.ispage) ? self.doc : self.win, { - 'cursor': cap.cursorgrabvalue - }); - self.css(self.rail, { - 'cursor': cap.cursorgrabvalue - }); - } - - } else { - - var checkSelectionScroll = function(e) { - if (!self.selectiondrag) return; - - if (e) { - var ww = self.win.outerHeight(); - var df = (e.pageY - self.selectiondrag.top); - if (df > 0 && df < ww) df = 0; - if (df >= ww) df -= ww; - self.selectiondrag.df = df; - } - if (self.selectiondrag.df == 0) return; - - var rt = -Math.floor(self.selectiondrag.df / 6) * 2; - self.doScrollBy(rt); - - self.debounced("doselectionscroll", function() { - checkSelectionScroll(); - }, 50); - }; - - if ("getSelection" in document) { // A grade - Major browsers - self.hasTextSelected = function() { - return (document.getSelection().rangeCount > 0); - }; - } else if ("selection" in document) { //IE9- - self.hasTextSelected = function() { - return (document.selection.type != "None"); - }; - } else { - self.hasTextSelected = function() { // no support - return false; - }; - } - - self.onselectionstart = function(e) { -/* More testing - severe chrome issues - if (!self.haswrapper&&(e.which&&e.which==2)) { // fool browser to manage middle button scrolling - self.win.css({'overflow':'auto'}); - setTimeout(function(){ - self.win.css({'overflow':''}); - },10); - return true; - } -*/ - if (self.ispage) return; - self.selectiondrag = self.win.offset(); - }; - - self.onselectionend = function(e) { - self.selectiondrag = false; - }; - self.onselectiondrag = function(e) { - if (!self.selectiondrag) return; - if (self.hasTextSelected()) self.debounced("selectionscroll", function() { - checkSelectionScroll(e); - }, 250); - }; - - - } - - if (cap.hasw3ctouch) { //IE11+ - self.css(self.rail, { - 'touch-action': 'none' - }); - self.css(self.cursor, { - 'touch-action': 'none' - }); - self.bind(self.win, "pointerdown", self.ontouchstart); - self.bind(document, "pointerup", self.ontouchend); - self.bind(document, "pointermove", self.ontouchmove); - } else if (cap.hasmstouch) { //IE10 - self.css(self.rail, { - '-ms-touch-action': 'none' - }); - self.css(self.cursor, { - '-ms-touch-action': 'none' - }); - self.bind(self.win, "MSPointerDown", self.ontouchstart); - self.bind(document, "MSPointerUp", self.ontouchend); - self.bind(document, "MSPointerMove", self.ontouchmove); - self.bind(self.cursor, "MSGestureHold", function(e) { - e.preventDefault(); - }); - self.bind(self.cursor, "contextmenu", function(e) { - e.preventDefault(); - }); - } else if (this.istouchcapable) { //desktop with screen touch enabled - self.bind(self.win, "touchstart", self.ontouchstart); - self.bind(document, "touchend", self.ontouchend); - self.bind(document, "touchcancel", self.ontouchend); - self.bind(document, "touchmove", self.ontouchmove); - } - - - if (self.opt.cursordragontouch || (!cap.cantouch && !self.opt.touchbehavior)) { - - self.rail.css({ - cursor: "default" - }); - self.railh && self.railh.css({ - cursor: "default" - }); - - self.jqbind(self.rail, "mouseenter", function() { - if (!self.ispage && !self.win.is(":visible")) return false; - if (self.canshowonmouseevent) self.showCursor(); - self.rail.active = true; - }); - self.jqbind(self.rail, "mouseleave", function() { - self.rail.active = false; - if (!self.rail.drag) self.hideCursor(); - }); - - if (self.opt.sensitiverail) { - self.bind(self.rail, "click", function(e) { - self.doRailClick(e, false, false); - }); - self.bind(self.rail, "dblclick", function(e) { - self.doRailClick(e, true, false); - }); - self.bind(self.cursor, "click", function(e) { - self.cancelEvent(e); - }); - self.bind(self.cursor, "dblclick", function(e) { - self.cancelEvent(e); - }); - } - - if (self.railh) { - self.jqbind(self.railh, "mouseenter", function() { - if (!self.ispage && !self.win.is(":visible")) return false; - if (self.canshowonmouseevent) self.showCursor(); - self.rail.active = true; - }); - self.jqbind(self.railh, "mouseleave", function() { - self.rail.active = false; - if (!self.rail.drag) self.hideCursor(); - }); - - if (self.opt.sensitiverail) { - self.bind(self.railh, "click", function(e) { - self.doRailClick(e, false, true); - }); - self.bind(self.railh, "dblclick", function(e) { - self.doRailClick(e, true, true); - }); - self.bind(self.cursorh, "click", function(e) { - self.cancelEvent(e); - }); - self.bind(self.cursorh, "dblclick", function(e) { - self.cancelEvent(e); - }); - } - - } - - } - - if (!cap.cantouch && !self.opt.touchbehavior) { - - self.bind((cap.hasmousecapture) ? self.win : document, "mouseup", self.onmouseup); - self.bind(document, "mousemove", self.onmousemove); - if (self.onclick) self.bind(document, "click", self.onclick); - - self.bind(self.cursor, "mousedown", self.onmousedown); - self.bind(self.cursor, "mouseup", self.onmouseup); - - if (self.railh) { - self.bind(self.cursorh, "mousedown", function(e) { - self.onmousedown(e, true); - }); - self.bind(self.cursorh, "mouseup", self.onmouseup); - } - - if (!self.ispage && self.opt.enablescrollonselection) { - self.bind(self.win[0], "mousedown", self.onselectionstart); - self.bind(document, "mouseup", self.onselectionend); - self.bind(self.cursor, "mouseup", self.onselectionend); - if (self.cursorh) self.bind(self.cursorh, "mouseup", self.onselectionend); - self.bind(document, "mousemove", self.onselectiondrag); - } - - if (self.zoom) { - self.jqbind(self.zoom, "mouseenter", function() { - if (self.canshowonmouseevent) self.showCursor(); - self.rail.active = true; - }); - self.jqbind(self.zoom, "mouseleave", function() { - self.rail.active = false; - if (!self.rail.drag) self.hideCursor(); - }); - } - - } else { - - self.bind((cap.hasmousecapture) ? self.win : document, "mouseup", self.ontouchend); - self.bind(document, "mousemove", self.ontouchmove); - if (self.onclick) self.bind(document, "click", self.onclick); - - if (self.opt.cursordragontouch) { - self.bind(self.cursor, "mousedown", self.onmousedown); - self.bind(self.cursor, "mouseup", self.onmouseup); - //self.bind(self.cursor, "mousemove", self.onmousemove); - self.cursorh && self.bind(self.cursorh, "mousedown", function(e) { - self.onmousedown(e, true); - }); - //self.cursorh && self.bind(self.cursorh, "mousemove", self.onmousemove); - self.cursorh && self.bind(self.cursorh, "mouseup", self.onmouseup); - } else { - self.bind(self.rail, "mousedown", function(e){e.preventDefault();}); // prevent text selection - self.railh&&self.bind(self.railh, "mousedown", function(e){e.preventDefault();}); - } - - } - - - if (self.opt.enablemousewheel) { - if (!self.isiframe) self.mousewheel((cap.isie && self.ispage) ? document : self.win , self.onmousewheel); - self.mousewheel(self.rail, self.onmousewheel); - if (self.railh) self.mousewheel(self.railh, self.onmousewheelhr); - } - - if (!self.ispage && !cap.cantouch && !(/HTML|^BODY/.test(self.win[0].nodeName))) { - if (!self.win.attr("tabindex")) self.win.attr({ - "tabindex": tabindexcounter++ - }); - - self.jqbind(self.win, "focus", function(e) { - domfocus = (self.getTarget(e)).id || true; - self.hasfocus = true; - if (self.canshowonmouseevent) self.noticeCursor(); - }); - self.jqbind(self.win, "blur", function(e) { - domfocus = false; - self.hasfocus = false; - }); - - self.jqbind(self.win, "mouseenter", function(e) { - mousefocus = (self.getTarget(e)).id || true; - self.hasmousefocus = true; - if (self.canshowonmouseevent) self.noticeCursor(); - }); - self.jqbind(self.win, "mouseleave", function() { - mousefocus = false; - self.hasmousefocus = false; - if (!self.rail.drag) self.hideCursor(); - }); - - } - - } // !ie9mobile - - //Thanks to http://www.quirksmode.org !! - self.onkeypress = function(e) { - if (self.railslocked && self.page.maxh == 0) return true; - - e = (e) ? e : window.e; - var tg = self.getTarget(e); - if (tg && /INPUT|TEXTAREA|SELECT|OPTION/.test(tg.nodeName)) { - var tp = tg.getAttribute('type') || tg.type || false; - if ((!tp) || !(/submit|button|cancel/i.tp)) return true; - } - - if ($(tg).attr('contenteditable')) return true; - - if (self.hasfocus || (self.hasmousefocus && !domfocus) || (self.ispage && !domfocus && !mousefocus)) { - var key = e.keyCode; - - if (self.railslocked && key != 27) return self.cancelEvent(e); - - var ctrl = e.ctrlKey || false; - var shift = e.shiftKey || false; - - var ret = false; - switch (key) { - case 38: - case 63233: //safari - self.doScrollBy(24 * 3); - ret = true; - break; - case 40: - case 63235: //safari - self.doScrollBy(-24 * 3); - ret = true; - break; - case 37: - case 63232: //safari - if (self.railh) { - (ctrl) ? self.doScrollLeft(0): self.doScrollLeftBy(24 * 3); - ret = true; - } - break; - case 39: - case 63234: //safari - if (self.railh) { - (ctrl) ? self.doScrollLeft(self.page.maxw): self.doScrollLeftBy(-24 * 3); - ret = true; - } - break; - case 33: - case 63276: // safari - self.doScrollBy(self.view.h); - ret = true; - break; - case 34: - case 63277: // safari - self.doScrollBy(-self.view.h); - ret = true; - break; - case 36: - case 63273: // safari - (self.railh && ctrl) ? self.doScrollPos(0, 0): self.doScrollTo(0); - ret = true; - break; - case 35: - case 63275: // safari - (self.railh && ctrl) ? self.doScrollPos(self.page.maxw, self.page.maxh): self.doScrollTo(self.page.maxh); - ret = true; - break; - case 32: - if (self.opt.spacebarenabled) { - (shift) ? self.doScrollBy(self.view.h): self.doScrollBy(-self.view.h); - ret = true; - } - break; - case 27: // ESC - if (self.zoomactive) { - self.doZoom(); - ret = true; - } - break; - } - if (ret) return self.cancelEvent(e); - } - }; - - if (self.opt.enablekeyboard) self.bind(document, (cap.isopera && !cap.isopera12) ? "keypress" : "keydown", self.onkeypress); - - self.bind(document, "keydown", function(e) { - var ctrl = e.ctrlKey || false; - if (ctrl) self.wheelprevented = true; - }); - self.bind(document, "keyup", function(e) { - var ctrl = e.ctrlKey || false; - if (!ctrl) self.wheelprevented = false; - }); - self.bind(window,"blur",function(e){ - self.wheelprevented = false; - }); - - self.bind(window, 'resize', self.lazyResize); - self.bind(window, 'orientationchange', self.lazyResize); - - self.bind(window, "load", self.lazyResize); - - if (cap.ischrome && !self.ispage && !self.haswrapper) { //chrome void scrollbar bug - it persists in version 26 - var tmp = self.win.attr("style"); - var ww = parseFloat(self.win.css("width")) + 1; - self.win.css('width', ww); - self.synched("chromefix", function() { - self.win.attr("style", tmp); - }); - } - - - // Trying a cross-browser implementation - good luck! - - self.onAttributeChange = function(e) { - self.lazyResize(self.isieold ? 250 : 30); - }; - - if ((!self.isie11) && (ClsMutationObserver !== false)) { // IE11 crashes #568 - self.observerbody = new ClsMutationObserver(function(mutations) { - mutations.forEach(function(mut){ - if (mut.type=="attributes") { - return ($("body").hasClass("modal-open") && $("body").hasClass("modal-dialog") && !$.contains($('.modal-dialog')[0],self.doc[0])) ? self.hide() : self.show(); // Support for Bootstrap modal; Added check if the nice scroll element is inside a modal - } - }); - if (document.body.scrollHeight!=self.page.maxh) return self.lazyResize(30); - }); - self.observerbody.observe(document.body, { - childList: true, - subtree: true, - characterData: false, - attributes: true, - attributeFilter: ['class'] - }); - } - - if (!self.ispage && !self.haswrapper) { - // redesigned MutationObserver for Chrome18+/Firefox14+/iOS6+ with support for: remove div, add/remove content - if (ClsMutationObserver !== false) { - self.observer = new ClsMutationObserver(function(mutations) { - mutations.forEach(self.onAttributeChange); - }); - self.observer.observe(self.win[0], { - childList: true, - characterData: false, - attributes: true, - subtree: false - }); - self.observerremover = new ClsMutationObserver(function(mutations) { - mutations.forEach(function(mo) { - if (mo.removedNodes.length > 0) { - for (var dd in mo.removedNodes) { - if (!!self && (mo.removedNodes[dd] == self.win[0])) return self.remove(); - } - } - }); - }); - self.observerremover.observe(self.win[0].parentNode, { - childList: true, - characterData: false, - attributes: false, - subtree: false - }); - } else { - self.bind(self.win, (cap.isie && !cap.isie9) ? "propertychange" : "DOMAttrModified", self.onAttributeChange); - if (cap.isie9) self.win[0].attachEvent("onpropertychange", self.onAttributeChange); //IE9 DOMAttrModified bug - self.bind(self.win, "DOMNodeRemoved", function(e) { - if (e.target == self.win[0]) self.remove(); - }); - } - } - - // - - if (!self.ispage && self.opt.boxzoom) self.bind(window, "resize", self.resizeZoom); - if (self.istextarea) { - self.bind(self.win, "keydown", self.lazyResize); - self.bind(self.win, "mouseup", self.lazyResize); - } - - // self.checkrtlmode = true; - self.lazyResize(30); - - } - - if (this.doc[0].nodeName == 'IFRAME') { - var oniframeload = function() { - self.iframexd = false; - var doc; - try { - doc = 'contentDocument' in this ? this.contentDocument : this.contentWindow.document; - var a = doc.domain; - } catch (e) { - self.iframexd = true; - doc = false; - } - - if (self.iframexd) { - if ("console" in window) console.log('NiceScroll error: policy restriced iframe'); - return true; //cross-domain - I can't manage this - } - - self.forcescreen = true; - - if (self.isiframe) { - self.iframe = { - "doc": $(doc), - "html": self.doc.contents().find('html')[0], - "body": self.doc.contents().find('body')[0] - }; - self.getContentSize = function() { - return { - w: Math.max(self.iframe.html.scrollWidth, self.iframe.body.scrollWidth), - h: Math.max(self.iframe.html.scrollHeight, self.iframe.body.scrollHeight) - }; - }; - self.docscroll = $(self.iframe.body); //$(this.contentWindow); - } - - if (!cap.isios && self.opt.iframeautoresize && !self.isiframe) { - self.win.scrollTop(0); // reset position - self.doc.height(""); //reset height to fix browser bug - var hh = Math.max(doc.getElementsByTagName('html')[0].scrollHeight, doc.body.scrollHeight); - self.doc.height(hh); - } - self.lazyResize(30); - - if (cap.isie7) self.css($(self.iframe.html), _scrollyhidden); - self.css($(self.iframe.body), _scrollyhidden); - - if (cap.isios && self.haswrapper) { - self.css($(doc.body), { - '-webkit-transform': 'translate3d(0,0,0)' - }); // avoid iFrame content clipping - thanks to http://blog.derraab.com/2012/04/02/avoid-iframe-content-clipping-with-css-transform-on-ios/ - } - - if ('contentWindow' in this) { - self.bind(this.contentWindow, "scroll", self.onscroll); //IE8 & minor - } else { - self.bind(doc, "scroll", self.onscroll); - } - - if (self.opt.enablemousewheel) { - self.mousewheel(doc, self.onmousewheel); - } - - if (self.opt.enablekeyboard) self.bind(doc, (cap.isopera) ? "keypress" : "keydown", self.onkeypress); - - if (cap.cantouch || self.opt.touchbehavior) { - self.bind(doc, "mousedown", self.ontouchstart); - self.bind(doc, "mousemove", function(e) { - return self.ontouchmove(e, true); - }); - if (self.opt.grabcursorenabled && cap.cursorgrabvalue) self.css($(doc.body), { - 'cursor': cap.cursorgrabvalue - }); - } - - self.bind(doc, "mouseup", self.ontouchend); - - if (self.zoom) { - if (self.opt.dblclickzoom) self.bind(doc, 'dblclick', self.doZoom); - if (self.ongesturezoom) self.bind(doc, "gestureend", self.ongesturezoom); - } - }; - - if (this.doc[0].readyState && this.doc[0].readyState == "complete") { - setTimeout(function() { - oniframeload.call(self.doc[0], false); - }, 500); - } - self.bind(this.doc, "load", oniframeload); - - } - - }; - - this.showCursor = function(py, px) { - if (self.cursortimeout) { - clearTimeout(self.cursortimeout); - self.cursortimeout = 0; - } - if (!self.rail) return; - if (self.autohidedom) { - self.autohidedom.stop().css({ - opacity: self.opt.cursoropacitymax - }); - self.cursoractive = true; - } - - if (!self.rail.drag || self.rail.drag.pt != 1) { - if (py !== undefined && py !== false) { - self.scroll.y = Math.round(py * 1 / self.scrollratio.y); - } - if (px !== undefined) { - self.scroll.x = Math.round(px * 1 / self.scrollratio.x); - } - } - - self.cursor.css({ - height: self.cursorheight, - top: self.scroll.y - }); - if (self.cursorh) { - var lx = (self.hasreversehr) ? self.scrollvaluemaxw-self.scroll.x : self.scroll.x; - (!self.rail.align && self.rail.visibility) ? self.cursorh.css({ - width: self.cursorwidth, - left: lx + self.rail.width - }): self.cursorh.css({ - width: self.cursorwidth, - left: lx - }); - self.cursoractive = true; - } - - if (self.zoom) self.zoom.stop().css({ - opacity: self.opt.cursoropacitymax - }); - }; - - this.hideCursor = function(tm) { - if (self.cursortimeout) return; - if (!self.rail) return; - if (!self.autohidedom) return; - if (self.hasmousefocus && self.opt.autohidemode == "leave") return; - self.cursortimeout = setTimeout(function() { - if (!self.rail.active || !self.showonmouseevent) { - self.autohidedom.stop().animate({ - opacity: self.opt.cursoropacitymin - }); - if (self.zoom) self.zoom.stop().animate({ - opacity: self.opt.cursoropacitymin - }); - self.cursoractive = false; - } - self.cursortimeout = 0; - }, tm || self.opt.hidecursordelay); - }; - - this.noticeCursor = function(tm, py, px) { - self.showCursor(py, px); - if (!self.rail.active) self.hideCursor(tm); - }; - - this.getContentSize = - (self.ispage) ? - function() { - return { - w: Math.max(document.body.scrollWidth, document.documentElement.scrollWidth), - h: Math.max(document.body.scrollHeight, document.documentElement.scrollHeight) - }; - } : (self.haswrapper) ? - function() { - return { - w: self.doc.outerWidth() + parseInt(self.win.css('paddingLeft')) + parseInt(self.win.css('paddingRight')), - h: self.doc.outerHeight() + parseInt(self.win.css('paddingTop')) + parseInt(self.win.css('paddingBottom')) - }; - } : function() { - return { - w: self.docscroll[0].scrollWidth, - h: self.docscroll[0].scrollHeight - }; - }; - - this.onResize = function(e, page) { - - if (!self || !self.win) return false; - - if (!self.haswrapper && !self.ispage) { - if (self.win.css('display') == 'none') { - if (self.visibility) self.hideRail().hideRailHr(); - return false; - } else { - if (!self.hidden && !self.visibility) self.showRail().showRailHr(); - } - } - - var premaxh = self.page.maxh; - var premaxw = self.page.maxw; - - var preview = { - h: self.view.h, - w: self.view.w - }; - - self.view = { - w: (self.ispage) ? self.win.width() : parseInt(self.win[0].clientWidth), - h: (self.ispage) ? self.win.height() : parseInt(self.win[0].clientHeight) - }; - - self.page = (page) ? page : self.getContentSize(); - - self.page.maxh = Math.max(0, self.page.h - self.view.h); - self.page.maxw = Math.max(0, self.page.w - self.view.w); - - if ((self.page.maxh == premaxh) && (self.page.maxw == premaxw) && (self.view.w == preview.w) && (self.view.h == preview.h)) { - // test position - if (!self.ispage) { - var pos = self.win.offset(); - if (self.lastposition) { - var lst = self.lastposition; - if ((lst.top == pos.top) && (lst.left == pos.left)) return self; //nothing to do - } - self.lastposition = pos; - } else { - return self; //nothing to do - } - } - - if (self.page.maxh == 0) { - self.hideRail(); - self.scrollvaluemax = 0; - self.scroll.y = 0; - self.scrollratio.y = 0; - self.cursorheight = 0; - self.setScrollTop(0); - if (self.rail) self.rail.scrollable = false; - } else { - self.page.maxh -= (self.opt.railpadding.top + self.opt.railpadding.bottom); //** - self.rail.scrollable = true; - } - - if (self.page.maxw == 0) { - self.hideRailHr(); - self.scrollvaluemaxw = 0; - self.scroll.x = 0; - self.scrollratio.x = 0; - self.cursorwidth = 0; - self.setScrollLeft(0); - if (self.railh) { - self.railh.scrollable = false; - } - } else { - self.page.maxw -= (self.opt.railpadding.left + self.opt.railpadding.right); //** - if (self.railh) self.railh.scrollable = (self.opt.horizrailenabled); - } - - self.railslocked = (self.locked) || ((self.page.maxh == 0) && (self.page.maxw == 0)); - if (self.railslocked) { - if (!self.ispage) self.updateScrollBar(self.view); - return false; - } - - if (!self.hidden && !self.visibility) { - self.showRail().showRailHr(); - } - else if (self.railh && (!self.hidden && !self.railh.visibility)) self.showRailHr(); - - if (self.istextarea && self.win.css('resize') && self.win.css('resize') != 'none') self.view.h -= 20; - - self.cursorheight = Math.min(self.view.h, Math.round(self.view.h * (self.view.h / self.page.h))); - self.cursorheight = (self.opt.cursorfixedheight) ? self.opt.cursorfixedheight : Math.max(self.opt.cursorminheight, self.cursorheight); - - self.cursorwidth = Math.min(self.view.w, Math.round(self.view.w * (self.view.w / self.page.w))); - self.cursorwidth = (self.opt.cursorfixedheight) ? self.opt.cursorfixedheight : Math.max(self.opt.cursorminheight, self.cursorwidth); - - self.scrollvaluemax = self.view.h - self.cursorheight - self.cursor.hborder - (self.opt.railpadding.top + self.opt.railpadding.bottom); //** - - if (self.railh) { - self.railh.width = (self.page.maxh > 0) ? (self.view.w - self.rail.width) : self.view.w; - self.scrollvaluemaxw = self.railh.width - self.cursorwidth - self.cursorh.wborder - (self.opt.railpadding.left + self.opt.railpadding.right); //** - } - - /* - if (self.checkrtlmode&&self.railh) { - self.checkrtlmode = false; - if (self.opt.rtlmode&&self.scroll.x==0) self.setScrollLeft(self.page.maxw); - } -*/ - - if (!self.ispage) self.updateScrollBar(self.view); - - self.scrollratio = { - x: (self.page.maxw / self.scrollvaluemaxw), - y: (self.page.maxh / self.scrollvaluemax) - }; - - var sy = self.getScrollTop(); - if (sy > self.page.maxh) { - self.doScrollTop(self.page.maxh); - } else { - self.scroll.y = Math.round(self.getScrollTop() * (1 / self.scrollratio.y)); - self.scroll.x = Math.round(self.getScrollLeft() * (1 / self.scrollratio.x)); - if (self.cursoractive) self.noticeCursor(); - } - - if (self.scroll.y && (self.getScrollTop() == 0)) self.doScrollTo(Math.floor(self.scroll.y * self.scrollratio.y)); - - return self; - }; - - this.resize = self.onResize; - - this.hlazyresize = 0; - - this.lazyResize = function(tm) { // event debounce -/* - tm = (isNaN(tm)) ? 30 : tm; - self.debounced('resize', self.resize, tm); -*/ - -// if (!self.haswrapper&&self.opt.autohidemode!==false) self.hide(); - if (!self.haswrapper) self.hide(); - if (self.hlazyresize) clearTimeout(self.hlazyresize); - self.hlazyresize = setTimeout(function(){ - self && self.show().resize(); - },240); - - return self; - }; - - // modified by MDN https://developer.mozilla.org/en-US/docs/DOM/Mozilla_event_reference/wheel - function _modernWheelEvent(dom, name, fn, bubble) { - self._bind(dom, name, function(e) { - var e = (e) ? e : window.event; - var event = { - original: e, - target: e.target || e.srcElement, - type: "wheel", - deltaMode: e.type == "MozMousePixelScroll" ? 0 : 1, - deltaX: 0, - deltaZ: 0, - preventDefault: function() { - e.preventDefault ? e.preventDefault() : e.returnValue = false; - return false; - }, - stopImmediatePropagation: function() { - (e.stopImmediatePropagation) ? e.stopImmediatePropagation(): e.cancelBubble = true; - } - }; - - if (name == "mousewheel") { - e.wheelDeltaX && (event.deltaX = -1 / 40 * e.wheelDeltaX); - e.wheelDeltaY && (event.deltaY = -1 / 40 * e.wheelDeltaY); - !event.deltaY && !event.deltaX && (event.deltaY = -1 / 40 * e.wheelDelta); - } else { - event.deltaY = e.detail; - } - - return fn.call(dom, event); - }, bubble); - } - - - - this.jqbind = function(dom, name, fn) { // use jquery bind for non-native events (mouseenter/mouseleave) - self.events.push({ - e: dom, - n: name, - f: fn, - q: true - }); - $(dom).bind(name, fn); - }; - - this.mousewheel = function(dom, fn, bubble) { // bind mousewheel - var el = ("jquery" in dom) ? dom[0] : dom; - if ("onwheel" in document.createElement("div")) { // Modern browsers support "wheel" - self._bind(el, "wheel", fn, bubble || false); - } else { - var wname = (document.onmousewheel !== undefined) ? "mousewheel" : "DOMMouseScroll"; // older Webkit+IE support or older Firefox - _modernWheelEvent(el, wname, fn, bubble || false); - if (wname == "DOMMouseScroll") _modernWheelEvent(el, "MozMousePixelScroll", fn, bubble || false); // Firefox legacy - } - }; - - if (cap.haseventlistener) { // W3C standard event model - - this.bind = function(dom, name, fn, bubble) { // W3C - var el = ("jquery" in dom) ? dom[0] : dom; - self._bind(el, name, fn, bubble || false); - }; - - this._bind = function(el, name, fn, bubble) { // primitive bind - self.events.push({ - e: el, - n: name, - f: fn, - b: bubble, - q: false - }); - el.addEventListener(name, fn, bubble || false); - }; - this.cancelEvent = function(e) { - if (!e) return false; - var e = (e.original) ? e.original : e; - if (e.cancelable) e.preventDefault(); - e.stopPropagation(); - if (e.preventManipulation) e.preventManipulation(); //IE10 - return false; - }; - this.stopPropagation = function(e) { - if (!e) return false; - var e = (e.original) ? e.original : e; - e.stopPropagation(); - return false; - }; - this._unbind = function(el, name, fn, bub) { // primitive unbind - el.removeEventListener(name, fn, bub); - }; - } else { // old IE model - - this.bind = function(dom, name, fn, bubble) { // legacy IE - var el = ("jquery" in dom) ? dom[0] : dom; - self._bind(el, name, function(e) { - e = e || window.event || false; - if (e && e.srcElement) { - e.target = e.srcElement; - } - if (!("pageY" in e)) { - e.pageX = e.clientX + document.documentElement.scrollLeft; - e.pageY = e.clientY + document.documentElement.scrollTop; - } - return ((fn.call(el, e) === false) || bubble === false) ? self.cancelEvent(e) : true; - }); - }; - - this._bind = function(el, name, fn, bubble) { // primitive bind - self.events.push({ - e: el, - n: name, - f: fn, - b: bubble, - q: false - }); - if (el.attachEvent) { - el.attachEvent("on" + name, fn); - } else { - el["on" + name] = fn; - } - }; - // Thanks to http://www.switchonthecode.com !! - this.cancelEvent = function(e) { - var e = window.event || false; - if (!e) return false; - e.cancelBubble = true; - e.cancel = true; - e.returnValue = false; - return false; - }; - this.stopPropagation = function(e) { - var e = window.event || false; - if (!e) return false; - e.cancelBubble = true; - return false; - }; - this._unbind = function(el, name, fn, bub) { // primitive unbind IE old - if (el.detachEvent) { - el.detachEvent('on' + name, fn); - } else { - el['on' + name] = false; - } - }; - } - - this.unbindAll = function() { - for (var a = 0; a < self.events.length; a++) { - var r = self.events[a]; - (r.q) ? r.e.unbind(r.n, r.f): self._unbind(r.e, r.n, r.f, r.b); - } - }; - - this.showRail = function() { - if ((self.page.maxh != 0) && (self.ispage || self.win.css('display') != 'none')) { - self.visibility = true; - self.rail.visibility = true; - self.rail.css('display', 'block'); - } - return self; - }; - - this.showRailHr = function() { - if (!self.railh) return self; - if ((self.page.maxw != 0) && (self.ispage || self.win.css('display') != 'none')) { - self.railh.visibility = true; - self.railh.css('display', 'block'); - } - return self; - }; - - this.hideRail = function() { - self.visibility = false; - self.rail.visibility = false; - self.rail.css('display', 'none'); - return self; - }; - - this.hideRailHr = function() { - if (!self.railh) return self; - self.railh.visibility = false; - self.railh.css('display', 'none'); - return self; - }; - - this.show = function() { - self.hidden = false; - self.railslocked = false; - return self.showRail().showRailHr(); - }; - - this.hide = function() { - self.hidden = true; - self.railslocked = true; - return self.hideRail().hideRailHr(); - }; - - this.toggle = function() { - return (self.hidden) ? self.show() : self.hide(); - }; - - this.remove = function() { - self.stop(); - if (self.cursortimeout) clearTimeout(self.cursortimeout); -// if (self.debouncedelayed) clearTimeout(self.debouncedelayed); - for(var n in self.delaylist) if (self.delaylist[n]) clearAnimationFrame(self.delaylist[n].h); - self.doZoomOut(); - self.unbindAll(); - - if (cap.isie9) self.win[0].detachEvent("onpropertychange", self.onAttributeChange); //IE9 DOMAttrModified bug - - if (self.observer !== false) self.observer.disconnect(); - if (self.observerremover !== false) self.observerremover.disconnect(); - if (self.observerbody !== false) self.observerbody.disconnect(); - - self.events = null; - - if (self.cursor) { - self.cursor.remove(); - } - if (self.cursorh) { - self.cursorh.remove(); - } - if (self.rail) { - self.rail.remove(); - } - if (self.railh) { - self.railh.remove(); - } - if (self.zoom) { - self.zoom.remove(); - } - for (var a = 0; a < self.saved.css.length; a++) { - var d = self.saved.css[a]; - d[0].css(d[1], (d[2] === undefined) ? '' : d[2]); - } - self.saved = false; - self.me.data('__nicescroll', ''); //erase all traces - - // memory leak fixed by GianlucaGuarini - thanks a lot! - // remove the current nicescroll from the $.nicescroll array & normalize array - var lst = $.nicescroll; - lst.each(function(i) { - if (!this) return; - if (this.id === self.id) { - delete lst[i]; - for (var b = ++i; b < lst.length; b++, i++) lst[i] = lst[b]; - lst.length--; - if (lst.length) delete lst[lst.length]; - } - }); - - for (var i in self) { - self[i] = null; - delete self[i]; - } - - self = null; - - }; - - this.scrollstart = function(fn) { - this.onscrollstart = fn; - return self; - }; - this.scrollend = function(fn) { - this.onscrollend = fn; - return self; - }; - this.scrollcancel = function(fn) { - this.onscrollcancel = fn; - return self; - }; - - this.zoomin = function(fn) { - this.onzoomin = fn; - return self; - }; - this.zoomout = function(fn) { - this.onzoomout = fn; - return self; - }; - - this.isScrollable = function(e) { - var dom = (e.target) ? e.target : e; - if (dom.nodeName == 'OPTION') return true; - while (dom && (dom.nodeType == 1) && !(/^BODY|HTML/.test(dom.nodeName))) { - var dd = $(dom); - var ov = dd.css('overflowY') || dd.css('overflowX') || dd.css('overflow') || ''; - if (/scroll|auto/.test(ov)) return (dom.clientHeight != dom.scrollHeight); - dom = (dom.parentNode) ? dom.parentNode : false; - } - return false; - }; - - this.getViewport = function(me) { - var dom = (me && me.parentNode) ? me.parentNode : false; - while (dom && (dom.nodeType == 1) && !(/^BODY|HTML/.test(dom.nodeName))) { - var dd = $(dom); - if (/fixed|absolute/.test(dd.css("position"))) return dd; - var ov = dd.css('overflowY') || dd.css('overflowX') || dd.css('overflow') || ''; - if ((/scroll|auto/.test(ov)) && (dom.clientHeight != dom.scrollHeight)) return dd; - if (dd.getNiceScroll().length > 0) return dd; - dom = (dom.parentNode) ? dom.parentNode : false; - } - return false; //(dom) ? $(dom) : false; - }; - - this.triggerScrollEnd = function() { - if (!self.onscrollend) return; - - var px = self.getScrollLeft(); - var py = self.getScrollTop(); - - var info = { - type: "scrollend", - current: { - x: px, - y: py - }, - end: { - x: px, - y: py - } - }; - self.onscrollend.call(self, info); - }; - - function execScrollWheel(e, hr, chkscroll) { - var px, py; - - if (e.deltaMode == 0) { // PIXEL - px = -Math.floor(e.deltaX * (self.opt.mousescrollstep / (18 * 3))); - py = -Math.floor(e.deltaY * (self.opt.mousescrollstep / (18 * 3))); - } else if (e.deltaMode == 1) { // LINE - px = -Math.floor(e.deltaX * self.opt.mousescrollstep); - py = -Math.floor(e.deltaY * self.opt.mousescrollstep); - } - - if (hr && self.opt.oneaxismousemode && (px == 0) && py) { // classic vertical-only mousewheel + browser with x/y support - px = py; - py = 0; - - if (chkscroll) { - var hrend = (px < 0) ? (self.getScrollLeft() >= self.page.maxw) : (self.getScrollLeft() <= 0); - if (hrend) { // preserve vertical scrolling - py = px; - px = 0; - } - } - - } - - // invert horizontal direction for rtl mode - if (self.isrtlmode) px = -px; - - if (px) { - if (self.scrollmom) { - self.scrollmom.stop(); - } - self.lastdeltax += px; - self.debounced("mousewheelx", function() { - var dt = self.lastdeltax; - self.lastdeltax = 0; - if (!self.rail.drag) { - self.doScrollLeftBy(dt); - } - }, 15); - } - if (py) { - if (self.opt.nativeparentscrolling && chkscroll && !self.ispage && !self.zoomactive) { - if (py < 0) { - if (self.getScrollTop() >= self.page.maxh) return true; - } else { - if (self.getScrollTop() <= 0) return true; - } - } - if (self.scrollmom) { - self.scrollmom.stop(); - } - self.lastdeltay += py; -// self.debounced("mousewheely", function() { - self.synched("mousewheely", function() { - var dt = self.lastdeltay; - self.lastdeltay = 0; - if (!self.rail.drag) { - self.doScrollBy(dt); - } - }, 15); - } - - e.stopImmediatePropagation(); - return e.preventDefault(); - } - - this.onmousewheel = function(e) { - if (self.wheelprevented) return; - if (self.railslocked) { - self.debounced("checkunlock", self.resize, 250); - return true; - } - if (self.rail.drag) return self.cancelEvent(e); - - if (self.opt.oneaxismousemode == "auto" && e.deltaX != 0) self.opt.oneaxismousemode = false; // check two-axis mouse support (not very elegant) - - if (self.opt.oneaxismousemode && e.deltaX == 0) { - if (!self.rail.scrollable) { - if (self.railh && self.railh.scrollable) { - return self.onmousewheelhr(e); - } else { - return true; - } - } - } - - var nw = +(new Date()); - var chk = false; - if (self.opt.preservenativescrolling && ((self.checkarea + 600) < nw)) { - self.nativescrollingarea = self.isScrollable(e); - chk = true; - } - self.checkarea = nw; - if (self.nativescrollingarea) return true; // this isn't my business - var ret = execScrollWheel(e, false, chk); - if (ret) self.checkarea = 0; - return ret; - }; - - this.onmousewheelhr = function(e) { - if (self.wheelprevented) return; - if (self.railslocked || !self.railh.scrollable) return true; - if (self.rail.drag) return self.cancelEvent(e); - - var nw = +(new Date()); - var chk = false; - if (self.opt.preservenativescrolling && ((self.checkarea + 600) < nw)) { - self.nativescrollingarea = self.isScrollable(e); - chk = true; - } - self.checkarea = nw; - if (self.nativescrollingarea) return true; // this isn't my business - if (self.railslocked) return self.cancelEvent(e); - - return execScrollWheel(e, true, chk); - }; - - this.stop = function() { - self.cancelScroll(); - if (self.scrollmon) self.scrollmon.stop(); - self.cursorfreezed = false; - self.scroll.y = Math.round(self.getScrollTop() * (1 / self.scrollratio.y)); - self.noticeCursor(); - return self; - }; - - this.getTransitionSpeed = function(dif) { - var sp = Math.round(self.opt.scrollspeed * 10); - var ex = Math.min(sp, Math.round((dif / 20) * self.opt.scrollspeed)); - return (ex > 20) ? ex : 0; - }; - - if (!self.opt.smoothscroll) { - this.doScrollLeft = function(x, spd) { //direct - var y = self.getScrollTop(); - self.doScrollPos(x, y, spd); - }; - this.doScrollTop = function(y, spd) { //direct - var x = self.getScrollLeft(); - self.doScrollPos(x, y, spd); - }; - this.doScrollPos = function(x, y, spd) { //direct - var nx = (x > self.page.maxw) ? self.page.maxw : x; - if (nx < 0) nx = 0; - var ny = (y > self.page.maxh) ? self.page.maxh : y; - if (ny < 0) ny = 0; - self.synched('scroll', function() { - self.setScrollTop(ny); - self.setScrollLeft(nx); - }); - }; - this.cancelScroll = function() {}; // direct - } else if (self.ishwscroll && cap.hastransition && self.opt.usetransition && !!self.opt.smoothscroll) { - this.prepareTransition = function(dif, istime) { - var ex = (istime) ? ((dif > 20) ? dif : 0) : self.getTransitionSpeed(dif); - var trans = (ex) ? cap.prefixstyle + 'transform ' + ex + 'ms ease-out' : ''; - if (!self.lasttransitionstyle || self.lasttransitionstyle != trans) { - self.lasttransitionstyle = trans; - self.doc.css(cap.transitionstyle, trans); - } - return ex; - }; - - this.doScrollLeft = function(x, spd) { //trans - var y = (self.scrollrunning) ? self.newscrolly : self.getScrollTop(); - self.doScrollPos(x, y, spd); - }; - - this.doScrollTop = function(y, spd) { //trans - var x = (self.scrollrunning) ? self.newscrollx : self.getScrollLeft(); - self.doScrollPos(x, y, spd); - }; - - this.doScrollPos = function(x, y, spd) { //trans - - var py = self.getScrollTop(); - var px = self.getScrollLeft(); - - if (((self.newscrolly - py) * (y - py) < 0) || ((self.newscrollx - px) * (x - px) < 0)) self.cancelScroll(); //inverted movement detection - - if (self.opt.bouncescroll == false) { - if (y < 0) y = 0; - else if (y > self.page.maxh) y = self.page.maxh; - if (x < 0) x = 0; - else if (x > self.page.maxw) x = self.page.maxw; - } - - if (self.scrollrunning && x == self.newscrollx && y == self.newscrolly) return false; - - self.newscrolly = y; - self.newscrollx = x; - - self.newscrollspeed = spd || false; - - if (self.timer) return false; - - self.timer = setTimeout(function() { - - var top = self.getScrollTop(); - var lft = self.getScrollLeft(); - - var dst = {}; - dst.x = x - lft; - dst.y = y - top; - dst.px = lft; - dst.py = top; - - var dd = Math.round(Math.sqrt(Math.pow(dst.x, 2) + Math.pow(dst.y, 2))); - var ms = (self.newscrollspeed && self.newscrollspeed > 1) ? self.newscrollspeed : self.getTransitionSpeed(dd); - if (self.newscrollspeed && self.newscrollspeed <= 1) ms *= self.newscrollspeed; - - self.prepareTransition(ms, true); - - if (self.timerscroll && self.timerscroll.tm) clearInterval(self.timerscroll.tm); - - if (ms > 0) { - - if (!self.scrollrunning && self.onscrollstart) { - var info = { - "type": "scrollstart", - "current": { - "x": lft, - "y": top - }, - "request": { - "x": x, - "y": y - }, - "end": { - "x": self.newscrollx, - "y": self.newscrolly - }, - "speed": ms - }; - self.onscrollstart.call(self, info); - } - - if (cap.transitionend) { - if (!self.scrollendtrapped) { - self.scrollendtrapped = true; - self.bind(self.doc, cap.transitionend, self.onScrollTransitionEnd, false); //I have got to do something usefull!! - } - } else { - if (self.scrollendtrapped) clearTimeout(self.scrollendtrapped); - self.scrollendtrapped = setTimeout(self.onScrollTransitionEnd, ms); // simulate transitionend event - } - - var py = top; - var px = lft; - self.timerscroll = { - bz: new BezierClass(py, self.newscrolly, ms, 0, 0, 0.58, 1), - bh: new BezierClass(px, self.newscrollx, ms, 0, 0, 0.58, 1) - }; - if (!self.cursorfreezed) self.timerscroll.tm = setInterval(function() { - self.showCursor(self.getScrollTop(), self.getScrollLeft()); - }, 60); - - } - - self.synched("doScroll-set", function() { - self.timer = 0; - if (self.scrollendtrapped) self.scrollrunning = true; - self.setScrollTop(self.newscrolly); - self.setScrollLeft(self.newscrollx); - if (!self.scrollendtrapped) self.onScrollTransitionEnd(); - }); - - - }, 50); - - }; - - this.cancelScroll = function() { - if (!self.scrollendtrapped) return true; - var py = self.getScrollTop(); - var px = self.getScrollLeft(); - self.scrollrunning = false; - if (!cap.transitionend) clearTimeout(cap.transitionend); - self.scrollendtrapped = false; - self._unbind(self.doc[0], cap.transitionend, self.onScrollTransitionEnd); - self.prepareTransition(0); - self.setScrollTop(py); // fire event onscroll - if (self.railh) self.setScrollLeft(px); - if (self.timerscroll && self.timerscroll.tm) clearInterval(self.timerscroll.tm); - self.timerscroll = false; - - self.cursorfreezed = false; - - self.showCursor(py, px); - return self; - }; - this.onScrollTransitionEnd = function() { - if (self.scrollendtrapped) self._unbind(self.doc[0], cap.transitionend, self.onScrollTransitionEnd); - self.scrollendtrapped = false; - self.prepareTransition(0); - if (self.timerscroll && self.timerscroll.tm) clearInterval(self.timerscroll.tm); - self.timerscroll = false; - var py = self.getScrollTop(); - var px = self.getScrollLeft(); - self.setScrollTop(py); // fire event onscroll - if (self.railh) self.setScrollLeft(px); // fire event onscroll left - - self.noticeCursor(false, py, px); - - self.cursorfreezed = false; - - if (py < 0) py = 0; - else if (py > self.page.maxh) py = self.page.maxh; - if (px < 0) px = 0; - else if (px > self.page.maxw) px = self.page.maxw; - if ((py != self.newscrolly) || (px != self.newscrollx)) return self.doScrollPos(px, py, self.opt.snapbackspeed); - - if (self.onscrollend && self.scrollrunning) { - self.triggerScrollEnd(); - } - self.scrollrunning = false; - - }; - - } else { - - this.doScrollLeft = function(x, spd) { //no-trans - var y = (self.scrollrunning) ? self.newscrolly : self.getScrollTop(); - self.doScrollPos(x, y, spd); - }; - - this.doScrollTop = function(y, spd) { //no-trans - var x = (self.scrollrunning) ? self.newscrollx : self.getScrollLeft(); - self.doScrollPos(x, y, spd); - }; - - this.doScrollPos = function(x, y, spd) { //no-trans - var y = (y === undefined || y === false) ? self.getScrollTop(true) : y; - - if ((self.timer) && (self.newscrolly == y) && (self.newscrollx == x)) return true; - - if (self.timer) clearAnimationFrame(self.timer); - self.timer = 0; - - var py = self.getScrollTop(); - var px = self.getScrollLeft(); - - if (((self.newscrolly - py) * (y - py) < 0) || ((self.newscrollx - px) * (x - px) < 0)) self.cancelScroll(); //inverted movement detection - - self.newscrolly = y; - self.newscrollx = x; - - if (!self.bouncescroll || !self.rail.visibility) { - if (self.newscrolly < 0) { - self.newscrolly = 0; - } else if (self.newscrolly > self.page.maxh) { - self.newscrolly = self.page.maxh; - } - } - if (!self.bouncescroll || !self.railh.visibility) { - if (self.newscrollx < 0) { - self.newscrollx = 0; - } else if (self.newscrollx > self.page.maxw) { - self.newscrollx = self.page.maxw; - } - } - - self.dst = {}; - self.dst.x = x - px; - self.dst.y = y - py; - self.dst.px = px; - self.dst.py = py; - - var dst = Math.round(Math.sqrt(Math.pow(self.dst.x, 2) + Math.pow(self.dst.y, 2))); - - self.dst.ax = self.dst.x / dst; - self.dst.ay = self.dst.y / dst; - - var pa = 0; - var pe = dst; - - if (self.dst.x == 0) { - pa = py; - pe = y; - self.dst.ay = 1; - self.dst.py = 0; - } else if (self.dst.y == 0) { - pa = px; - pe = x; - self.dst.ax = 1; - self.dst.px = 0; - } - - var ms = self.getTransitionSpeed(dst); - if (spd && spd <= 1) ms *= spd; - if (ms > 0) { - self.bzscroll = (self.bzscroll) ? self.bzscroll.update(pe, ms) : new BezierClass(pa, pe, ms, 0, 1, 0, 1); - } else { - self.bzscroll = false; - } - - if (self.timer) return; - - if ((py == self.page.maxh && y >= self.page.maxh) || (px == self.page.maxw && x >= self.page.maxw)) self.checkContentSize(); - - var sync = 1; - - function scrolling() { - if (self.cancelAnimationFrame) return true; - - self.scrollrunning = true; - - sync = 1 - sync; - if (sync) return (self.timer = setAnimationFrame(scrolling) || 1); - - var done = 0; - var sx, sy; - - var sc = sy = self.getScrollTop(); - if (self.dst.ay) { - sc = (self.bzscroll) ? self.dst.py + (self.bzscroll.getNow() * self.dst.ay) : self.newscrolly; - var dr = sc - sy; - if ((dr < 0 && sc < self.newscrolly) || (dr > 0 && sc > self.newscrolly)) sc = self.newscrolly; - self.setScrollTop(sc); - if (sc == self.newscrolly) done = 1; - } else { - done = 1; - } - - var scx = sx = self.getScrollLeft(); - if (self.dst.ax) { - scx = (self.bzscroll) ? self.dst.px + (self.bzscroll.getNow() * self.dst.ax) : self.newscrollx; - var dr = scx - sx; - if ((dr < 0 && scx < self.newscrollx) || (dr > 0 && scx > self.newscrollx)) scx = self.newscrollx; - self.setScrollLeft(scx); - if (scx == self.newscrollx) done += 1; - } else { - done += 1; - } - - if (done == 2) { - self.timer = 0; - self.cursorfreezed = false; - self.bzscroll = false; - self.scrollrunning = false; - if (sc < 0) sc = 0; - else if (sc > self.page.maxh) sc = Math.max(0,self.page.maxh); - if (scx < 0) scx = 0; - else if (scx > self.page.maxw) scx = self.page.maxw; - if ((scx != self.newscrollx) || (sc != self.newscrolly)) self.doScrollPos(scx, sc); - else { - if (self.onscrollend) { - self.triggerScrollEnd(); - } - } - } else { - self.timer = setAnimationFrame(scrolling) || 1; - } - } - self.cancelAnimationFrame = false; - self.timer = 1; - - if (self.onscrollstart && !self.scrollrunning) { - var info = { - "type": "scrollstart", - "current": { - "x": px, - "y": py - }, - "request": { - "x": x, - "y": y - }, - "end": { - "x": self.newscrollx, - "y": self.newscrolly - }, - "speed": ms - }; - self.onscrollstart.call(self, info); - } - - scrolling(); - - if ((py == self.page.maxh && y >= py) || (px == self.page.maxw && x >= px)) self.checkContentSize(); - - self.noticeCursor(); - }; - - this.cancelScroll = function() { - if (self.timer) clearAnimationFrame(self.timer); - self.timer = 0; - self.bzscroll = false; - self.scrollrunning = false; - return self; - }; - - } - - this.doScrollBy = function(stp, relative) { - var ny = 0; - if (relative) { - ny = Math.floor((self.scroll.y - stp) * self.scrollratio.y); - } else { - var sy = (self.timer) ? self.newscrolly : self.getScrollTop(true); - ny = sy - stp; - } - if (self.bouncescroll) { - var haf = Math.round(self.view.h / 2); - if (ny < -haf) ny = -haf; - else if (ny > (self.page.maxh + haf)) ny = (self.page.maxh + haf); - } - self.cursorfreezed = false; - - var py = self.getScrollTop(true); - if (ny < 0 && py <= 0) return self.noticeCursor(); - else if (ny > self.page.maxh && py >= self.page.maxh) { - self.checkContentSize(); - return self.noticeCursor(); - } - - self.doScrollTop(ny); - }; - - this.doScrollLeftBy = function(stp, relative) { - var nx = 0; - if (relative) { - nx = Math.floor((self.scroll.x - stp) * self.scrollratio.x); - } else { - var sx = (self.timer) ? self.newscrollx : self.getScrollLeft(true); - nx = sx - stp; - } - if (self.bouncescroll) { - var haf = Math.round(self.view.w / 2); - if (nx < -haf) nx = -haf; - else if (nx > (self.page.maxw + haf)) nx = (self.page.maxw + haf); - } - self.cursorfreezed = false; - - var px = self.getScrollLeft(true); - if (nx < 0 && px <= 0) return self.noticeCursor(); - else if (nx > self.page.maxw && px >= self.page.maxw) return self.noticeCursor(); - - self.doScrollLeft(nx); - }; - - this.doScrollTo = function(pos, relative) { - var ny = (relative) ? Math.round(pos * self.scrollratio.y) : pos; - if (ny < 0) ny = 0; - else if (ny > self.page.maxh) ny = self.page.maxh; - self.cursorfreezed = false; - self.doScrollTop(pos); - }; - - this.checkContentSize = function() { - var pg = self.getContentSize(); - if ((pg.h != self.page.h) || (pg.w != self.page.w)) self.resize(false, pg); - }; - - self.onscroll = function(e) { - if (self.rail.drag) return; - if (!self.cursorfreezed) { - self.synched('scroll', function() { - self.scroll.y = Math.round(self.getScrollTop() * (1 / self.scrollratio.y)); - if (self.railh) self.scroll.x = Math.round(self.getScrollLeft() * (1 / self.scrollratio.x)); - self.noticeCursor(); - }); - } - }; - self.bind(self.docscroll, "scroll", self.onscroll); - - this.doZoomIn = function(e) { - if (self.zoomactive) return; - self.zoomactive = true; - - self.zoomrestore = { - style: {} - }; - var lst = ['position', 'top', 'left', 'zIndex', 'backgroundColor', 'marginTop', 'marginBottom', 'marginLeft', 'marginRight']; - var win = self.win[0].style; - for (var a in lst) { - var pp = lst[a]; - self.zoomrestore.style[pp] = (win[pp] !== undefined) ? win[pp] : ''; - } - - self.zoomrestore.style.width = self.win.css('width'); - self.zoomrestore.style.height = self.win.css('height'); - - self.zoomrestore.padding = { - w: self.win.outerWidth() - self.win.width(), - h: self.win.outerHeight() - self.win.height() - }; - - if (cap.isios4) { - self.zoomrestore.scrollTop = $(window).scrollTop(); - $(window).scrollTop(0); - } - - self.win.css({ - position: (cap.isios4) ? "absolute" : "fixed", - top: 0, - left: 0, - zIndex: globalmaxzindex + 100, - margin: 0 - }); - var bkg = self.win.css("backgroundColor"); - if (bkg == "" || /transparent|rgba\(0, 0, 0, 0\)|rgba\(0,0,0,0\)/.test(bkg)) self.win.css("backgroundColor", "#fff"); - self.rail.css({ - zIndex: globalmaxzindex + 101 - }); - self.zoom.css({ - zIndex: globalmaxzindex + 102 - }); - self.zoom.css('backgroundPosition', '0px -18px'); - self.resizeZoom(); - - if (self.onzoomin) self.onzoomin.call(self); - - return self.cancelEvent(e); - }; - - this.doZoomOut = function(e) { - if (!self.zoomactive) return; - self.zoomactive = false; - - self.win.css("margin", ""); - self.win.css(self.zoomrestore.style); - - if (cap.isios4) { - $(window).scrollTop(self.zoomrestore.scrollTop); - } - - self.rail.css({ - "z-index": self.zindex - }); - self.zoom.css({ - "z-index": self.zindex - }); - self.zoomrestore = false; - self.zoom.css('backgroundPosition', '0px 0px'); - self.onResize(); - - if (self.onzoomout) self.onzoomout.call(self); - - return self.cancelEvent(e); - }; - - this.doZoom = function(e) { - return (self.zoomactive) ? self.doZoomOut(e) : self.doZoomIn(e); - }; - - this.resizeZoom = function() { - if (!self.zoomactive) return; - - var py = self.getScrollTop(); //preserve scrolling position - self.win.css({ - width: $(window).width() - self.zoomrestore.padding.w + "px", - height: $(window).height() - self.zoomrestore.padding.h + "px" - }); - self.onResize(); - - self.setScrollTop(Math.min(self.page.maxh, py)); - }; - - this.init(); - - $.nicescroll.push(this); - - }; - - // Inspired by the work of Kin Blas - // http://webpro.host.adobe.com/people/jblas/momentum/includes/jquery.momentum.0.7.js - - - var ScrollMomentumClass2D = function(nc) { - var self = this; - this.nc = nc; - - this.lastx = 0; - this.lasty = 0; - this.speedx = 0; - this.speedy = 0; - this.lasttime = 0; - this.steptime = 0; - this.snapx = false; - this.snapy = false; - this.demulx = 0; - this.demuly = 0; - - this.lastscrollx = -1; - this.lastscrolly = -1; - - this.chkx = 0; - this.chky = 0; - - this.timer = 0; - - this.time = function() { - return +new Date(); //beautifull hack - }; - - this.reset = function(px, py) { - self.stop(); - var now = self.time(); - self.steptime = 0; - self.lasttime = now; - self.speedx = 0; - self.speedy = 0; - self.lastx = px; - self.lasty = py; - self.lastscrollx = -1; - self.lastscrolly = -1; - }; - - this.update = function(px, py) { - var now = self.time(); - self.steptime = now - self.lasttime; - self.lasttime = now; - var dy = py - self.lasty; - var dx = px - self.lastx; - var sy = self.nc.getScrollTop(); - var sx = self.nc.getScrollLeft(); - var newy = sy + dy; - var newx = sx + dx; - self.snapx = (newx < 0) || (newx > self.nc.page.maxw); - self.snapy = (newy < 0) || (newy > self.nc.page.maxh); - self.speedx = dx; - self.speedy = dy; - self.lastx = px; - self.lasty = py; - }; - - this.stop = function() { - self.nc.unsynched("domomentum2d"); - if (self.timer) clearTimeout(self.timer); - self.timer = 0; - self.lastscrollx = -1; - self.lastscrolly = -1; - }; - - this.doSnapy = function(nx, ny) { - var snap = false; - - if (ny < 0) { - ny = 0; - snap = true; - } else if (ny > self.nc.page.maxh) { - ny = self.nc.page.maxh; - snap = true; - } - - if (nx < 0) { - nx = 0; - snap = true; - } else if (nx > self.nc.page.maxw) { - nx = self.nc.page.maxw; - snap = true; - } - - (snap) ? self.nc.doScrollPos(nx, ny, self.nc.opt.snapbackspeed): self.nc.triggerScrollEnd(); - }; - - this.doMomentum = function(gp) { - var t = self.time(); - var l = (gp) ? t + gp : self.lasttime; - - var sl = self.nc.getScrollLeft(); - var st = self.nc.getScrollTop(); - - var pageh = self.nc.page.maxh; - var pagew = self.nc.page.maxw; - - self.speedx = (pagew > 0) ? Math.min(60, self.speedx) : 0; - self.speedy = (pageh > 0) ? Math.min(60, self.speedy) : 0; - - var chk = l && (t - l) <= 60; - - if ((st < 0) || (st > pageh) || (sl < 0) || (sl > pagew)) chk = false; - - var sy = (self.speedy && chk) ? self.speedy : false; - var sx = (self.speedx && chk) ? self.speedx : false; - - if (sy || sx) { - var tm = Math.max(16, self.steptime); //timeout granularity - - if (tm > 50) { // do smooth - var xm = tm / 50; - self.speedx *= xm; - self.speedy *= xm; - tm = 50; - } - - self.demulxy = 0; - - self.lastscrollx = self.nc.getScrollLeft(); - self.chkx = self.lastscrollx; - self.lastscrolly = self.nc.getScrollTop(); - self.chky = self.lastscrolly; - - var nx = self.lastscrollx; - var ny = self.lastscrolly; - - var onscroll = function() { - var df = ((self.time() - t) > 600) ? 0.04 : 0.02; - - if (self.speedx) { - nx = Math.floor(self.lastscrollx - (self.speedx * (1 - self.demulxy))); - self.lastscrollx = nx; - if ((nx < 0) || (nx > pagew)) df = 0.10; - } - - if (self.speedy) { - ny = Math.floor(self.lastscrolly - (self.speedy * (1 - self.demulxy))); - self.lastscrolly = ny; - if ((ny < 0) || (ny > pageh)) df = 0.10; - } - - self.demulxy = Math.min(1, self.demulxy + df); - - self.nc.synched("domomentum2d", function() { - - if (self.speedx) { - var scx = self.nc.getScrollLeft(); -// if (scx != self.chkx) self.stop(); - self.chkx = nx; - self.nc.setScrollLeft(nx); - } - - if (self.speedy) { - var scy = self.nc.getScrollTop(); -// if (scy != self.chky) self.stop(); - self.chky = ny; - self.nc.setScrollTop(ny); - } - - if (!self.timer) { - self.nc.hideCursor(); - self.doSnapy(nx, ny); - } - - }); - - if (self.demulxy < 1) { - self.timer = setTimeout(onscroll, tm); - } else { - self.stop(); - self.nc.hideCursor(); - self.doSnapy(nx, ny); - } - }; - - onscroll(); - - } else { - self.doSnapy(self.nc.getScrollLeft(), self.nc.getScrollTop()); - } - - }; - - }; - - - // override jQuery scrollTop - - var _scrollTop = jQuery.fn.scrollTop; // preserve original function - - jQuery.cssHooks.pageYOffset = { - get: function(elem, computed, extra) { - var nice = $.data(elem, '__nicescroll') || false; - return (nice && nice.ishwscroll) ? nice.getScrollTop() : _scrollTop.call(elem); - }, - set: function(elem, value) { - var nice = $.data(elem, '__nicescroll') || false; - (nice && nice.ishwscroll) ? nice.setScrollTop(parseInt(value)): _scrollTop.call(elem, value); - return this; - } - }; - - /* - $.fx.step["scrollTop"] = function(fx){ - $.cssHooks["scrollTop"].set( fx.elem, fx.now + fx.unit ); - }; -*/ - - jQuery.fn.scrollTop = function(value) { - if (value === undefined) { - var nice = (this[0]) ? $.data(this[0], '__nicescroll') || false : false; - return (nice && nice.ishwscroll) ? nice.getScrollTop() : _scrollTop.call(this); - } else { - return this.each(function() { - var nice = $.data(this, '__nicescroll') || false; - (nice && nice.ishwscroll) ? nice.setScrollTop(parseInt(value)): _scrollTop.call($(this), value); - }); - } - }; - - // override jQuery scrollLeft - - var _scrollLeft = jQuery.fn.scrollLeft; // preserve original function - - $.cssHooks.pageXOffset = { - get: function(elem, computed, extra) { - var nice = $.data(elem, '__nicescroll') || false; - return (nice && nice.ishwscroll) ? nice.getScrollLeft() : _scrollLeft.call(elem); - }, - set: function(elem, value) { - var nice = $.data(elem, '__nicescroll') || false; - (nice && nice.ishwscroll) ? nice.setScrollLeft(parseInt(value)): _scrollLeft.call(elem, value); - return this; - } - }; - - /* - $.fx.step["scrollLeft"] = function(fx){ - $.cssHooks["scrollLeft"].set( fx.elem, fx.now + fx.unit ); - }; -*/ - - jQuery.fn.scrollLeft = function(value) { - if (value === undefined) { - var nice = (this[0]) ? $.data(this[0], '__nicescroll') || false : false; - return (nice && nice.ishwscroll) ? nice.getScrollLeft() : _scrollLeft.call(this); - } else { - return this.each(function() { - var nice = $.data(this, '__nicescroll') || false; - (nice && nice.ishwscroll) ? nice.setScrollLeft(parseInt(value)): _scrollLeft.call($(this), value); - }); - } - }; - - var NiceScrollArray = function(doms) { - var self = this; - this.length = 0; - this.name = "nicescrollarray"; - - this.each = function(fn) { - $.each(self, fn); - return self; - }; - - this.push = function(nice) { - self[self.length] = nice; - self.length++; - }; - - this.eq = function(idx) { - return self[idx]; - }; - - if (doms) { - for (var a = 0; a < doms.length; a++) { - var nice = $.data(doms[a], '__nicescroll') || false; - if (nice) { - this[this.length] = nice; - this.length++; - } - } - } - - return this; - }; - - function mplex(el, lst, fn) { - for (var a = 0; a < lst.length; a++) fn(el, lst[a]); - } - mplex( - NiceScrollArray.prototype, ['show', 'hide', 'toggle', 'onResize', 'resize', 'remove', 'stop', 'doScrollPos'], - function(e, n) { - e[n] = function() { - var args = arguments; - return this.each(function() { - this[n].apply(this, args); - }); - }; - } - ); - - jQuery.fn.getNiceScroll = function(index) { - if (index === undefined) { - return new NiceScrollArray(this); - } else { - return this[index] && $.data(this[index], '__nicescroll') || false; - } - }; - - jQuery.expr[':'].nicescroll = function(a) { - return $.data(a, '__nicescroll') !== undefined; - }; - - $.fn.niceScroll = function(wrapper, opt) { - if (opt === undefined && typeof wrapper == "object" && !("jquery" in wrapper)) { - opt = wrapper; - wrapper = false; - } - opt = $.extend({},opt); // cloning - var ret = new NiceScrollArray(); - if (opt === undefined) opt = {}; - - if (wrapper || false) { - opt.doc = $(wrapper); - opt.win = $(this); - } - var docundef = !("doc" in opt); - if (!docundef && !("win" in opt)) opt.win = $(this); - - this.each(function() { - var nice = $(this).data('__nicescroll') || false; - if (!nice) { - opt.doc = (docundef) ? $(this) : opt.doc; - nice = new NiceScrollClass(opt, $(this)); - $(this).data('__nicescroll', nice); - } - ret.push(nice); - }); - return (ret.length == 1) ? ret[0] : ret; - }; - - window.NiceScroll = { - getjQuery: function() { - return jQuery; - } - }; - - if (!$.nicescroll) { - $.nicescroll = new NiceScrollArray(); - $.nicescroll.options = _globaloptions; - } - -})); - diff --git a/d2ice.att.io/app/core/js/jquery.nicescroll-master/jquery.nicescroll.min.js b/d2ice.att.io/app/core/js/jquery.nicescroll-master/jquery.nicescroll.min.js deleted file mode 100755 index 2013b3cc..00000000 --- a/d2ice.att.io/app/core/js/jquery.nicescroll-master/jquery.nicescroll.min.js +++ /dev/null @@ -1,158 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -/* jquery.nicescroll 3.6.8 InuYaksa*2015 MIT http://nicescroll.areaaperta.com */(function(f){"function"===typeof define&&define.amd?define(["jquery"],f):"object"===typeof exports?module.exports=f(require("jquery")):f(jQuery)})(function(f){var B=!1,F=!1,O=0,P=2E3,A=0,J=["webkit","ms","moz","o"],v=window.requestAnimationFrame||!1,w=window.cancelAnimationFrame||!1;if(!v)for(var Q in J){var G=J[Q];if(v=window[G+"RequestAnimationFrame"]){w=window[G+"CancelAnimationFrame"]||window[G+"CancelRequestAnimationFrame"];break}}var x=window.MutationObserver||window.WebKitMutationObserver|| -!1,K={zindex:"auto",cursoropacitymin:0,cursoropacitymax:1,cursorcolor:"#424242",cursorwidth:"6px",cursorborder:"1px solid #fff",cursorborderradius:"5px",scrollspeed:60,mousescrollstep:24,touchbehavior:!1,hwacceleration:!0,usetransition:!0,boxzoom:!1,dblclickzoom:!0,gesturezoom:!0,grabcursorenabled:!0,autohidemode:!0,background:"",iframeautoresize:!0,cursorminheight:32,preservenativescrolling:!0,railoffset:!1,railhoffset:!1,bouncescroll:!0,spacebarenabled:!0,railpadding:{top:0,right:0,left:0,bottom:0}, -disableoutline:!0,horizrailenabled:!0,railalign:"right",railvalign:"bottom",enabletranslate3d:!0,enablemousewheel:!0,enablekeyboard:!0,smoothscroll:!0,sensitiverail:!0,enablemouselockapi:!0,cursorfixedheight:!1,directionlockdeadzone:6,hidecursordelay:400,nativeparentscrolling:!0,enablescrollonselection:!0,overflowx:!0,overflowy:!0,cursordragspeed:.3,rtlmode:"auto",cursordragontouch:!1,oneaxismousemode:"auto",scriptpath:function(){var f=document.getElementsByTagName("script"),f=f.length?f[f.length- -1].src.split("?")[0]:"";return 0d?a.getScrollLeft()>=a.page.maxw:0>=a.getScrollLeft())&&(e=d,d=0));a.isrtlmode&&(d=-d);d&&(a.scrollmom&&a.scrollmom.stop(),a.lastdeltax+=d,a.debounced("mousewheelx",function(){var b=a.lastdeltax;a.lastdeltax=0;a.rail.drag||a.doScrollLeftBy(b)},15));if(e){if(a.opt.nativeparentscrolling&&c&&!a.ispage&&!a.zoomactive)if(0>e){if(a.getScrollTop()>=a.page.maxh)return!0}else if(0>=a.getScrollTop())return!0;a.scrollmom&&a.scrollmom.stop();a.lastdeltay+=e; -a.synched("mousewheely",function(){var b=a.lastdeltay;a.lastdeltay=0;a.rail.drag||a.doScrollBy(b)},15)}b.stopImmediatePropagation();return b.preventDefault()}var a=this;this.version="3.6.8";this.name="nicescroll";this.me=c;this.opt={doc:f("body"),win:!1};f.extend(this.opt,K);this.opt.snapbackspeed=80;if(h)for(var r in a.opt)void 0!==h[r]&&(a.opt[r]=h[r]);a.opt.disablemutationobserver&&(x=!1);this.iddoc=(this.doc=a.opt.doc)&&this.doc[0]?this.doc[0].id||"":"";this.ispage=/^BODY|HTML/.test(a.opt.win? -a.opt.win[0].nodeName:this.doc[0].nodeName);this.haswrapper=!1!==a.opt.win;this.win=a.opt.win||(this.ispage?f(window):this.doc);this.docscroll=this.ispage&&!this.haswrapper?f(window):this.win;this.body=f("body");this.iframe=this.isfixed=this.viewport=!1;this.isiframe="IFRAME"==this.doc[0].nodeName&&"IFRAME"==this.win[0].nodeName;this.istextarea="TEXTAREA"==this.win[0].nodeName;this.forcescreen=!1;this.canshowonmouseevent="scroll"!=a.opt.autohidemode;this.page=this.view=this.onzoomout=this.onzoomin= -this.onscrollcancel=this.onscrollend=this.onscrollstart=this.onclick=this.ongesturezoom=this.onkeypress=this.onmousewheel=this.onmousemove=this.onmouseup=this.onmousedown=!1;this.scroll={x:0,y:0};this.scrollratio={x:0,y:0};this.cursorheight=20;this.scrollvaluemax=0;if("auto"==this.opt.rtlmode){r=this.win[0]==window?this.body:this.win;var p=r.css("writing-mode")||r.css("-webkit-writing-mode")||r.css("-ms-writing-mode")||r.css("-moz-writing-mode");"horizontal-tb"==p||"lr-tb"==p||""==p?(this.isrtlmode= -"rtl"==r.css("direction"),this.isvertical=!1):(this.isrtlmode="vertical-rl"==p||"tb"==p||"tb-rl"==p||"rl-tb"==p,this.isvertical="vertical-rl"==p||"tb"==p||"tb-rl"==p)}else this.isrtlmode=!0===this.opt.rtlmode,this.isvertical=!1;this.observerbody=this.observerremover=this.observer=this.scrollmom=this.scrollrunning=!1;do this.id="ascrail"+P++;while(document.getElementById(this.id));this.hasmousefocus=this.hasfocus=this.zoomactive=this.zoom=this.selectiondrag=this.cursorfreezed=this.cursor=this.rail= -!1;this.visibility=!0;this.hidden=this.locked=this.railslocked=!1;this.cursoractive=!0;this.wheelprevented=!1;this.overflowx=a.opt.overflowx;this.overflowy=a.opt.overflowy;this.nativescrollingarea=!1;this.checkarea=0;this.events=[];this.saved={};this.delaylist={};this.synclist={};this.lastdeltay=this.lastdeltax=0;this.detected=R();var e=f.extend({},this.detected);this.ishwscroll=(this.canhwscroll=e.hastransform&&a.opt.hwacceleration)&&a.haswrapper;this.hasreversehr=this.isrtlmode?this.isvertical? -!(e.iswebkit||e.isie||e.isie11):!(e.iswebkit||e.isie&&!e.isie10&&!e.isie11):!1;this.istouchcapable=!1;e.cantouch||!e.hasw3ctouch&&!e.hasmstouch?!e.cantouch||e.isios||e.isandroid||!e.iswebkit&&!e.ismozilla||(this.istouchcapable=!0):this.istouchcapable=!0;a.opt.enablemouselockapi||(e.hasmousecapture=!1,e.haspointerlock=!1);this.debounced=function(b,g,c){a&&(a.delaylist[b]||(g.call(a),a.delaylist[b]={h:v(function(){a.delaylist[b].fn.call(a);a.delaylist[b]=!1},c)}),a.delaylist[b].fn=g)};var I=!1;this.synched= -function(b,g){a.synclist[b]=g;(function(){I||(v(function(){if(a){I=!1;for(var b in a.synclist){var g=a.synclist[b];g&&g.call(a);a.synclist[b]=!1}}}),I=!0)})();return b};this.unsynched=function(b){a.synclist[b]&&(a.synclist[b]=!1)};this.css=function(b,g){for(var c in g)a.saved.css.push([b,c,b.css(c)]),b.css(c,g[c])};this.scrollTop=function(b){return void 0===b?a.getScrollTop():a.setScrollTop(b)};this.scrollLeft=function(b){return void 0===b?a.getScrollLeft():a.setScrollLeft(b)};var D=function(a,g, -c,d,e,f,k){this.st=a;this.ed=g;this.spd=c;this.p1=d||0;this.p2=e||1;this.p3=f||0;this.p4=k||1;this.ts=(new Date).getTime();this.df=this.ed-this.st};D.prototype={B2:function(a){return 3*a*a*(1-a)},B3:function(a){return 3*a*(1-a)*(1-a)},B4:function(a){return(1-a)*(1-a)*(1-a)},getNow:function(){var a=1-((new Date).getTime()-this.ts)/this.spd,g=this.B2(a)+this.B3(a)+this.B4(a);return 0>a?this.ed:this.st+Math.round(this.df*g)},update:function(a,g){this.st=this.getNow();this.ed=a;this.spd=g;this.ts=(new Date).getTime(); -this.df=this.ed-this.st;return this}};if(this.ishwscroll){this.doc.translate={x:0,y:0,tx:"0px",ty:"0px"};e.hastranslate3d&&e.isios&&this.doc.css("-webkit-backface-visibility","hidden");this.getScrollTop=function(b){if(!b){if(b=k())return 16==b.length?-b[13]:-b[5];if(a.timerscroll&&a.timerscroll.bz)return a.timerscroll.bz.getNow()}return a.doc.translate.y};this.getScrollLeft=function(b){if(!b){if(b=k())return 16==b.length?-b[12]:-b[4];if(a.timerscroll&&a.timerscroll.bh)return a.timerscroll.bh.getNow()}return a.doc.translate.x}; -this.notifyScrollEvent=function(a){var g=document.createEvent("UIEvents");g.initUIEvent("scroll",!1,!0,window,1);g.niceevent=!0;a.dispatchEvent(g)};var y=this.isrtlmode?1:-1;e.hastranslate3d&&a.opt.enabletranslate3d?(this.setScrollTop=function(b,g){a.doc.translate.y=b;a.doc.translate.ty=-1*b+"px";a.doc.css(e.trstyle,"translate3d("+a.doc.translate.tx+","+a.doc.translate.ty+",0px)");g||a.notifyScrollEvent(a.win[0])},this.setScrollLeft=function(b,g){a.doc.translate.x=b;a.doc.translate.tx=b*y+"px";a.doc.css(e.trstyle, -"translate3d("+a.doc.translate.tx+","+a.doc.translate.ty+",0px)");g||a.notifyScrollEvent(a.win[0])}):(this.setScrollTop=function(b,g){a.doc.translate.y=b;a.doc.translate.ty=-1*b+"px";a.doc.css(e.trstyle,"translate("+a.doc.translate.tx+","+a.doc.translate.ty+")");g||a.notifyScrollEvent(a.win[0])},this.setScrollLeft=function(b,g){a.doc.translate.x=b;a.doc.translate.tx=b*y+"px";a.doc.css(e.trstyle,"translate("+a.doc.translate.tx+","+a.doc.translate.ty+")");g||a.notifyScrollEvent(a.win[0])})}else this.getScrollTop= -function(){return a.docscroll.scrollTop()},this.setScrollTop=function(b){return setTimeout(function(){a&&a.docscroll.scrollTop(b)},1)},this.getScrollLeft=function(){return a.hasreversehr?a.detected.ismozilla?a.page.maxw-Math.abs(a.docscroll.scrollLeft()):a.page.maxw-a.docscroll.scrollLeft():a.docscroll.scrollLeft()},this.setScrollLeft=function(b){return setTimeout(function(){if(a)return a.hasreversehr&&(b=a.detected.ismozilla?-(a.page.maxw-b):a.page.maxw-b),a.docscroll.scrollLeft(b)},1)};this.getTarget= -function(a){return a?a.target?a.target:a.srcElement?a.srcElement:!1:!1};this.hasParent=function(a,g){if(!a)return!1;for(var c=a.target||a.srcElement||a||!1;c&&c.id!=g;)c=c.parentNode||!1;return!1!==c};var z={thin:1,medium:3,thick:5};this.getDocumentScrollOffset=function(){return{top:window.pageYOffset||document.documentElement.scrollTop,left:window.pageXOffset||document.documentElement.scrollLeft}};this.getOffset=function(){if(a.isfixed){var b=a.win.offset(),g=a.getDocumentScrollOffset();b.top-=g.top; -b.left-=g.left;return b}b=a.win.offset();if(!a.viewport)return b;g=a.viewport.offset();return{top:b.top-g.top,left:b.left-g.left}};this.updateScrollBar=function(b){var g,c,e;if(a.ishwscroll)a.rail.css({height:a.win.innerHeight()-(a.opt.railpadding.top+a.opt.railpadding.bottom)}),a.railh&&a.railh.css({width:a.win.innerWidth()-(a.opt.railpadding.left+a.opt.railpadding.right)});else{var f=a.getOffset();g=f.top;c=f.left-(a.opt.railpadding.left+a.opt.railpadding.right);g+=d(a.win,"border-top-width",!0); -c+=a.rail.align?a.win.outerWidth()-d(a.win,"border-right-width")-a.rail.width:d(a.win,"border-left-width");if(e=a.opt.railoffset)e.top&&(g+=e.top),e.left&&(c+=e.left);a.railslocked||a.rail.css({top:g,left:c,height:(b?b.h:a.win.innerHeight())-(a.opt.railpadding.top+a.opt.railpadding.bottom)});a.zoom&&a.zoom.css({top:g+1,left:1==a.rail.align?c-20:c+a.rail.width+4});if(a.railh&&!a.railslocked){g=f.top;c=f.left;if(e=a.opt.railhoffset)e.top&&(g+=e.top),e.left&&(c+=e.left);b=a.railh.align?g+d(a.win,"border-top-width", -!0)+a.win.innerHeight()-a.railh.height:g+d(a.win,"border-top-width",!0);c+=d(a.win,"border-left-width");a.railh.css({top:b-(a.opt.railpadding.top+a.opt.railpadding.bottom),left:c,width:a.railh.width})}}};this.doRailClick=function(b,g,c){var d;a.railslocked||(a.cancelEvent(b),g?(g=c?a.doScrollLeft:a.doScrollTop,d=c?(b.pageX-a.railh.offset().left-a.cursorwidth/2)*a.scrollratio.x:(b.pageY-a.rail.offset().top-a.cursorheight/2)*a.scrollratio.y,g(d)):(g=c?a.doScrollLeftBy:a.doScrollBy,d=c?a.scroll.x:a.scroll.y, -b=c?b.pageX-a.railh.offset().left:b.pageY-a.rail.offset().top,c=c?a.view.w:a.view.h,g(d>=b?c:-c)))};a.hasanimationframe=v;a.hascancelanimationframe=w;a.hasanimationframe?a.hascancelanimationframe||(w=function(){a.cancelAnimationFrame=!0}):(v=function(a){return setTimeout(a,15-Math.floor(+new Date/1E3)%16)},w=clearTimeout);this.init=function(){a.saved.css=[];if(e.isie7mobile||e.isoperamini)return!0;e.hasmstouch&&a.css(a.ispage?f("html"):a.win,{_touchaction:"none"});var b=e.ismodernie||e.isie10?{"-ms-overflow-style":"none"}: -{"overflow-y":"hidden"};a.zindex="auto";a.zindex=a.ispage||"auto"!=a.opt.zindex?a.opt.zindex:l()||"auto";!a.ispage&&"auto"!=a.zindex&&a.zindex>A&&(A=a.zindex);a.isie&&0==a.zindex&&"auto"==a.opt.zindex&&(a.zindex="auto");if(!a.ispage||!e.cantouch&&!e.isieold&&!e.isie9mobile){var c=a.docscroll;a.ispage&&(c=a.haswrapper?a.win:a.doc);e.isie9mobile||a.css(c,b);a.ispage&&e.isie7&&("BODY"==a.doc[0].nodeName?a.css(f("html"),{"overflow-y":"hidden"}):"HTML"==a.doc[0].nodeName&&a.css(f("body"),b));!e.isios|| -a.ispage||a.haswrapper||a.css(f("body"),{"-webkit-overflow-scrolling":"touch"});var d=f(document.createElement("div"));d.css({position:"relative",top:0,"float":"right",width:a.opt.cursorwidth,height:0,"background-color":a.opt.cursorcolor,border:a.opt.cursorborder,"background-clip":"padding-box","-webkit-border-radius":a.opt.cursorborderradius,"-moz-border-radius":a.opt.cursorborderradius,"border-radius":a.opt.cursorborderradius});d.hborder=parseFloat(d.outerHeight()-d.innerHeight());d.addClass("nicescroll-cursors"); -a.cursor=d;var m=f(document.createElement("div"));m.attr("id",a.id);m.addClass("nicescroll-rails nicescroll-rails-vr");var k,h,p=["left","right","top","bottom"],L;for(L in p)h=p[L],(k=a.opt.railpadding[h])?m.css("padding-"+h,k+"px"):a.opt.railpadding[h]=0;m.append(d);m.width=Math.max(parseFloat(a.opt.cursorwidth),d.outerWidth());m.css({width:m.width+"px",zIndex:a.zindex,background:a.opt.background,cursor:"default"});m.visibility=!0;m.scrollable=!0;m.align="left"==a.opt.railalign?0:1;a.rail=m;d=a.rail.drag= -!1;!a.opt.boxzoom||a.ispage||e.isieold||(d=document.createElement("div"),a.bind(d,"click",a.doZoom),a.bind(d,"mouseenter",function(){a.zoom.css("opacity",a.opt.cursoropacitymax)}),a.bind(d,"mouseleave",function(){a.zoom.css("opacity",a.opt.cursoropacitymin)}),a.zoom=f(d),a.zoom.css({cursor:"pointer",zIndex:a.zindex,backgroundImage:"url("+a.opt.scriptpath+"zoomico.png)",height:18,width:18,backgroundPosition:"0px 0px"}),a.opt.dblclickzoom&&a.bind(a.win,"dblclick",a.doZoom),e.cantouch&&a.opt.gesturezoom&& -(a.ongesturezoom=function(b){1.5b.scale&&a.doZoomOut(b);return a.cancelEvent(b)},a.bind(a.win,"gestureend",a.ongesturezoom)));a.railh=!1;var n;a.opt.horizrailenabled&&(a.css(c,{overflowX:"hidden"}),d=f(document.createElement("div")),d.css({position:"absolute",top:0,height:a.opt.cursorwidth,width:0,backgroundColor:a.opt.cursorcolor,border:a.opt.cursorborder,backgroundClip:"padding-box","-webkit-border-radius":a.opt.cursorborderradius,"-moz-border-radius":a.opt.cursorborderradius, -"border-radius":a.opt.cursorborderradius}),e.isieold&&d.css("overflow","hidden"),d.wborder=parseFloat(d.outerWidth()-d.innerWidth()),d.addClass("nicescroll-cursors"),a.cursorh=d,n=f(document.createElement("div")),n.attr("id",a.id+"-hr"),n.addClass("nicescroll-rails nicescroll-rails-hr"),n.height=Math.max(parseFloat(a.opt.cursorwidth),d.outerHeight()),n.css({height:n.height+"px",zIndex:a.zindex,background:a.opt.background}),n.append(d),n.visibility=!0,n.scrollable=!0,n.align="top"==a.opt.railvalign? -0:1,a.railh=n,a.railh.drag=!1);a.ispage?(m.css({position:"fixed",top:0,height:"100%"}),m.align?m.css({right:0}):m.css({left:0}),a.body.append(m),a.railh&&(n.css({position:"fixed",left:0,width:"100%"}),n.align?n.css({bottom:0}):n.css({top:0}),a.body.append(n))):(a.ishwscroll?("static"==a.win.css("position")&&a.css(a.win,{position:"relative"}),c="HTML"==a.win[0].nodeName?a.body:a.win,f(c).scrollTop(0).scrollLeft(0),a.zoom&&(a.zoom.css({position:"absolute",top:1,right:0,"margin-right":m.width+4}),c.append(a.zoom)), -m.css({position:"absolute",top:0}),m.align?m.css({right:0}):m.css({left:0}),c.append(m),n&&(n.css({position:"absolute",left:0,bottom:0}),n.align?n.css({bottom:0}):n.css({top:0}),c.append(n))):(a.isfixed="fixed"==a.win.css("position"),c=a.isfixed?"fixed":"absolute",a.isfixed||(a.viewport=a.getViewport(a.win[0])),a.viewport&&(a.body=a.viewport,0==/fixed|absolute/.test(a.viewport.css("position"))&&a.css(a.viewport,{position:"relative"})),m.css({position:c}),a.zoom&&a.zoom.css({position:c}),a.updateScrollBar(), -a.body.append(m),a.zoom&&a.body.append(a.zoom),a.railh&&(n.css({position:c}),a.body.append(n))),e.isios&&a.css(a.win,{"-webkit-tap-highlight-color":"rgba(0,0,0,0)","-webkit-touch-callout":"none"}),e.isie&&a.opt.disableoutline&&a.win.attr("hideFocus","true"),e.iswebkit&&a.opt.disableoutline&&a.win.css("outline","none"));!1===a.opt.autohidemode?(a.autohidedom=!1,a.rail.css({opacity:a.opt.cursoropacitymax}),a.railh&&a.railh.css({opacity:a.opt.cursoropacitymax})):!0===a.opt.autohidemode||"leave"===a.opt.autohidemode? -(a.autohidedom=f().add(a.rail),e.isie8&&(a.autohidedom=a.autohidedom.add(a.cursor)),a.railh&&(a.autohidedom=a.autohidedom.add(a.railh)),a.railh&&e.isie8&&(a.autohidedom=a.autohidedom.add(a.cursorh))):"scroll"==a.opt.autohidemode?(a.autohidedom=f().add(a.rail),a.railh&&(a.autohidedom=a.autohidedom.add(a.railh))):"cursor"==a.opt.autohidemode?(a.autohidedom=f().add(a.cursor),a.railh&&(a.autohidedom=a.autohidedom.add(a.cursorh))):"hidden"==a.opt.autohidemode&&(a.autohidedom=!1,a.hide(),a.railslocked= -!1);if(e.isie9mobile)a.scrollmom=new M(a),a.onmangotouch=function(){var b=a.getScrollTop(),c=a.getScrollLeft();if(b==a.scrollmom.lastscrolly&&c==a.scrollmom.lastscrollx)return!0;var g=b-a.mangotouch.sy,d=c-a.mangotouch.sx;if(0!=Math.round(Math.sqrt(Math.pow(d,2)+Math.pow(g,2)))){var e=0>g?-1:1,f=0>d?-1:1,u=+new Date;a.mangotouch.lazy&&clearTimeout(a.mangotouch.lazy);80h?h=Math.round(h/2):h>a.page.maxh&&(h=a.page.maxh+Math.round((h-a.page.maxh)/2)):(0>h&&(u=h=0),h>a.page.maxh&&(h=a.page.maxh,u=0));var l;a.railh&&a.railh.scrollable&&(l=a.isrtlmode?k-a.rail.drag.sl:a.rail.drag.sl-k,a.ishwscroll&&a.opt.bouncescroll?0>l?l=Math.round(l/2):l>a.page.maxw&&(l=a.page.maxw+Math.round((l-a.page.maxw)/ -2)):(0>l&&(m=l=0),l>a.page.maxw&&(l=a.page.maxw,m=0)));g=!1;if(a.rail.drag.dl)g=!0,"v"==a.rail.drag.dl?l=a.rail.drag.sl:"h"==a.rail.drag.dl&&(h=a.rail.drag.st);else{d=Math.abs(d);var k=Math.abs(k),C=a.opt.directionlockdeadzone;if("v"==a.rail.drag.ck){if(d>C&&k<=.3*d)return a.rail.drag=!1,!0;k>C&&(a.rail.drag.dl="f",f("body").scrollTop(f("body").scrollTop()))}else if("h"==a.rail.drag.ck){if(k>C&&d<=.3*k)return a.rail.drag=!1,!0;d>C&&(a.rail.drag.dl="f",f("body").scrollLeft(f("body").scrollLeft()))}}a.synched("touchmove", -function(){a.rail.drag&&2==a.rail.drag.pt&&(a.prepareTransition&&a.prepareTransition(0),a.rail.scrollable&&a.setScrollTop(h),a.scrollmom.update(m,u),a.railh&&a.railh.scrollable?(a.setScrollLeft(l),a.showCursor(h,l)):a.showCursor(h),e.isie10&&document.selection.clear())});e.ischrome&&a.istouchcapable&&(g=!1);if(g)return a.cancelEvent(b)}else if(1==a.rail.drag.pt)return a.onmousemove(b)}}a.onmousedown=function(b,c){if(!a.rail.drag||1==a.rail.drag.pt){if(a.railslocked)return a.cancelEvent(b);a.cancelScroll(); -a.rail.drag={x:b.clientX,y:b.clientY,sx:a.scroll.x,sy:a.scroll.y,pt:1,hr:!!c};var g=a.getTarget(b);!a.ispage&&e.hasmousecapture&&g.setCapture();a.isiframe&&!e.hasmousecapture&&(a.saved.csspointerevents=a.doc.css("pointer-events"),a.css(a.doc,{"pointer-events":"none"}));a.hasmoving=!1;return a.cancelEvent(b)}};a.onmouseup=function(b){if(a.rail.drag){if(1!=a.rail.drag.pt)return!0;e.hasmousecapture&&document.releaseCapture();a.isiframe&&!e.hasmousecapture&&a.doc.css("pointer-events",a.saved.csspointerevents); -a.rail.drag=!1;a.hasmoving&&a.triggerScrollEnd();return a.cancelEvent(b)}};a.onmousemove=function(b){if(a.rail.drag){if(1==a.rail.drag.pt){if(e.ischrome&&0==b.which)return a.onmouseup(b);a.cursorfreezed=!0;a.hasmoving=!0;if(a.rail.drag.hr){a.scroll.x=a.rail.drag.sx+(b.clientX-a.rail.drag.x);0>a.scroll.x&&(a.scroll.x=0);var c=a.scrollvaluemaxw;a.scroll.x>c&&(a.scroll.x=c)}else a.scroll.y=a.rail.drag.sy+(b.clientY-a.rail.drag.y),0>a.scroll.y&&(a.scroll.y=0),c=a.scrollvaluemax,a.scroll.y>c&&(a.scroll.y= -c);a.synched("mousemove",function(){a.rail.drag&&1==a.rail.drag.pt&&(a.showCursor(),a.rail.drag.hr?a.hasreversehr?a.doScrollLeft(a.scrollvaluemaxw-Math.round(a.scroll.x*a.scrollratio.x),a.opt.cursordragspeed):a.doScrollLeft(Math.round(a.scroll.x*a.scrollratio.x),a.opt.cursordragspeed):a.doScrollTop(Math.round(a.scroll.y*a.scrollratio.y),a.opt.cursordragspeed))});return a.cancelEvent(b)}}else a.checkarea=0};if(e.cantouch||a.opt.touchbehavior)a.onpreventclick=function(b){if(a.preventclick)return a.preventclick.tg.onclick= -a.preventclick.click,a.preventclick=!1,a.cancelEvent(b)},a.bind(a.win,"mousedown",a.ontouchstart),a.onclick=e.isios?!1:function(b){return a.lastmouseup?(a.lastmouseup=!1,a.cancelEvent(b)):!0},a.opt.grabcursorenabled&&e.cursorgrabvalue&&(a.css(a.ispage?a.doc:a.win,{cursor:e.cursorgrabvalue}),a.css(a.rail,{cursor:e.cursorgrabvalue}));else{var r=function(b){if(a.selectiondrag){if(b){var c=a.win.outerHeight();b=b.pageY-a.selectiondrag.top;0=c&&(b-=c);a.selectiondrag.df=b}0!=a.selectiondrag.df&& -(a.doScrollBy(2*-Math.floor(a.selectiondrag.df/6)),a.debounced("doselectionscroll",function(){r()},50))}};a.hasTextSelected="getSelection"in document?function(){return 0a.page.maxh?a.doScrollTop(a.page.maxh):(a.scroll.y=Math.round(a.getScrollTop()* -(1/a.scrollratio.y)),a.scroll.x=Math.round(a.getScrollLeft()*(1/a.scrollratio.x)),a.cursoractive&&a.noticeCursor());a.scroll.y&&0==a.getScrollTop()&&a.doScrollTo(Math.floor(a.scroll.y*a.scrollratio.y));return a};this.resize=a.onResize;this.hlazyresize=0;this.lazyResize=function(b){a.haswrapper||a.hide();a.hlazyresize&&clearTimeout(a.hlazyresize);a.hlazyresize=setTimeout(function(){a&&a.show().resize()},240);return a};this.jqbind=function(b,c,d){a.events.push({e:b,n:c,f:d,q:!0});f(b).bind(c,d)};this.mousewheel= -function(b,c,d){b="jquery"in b?b[0]:b;if("onwheel"in document.createElement("div"))a._bind(b,"wheel",c,d||!1);else{var e=void 0!==document.onmousewheel?"mousewheel":"DOMMouseScroll";q(b,e,c,d||!1);"DOMMouseScroll"==e&&q(b,"MozMousePixelScroll",c,d||!1)}};e.haseventlistener?(this.bind=function(b,c,d,e){a._bind("jquery"in b?b[0]:b,c,d,e||!1)},this._bind=function(b,c,d,e){a.events.push({e:b,n:c,f:d,b:e,q:!1});b.addEventListener(c,d,e||!1)},this.cancelEvent=function(a){if(!a)return!1;a=a.original?a.original: -a;a.cancelable&&a.preventDefault();a.stopPropagation();a.preventManipulation&&a.preventManipulation();return!1},this.stopPropagation=function(a){if(!a)return!1;a=a.original?a.original:a;a.stopPropagation();return!1},this._unbind=function(a,c,d,e){a.removeEventListener(c,d,e)}):(this.bind=function(b,c,d,e){var f="jquery"in b?b[0]:b;a._bind(f,c,function(b){(b=b||window.event||!1)&&b.srcElement&&(b.target=b.srcElement);"pageY"in b||(b.pageX=b.clientX+document.documentElement.scrollLeft,b.pageY=b.clientY+ -document.documentElement.scrollTop);return!1===d.call(f,b)||!1===e?a.cancelEvent(b):!0})},this._bind=function(b,c,d,e){a.events.push({e:b,n:c,f:d,b:e,q:!1});b.attachEvent?b.attachEvent("on"+c,d):b["on"+c]=d},this.cancelEvent=function(a){a=window.event||!1;if(!a)return!1;a.cancelBubble=!0;a.cancel=!0;return a.returnValue=!1},this.stopPropagation=function(a){a=window.event||!1;if(!a)return!1;a.cancelBubble=!0;return!1},this._unbind=function(a,c,d,e){a.detachEvent?a.detachEvent("on"+c,d):a["on"+c]=!1}); -this.unbindAll=function(){for(var b=0;b(a.newscrolly-f)*(c-f)||0>(a.newscrollx-k)*(b-k))&&a.cancelScroll();0==a.opt.bouncescroll&&(0>c?c=0:c>a.page.maxh&&(c=a.page.maxh),0>b?b=0:b>a.page.maxw&&(b=a.page.maxw));if(a.scrollrunning&&b==a.newscrollx&&c==a.newscrolly)return!1;a.newscrolly=c;a.newscrollx=b;a.newscrollspeed=d||!1;if(a.timer)return!1;a.timer=setTimeout(function(){var d=a.getScrollTop(),f=a.getScrollLeft(), -k=Math.round(Math.sqrt(Math.pow(b-f,2)+Math.pow(c-d,2))),k=a.newscrollspeed&&1=a.newscrollspeed&&(k*=a.newscrollspeed);a.prepareTransition(k,!0);a.timerscroll&&a.timerscroll.tm&&clearInterval(a.timerscroll.tm);0b?b=0:b>a.page.maxh&&(b=a.page.maxh);0>c?c=0:c>a.page.maxw&&(c=a.page.maxw);if(b!=a.newscrolly||c!=a.newscrollx)return a.doScrollPos(c, -b,a.opt.snapbackspeed);a.onscrollend&&a.scrollrunning&&a.triggerScrollEnd();a.scrollrunning=!1}):(this.doScrollLeft=function(b,c){var d=a.scrollrunning?a.newscrolly:a.getScrollTop();a.doScrollPos(b,d,c)},this.doScrollTop=function(b,c){var d=a.scrollrunning?a.newscrollx:a.getScrollLeft();a.doScrollPos(d,b,c)},this.doScrollPos=function(b,c,d){function e(){if(a.cancelAnimationFrame)return!0;a.scrollrunning=!0;if(p=1-p)return a.timer=v(e)||1;var b=0,c,d,f=d=a.getScrollTop();if(a.dst.ay){f=a.bzscroll? -a.dst.py+a.bzscroll.getNow()*a.dst.ay:a.newscrolly;c=f-d;if(0>c&&fa.newscrolly)f=a.newscrolly;a.setScrollTop(f);f==a.newscrolly&&(b=1)}else b=1;d=c=a.getScrollLeft();if(a.dst.ax){d=a.bzscroll?a.dst.px+a.bzscroll.getNow()*a.dst.ax:a.newscrollx;c=d-c;if(0>c&&da.newscrollx)d=a.newscrollx;a.setScrollLeft(d);d==a.newscrollx&&(b+=1)}else b+=1;2==b?(a.timer=0,a.cursorfreezed=!1,a.bzscroll=!1,a.scrollrunning=!1,0>f?f=0:f>a.page.maxh&&(f=Math.max(0,a.page.maxh)), -0>d?d=0:d>a.page.maxw&&(d=a.page.maxw),d!=a.newscrollx||f!=a.newscrolly?a.doScrollPos(d,f):a.onscrollend&&a.triggerScrollEnd()):a.timer=v(e)||1}c=void 0===c||!1===c?a.getScrollTop(!0):c;if(a.timer&&a.newscrolly==c&&a.newscrollx==b)return!0;a.timer&&w(a.timer);a.timer=0;var f=a.getScrollTop(),k=a.getScrollLeft();(0>(a.newscrolly-f)*(c-f)||0>(a.newscrollx-k)*(b-k))&&a.cancelScroll();a.newscrolly=c;a.newscrollx=b;a.bouncescroll&&a.rail.visibility||(0>a.newscrolly?a.newscrolly=0:a.newscrolly>a.page.maxh&& -(a.newscrolly=a.page.maxh));a.bouncescroll&&a.railh.visibility||(0>a.newscrollx?a.newscrollx=0:a.newscrollx>a.page.maxw&&(a.newscrollx=a.page.maxw));a.dst={};a.dst.x=b-k;a.dst.y=c-f;a.dst.px=k;a.dst.py=f;var h=Math.round(Math.sqrt(Math.pow(a.dst.x,2)+Math.pow(a.dst.y,2)));a.dst.ax=a.dst.x/h;a.dst.ay=a.dst.y/h;var l=0,n=h;0==a.dst.x?(l=f,n=c,a.dst.ay=1,a.dst.py=0):0==a.dst.y&&(l=k,n=b,a.dst.ax=1,a.dst.px=0);h=a.getTransitionSpeed(h);d&&1>=d&&(h*=d);a.bzscroll=0=a.page.maxh||k==a.page.maxw&&b>=a.page.maxw)&&a.checkContentSize();var p=1;a.cancelAnimationFrame=!1;a.timer=1;a.onscrollstart&&!a.scrollrunning&&a.onscrollstart.call(a,{type:"scrollstart",current:{x:k,y:f},request:{x:b,y:c},end:{x:a.newscrollx,y:a.newscrolly},speed:h});e();(f==a.page.maxh&&c>=f||k==a.page.maxw&&b>=k)&&a.checkContentSize();a.noticeCursor()}},this.cancelScroll=function(){a.timer&&w(a.timer);a.timer=0;a.bzscroll=!1;a.scrollrunning= -!1;return a}):(this.doScrollLeft=function(b,c){var d=a.getScrollTop();a.doScrollPos(b,d,c)},this.doScrollTop=function(b,c){var d=a.getScrollLeft();a.doScrollPos(d,b,c)},this.doScrollPos=function(b,c,d){var e=b>a.page.maxw?a.page.maxw:b;0>e&&(e=0);var f=c>a.page.maxh?a.page.maxh:c;0>f&&(f=0);a.synched("scroll",function(){a.setScrollTop(f);a.setScrollLeft(e)})},this.cancelScroll=function(){});this.doScrollBy=function(b,c){var d=0,d=c?Math.floor((a.scroll.y-b)*a.scrollratio.y):(a.timer?a.newscrolly: -a.getScrollTop(!0))-b;if(a.bouncescroll){var e=Math.round(a.view.h/2);d<-e?d=-e:d>a.page.maxh+e&&(d=a.page.maxh+e)}a.cursorfreezed=!1;e=a.getScrollTop(!0);if(0>d&&0>=e)return a.noticeCursor();if(d>a.page.maxh&&e>=a.page.maxh)return a.checkContentSize(),a.noticeCursor();a.doScrollTop(d)};this.doScrollLeftBy=function(b,c){var d=0,d=c?Math.floor((a.scroll.x-b)*a.scrollratio.x):(a.timer?a.newscrollx:a.getScrollLeft(!0))-b;if(a.bouncescroll){var e=Math.round(a.view.w/2);d<-e?d=-e:d>a.page.maxw+e&&(d=a.page.maxw+ -e)}a.cursorfreezed=!1;e=a.getScrollLeft(!0);if(0>d&&0>=e||d>a.page.maxw&&e>=a.page.maxw)return a.noticeCursor();a.doScrollLeft(d)};this.doScrollTo=function(b,c){a.cursorfreezed=!1;a.doScrollTop(b)};this.checkContentSize=function(){var b=a.getContentSize();b.h==a.page.h&&b.w==a.page.w||a.resize(!1,b)};a.onscroll=function(b){a.rail.drag||a.cursorfreezed||a.synched("scroll",function(){a.scroll.y=Math.round(a.getScrollTop()*(1/a.scrollratio.y));a.railh&&(a.scroll.x=Math.round(a.getScrollLeft()*(1/a.scrollratio.x))); -a.noticeCursor()})};a.bind(a.docscroll,"scroll",a.onscroll);this.doZoomIn=function(b){if(!a.zoomactive){a.zoomactive=!0;a.zoomrestore={style:{}};var c="position top left zIndex backgroundColor marginTop marginBottom marginLeft marginRight".split(" "),d=a.win[0].style,k;for(k in c){var h=c[k];a.zoomrestore.style[h]=void 0!==d[h]?d[h]:""}a.zoomrestore.style.width=a.win.css("width");a.zoomrestore.style.height=a.win.css("height");a.zoomrestore.padding={w:a.win.outerWidth()-a.win.width(),h:a.win.outerHeight()- -a.win.height()};e.isios4&&(a.zoomrestore.scrollTop=f(window).scrollTop(),f(window).scrollTop(0));a.win.css({position:e.isios4?"absolute":"fixed",top:0,left:0,zIndex:A+100,margin:0});c=a.win.css("backgroundColor");(""==c||/transparent|rgba\(0, 0, 0, 0\)|rgba\(0,0,0,0\)/.test(c))&&a.win.css("backgroundColor","#fff");a.rail.css({zIndex:A+101});a.zoom.css({zIndex:A+102});a.zoom.css("backgroundPosition","0px -18px");a.resizeZoom();a.onzoomin&&a.onzoomin.call(a);return a.cancelEvent(b)}};this.doZoomOut= -function(b){if(a.zoomactive)return a.zoomactive=!1,a.win.css("margin",""),a.win.css(a.zoomrestore.style),e.isios4&&f(window).scrollTop(a.zoomrestore.scrollTop),a.rail.css({"z-index":a.zindex}),a.zoom.css({"z-index":a.zindex}),a.zoomrestore=!1,a.zoom.css("backgroundPosition","0px 0px"),a.onResize(),a.onzoomout&&a.onzoomout.call(a),a.cancelEvent(b)};this.doZoom=function(b){return a.zoomactive?a.doZoomOut(b):a.doZoomIn(b)};this.resizeZoom=function(){if(a.zoomactive){var b=a.getScrollTop();a.win.css({width:f(window).width()- -a.zoomrestore.padding.w+"px",height:f(window).height()-a.zoomrestore.padding.h+"px"});a.onResize();a.setScrollTop(Math.min(a.page.maxh,b))}};this.init();f.nicescroll.push(this)},M=function(f){var c=this;this.nc=f;this.steptime=this.lasttime=this.speedy=this.speedx=this.lasty=this.lastx=0;this.snapy=this.snapx=!1;this.demuly=this.demulx=0;this.lastscrolly=this.lastscrollx=-1;this.timer=this.chky=this.chkx=0;this.time=function(){return+new Date};this.reset=function(f,h){c.stop();var d=c.time();c.steptime= -0;c.lasttime=d;c.speedx=0;c.speedy=0;c.lastx=f;c.lasty=h;c.lastscrollx=-1;c.lastscrolly=-1};this.update=function(f,h){var d=c.time();c.steptime=d-c.lasttime;c.lasttime=d;var d=h-c.lasty,q=f-c.lastx,t=c.nc.getScrollTop(),a=c.nc.getScrollLeft(),t=t+d,a=a+q;c.snapx=0>a||a>c.nc.page.maxw;c.snapy=0>t||t>c.nc.page.maxh;c.speedx=q;c.speedy=d;c.lastx=f;c.lasty=h};this.stop=function(){c.nc.unsynched("domomentum2d");c.timer&&clearTimeout(c.timer);c.timer=0;c.lastscrollx=-1;c.lastscrolly=-1};this.doSnapy=function(f, -h){var d=!1;0>h?(h=0,d=!0):h>c.nc.page.maxh&&(h=c.nc.page.maxh,d=!0);0>f?(f=0,d=!0):f>c.nc.page.maxw&&(f=c.nc.page.maxw,d=!0);d?c.nc.doScrollPos(f,h,c.nc.opt.snapbackspeed):c.nc.triggerScrollEnd()};this.doMomentum=function(f){var h=c.time(),d=f?h+f:c.lasttime;f=c.nc.getScrollLeft();var q=c.nc.getScrollTop(),t=c.nc.page.maxh,a=c.nc.page.maxw;c.speedx=0=h-d;if(0>q||q>t||0>f||f>a)d=!1;f=c.speedx&&d?c.speedx:!1;if(c.speedy&&d&&c.speedy|| -f){var r=Math.max(16,c.steptime);50p||p>a)&&(d=.1);c.speedy&&(e=Math.floor(c.lastscrolly-c.speedy*(1-c.demulxy)),c.lastscrolly=e,0>e||e>t)&&(d=.1);c.demulxy=Math.min(1,c.demulxy+ -d);c.nc.synched("domomentum2d",function(){c.speedx&&(c.nc.getScrollLeft(),c.chkx=p,c.nc.setScrollLeft(p));c.speedy&&(c.nc.getScrollTop(),c.chky=e,c.nc.setScrollTop(e));c.timer||(c.nc.hideCursor(),c.doSnapy(p,e))});1>c.demulxy?c.timer=setTimeout(v,r):(c.stop(),c.nc.hideCursor(),c.doSnapy(p,e))};v()}else c.doSnapy(c.nc.getScrollLeft(),c.nc.getScrollTop())}},y=f.fn.scrollTop;f.cssHooks.pageYOffset={get:function(h,c,k){return(c=f.data(h,"__nicescroll")||!1)&&c.ishwscroll?c.getScrollTop():y.call(h)},set:function(h, -c){var k=f.data(h,"__nicescroll")||!1;k&&k.ishwscroll?k.setScrollTop(parseInt(c)):y.call(h,c);return this}};f.fn.scrollTop=function(h){if(void 0===h){var c=this[0]?f.data(this[0],"__nicescroll")||!1:!1;return c&&c.ishwscroll?c.getScrollTop():y.call(this)}return this.each(function(){var c=f.data(this,"__nicescroll")||!1;c&&c.ishwscroll?c.setScrollTop(parseInt(h)):y.call(f(this),h)})};var z=f.fn.scrollLeft;f.cssHooks.pageXOffset={get:function(h,c,k){return(c=f.data(h,"__nicescroll")||!1)&&c.ishwscroll? -c.getScrollLeft():z.call(h)},set:function(h,c){var k=f.data(h,"__nicescroll")||!1;k&&k.ishwscroll?k.setScrollLeft(parseInt(c)):z.call(h,c);return this}};f.fn.scrollLeft=function(h){if(void 0===h){var c=this[0]?f.data(this[0],"__nicescroll")||!1:!1;return c&&c.ishwscroll?c.getScrollLeft():z.call(this)}return this.each(function(){var c=f.data(this,"__nicescroll")||!1;c&&c.ishwscroll?c.setScrollLeft(parseInt(h)):z.call(f(this),h)})};var E=function(h){var c=this;this.length=0;this.name="nicescrollarray"; -this.each=function(d){f.each(c,d);return c};this.push=function(d){c[c.length]=d;c.length++};this.eq=function(d){return c[d]};if(h)for(var k=0;k=1.8.3" - }, - "devDependencies": {}, - "npmName": "nicescroll", - "npmFileMap": [{ - "basePath": "/dist/", - "files": [ - "*.js", - "zoomico.png" - ] - }] -} diff --git a/d2ice.att.io/app/core/js/jquery.nicescroll-master/zoomico.png b/d2ice.att.io/app/core/js/jquery.nicescroll-master/zoomico.png deleted file mode 100755 index 57e32da4..00000000 Binary files a/d2ice.att.io/app/core/js/jquery.nicescroll-master/zoomico.png and /dev/null differ diff --git a/d2ice.att.io/app/core/layouts/dashboard/dashboard.html b/d2ice.att.io/app/core/layouts/dashboard/dashboard.html deleted file mode 100755 index 0bca2cd7..00000000 --- a/d2ice.att.io/app/core/layouts/dashboard/dashboard.html +++ /dev/null @@ -1,50 +0,0 @@ - -
- -
- -
- - -
-
- -
-
diff --git a/d2ice.att.io/app/core/layouts/dashboard/dashboard.less b/d2ice.att.io/app/core/layouts/dashboard/dashboard.less deleted file mode 100755 index 03d2c380..00000000 --- a/d2ice.att.io/app/core/layouts/dashboard/dashboard.less +++ /dev/null @@ -1,65 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -.dashboard { - height: 100%; - - .content-container { - height: 100%; - position: relative; - padding-top: 55px; - #content { - height: 100%; - - .row { - height: auto; - } - } - } - - #sidebar { - padding: 20px 5px 20px 5px; - height: 100%; - overflow-y: auto; - - .line-separator { - border-bottom: dashed 1px @main_color_a; - margin: 20px 0; - } - } -} diff --git a/d2ice.att.io/app/core/layouts/full-page-with-header/full-page-with-header.html b/d2ice.att.io/app/core/layouts/full-page-with-header/full-page-with-header.html deleted file mode 100755 index ca2e0e18..00000000 --- a/d2ice.att.io/app/core/layouts/full-page-with-header/full-page-with-header.html +++ /dev/null @@ -1,79 +0,0 @@ - - - -
-
-

-

-
-
-
-
-
-
- -
-
-
-
-
-
-
diff --git a/d2ice.att.io/app/core/layouts/full-page-with-header/full-page-with-header.less b/d2ice.att.io/app/core/layouts/full-page-with-header/full-page-with-header.less deleted file mode 100755 index ba8b5d2e..00000000 --- a/d2ice.att.io/app/core/layouts/full-page-with-header/full-page-with-header.less +++ /dev/null @@ -1,112 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -#full-page-with-header { - margin-top: 59px; - background: url('images/top.jpg') no-repeat 0 0; - - #content { - overflow: auto; - position: absolute; - top: 201px; - bottom: 0; - right: 0; - left: 0; - height: auto; - } - - #header-title { - height: 130px; - } - - .banner { - -webkit-box-shadow:0 1px 2px rgba(43, 48, 51, 0.08); - -moz-box-shadow:0 1px 2px rgba(43, 48, 51, 0.08); - box-shadow:0 1px 2px rgba(43, 48, 51, 0.08); - z-index:20; - } - - .navbar { - background-color:#fff; - margin-bottom:0; - } - - #logo { - float:left; - display:block; - margin:20px 0; - } - #logo .logo-trans {display:none} - - /* Transparent Header */ - .banner[data-transparent-header="true"] { - width:100%; - /*top:0; - left:0; - position:absolute; - overflow:visible !important;*/ - z-index:9998; - background-color:transparent; - box-shadow:none; - -webkit-box-shadow:none; - -moz-box-shadow:none; - -o-box-shadow:none; - border-bottom:1px solid rgba(255,255,255,0.25) !important; - } - - .boxed-mode .banner[data-transparent-header="true"] { - left:0; right:0; margin:0 auto; - } - - .banner[data-transparent-header="true"] #logo .logo-trans {display:inline} - .banner[data-transparent-header="true"] #logo .logo-main {display:none} - - .banner[data-transparent-header="true"] .navbar-nav > li > a, - .banner[data-transparent-header="true"] .navbar-nav > li.active > a {color:#fff} - .banner[data-transparent-header="true"] .navbar-nav > li > a:hover, - .banner[data-transparent-header="true"] .navbar-nav > li.active > a:hover {color:#fff} - - .banner[data-transparent-header="true"] .navbar-nav > li > a:hover:after, - .banner[data-transparent-header="true"] .navbar-nav > li.active > a:after, - .banner[data-transparent-header="true"] .navbar-nav > li.active > a:hover:after, - .banner[data-transparent-header="true"] .navbar-nav > li.active > a:focus:after {background-color:#fff} - - .menu-seperator { - .p_14_r; - } -} diff --git a/d2ice.att.io/app/core/navigation/layouts/account-navigation/account.navigation.controller.js b/d2ice.att.io/app/core/navigation/layouts/account-navigation/account.navigation.controller.js deleted file mode 100755 index 0f966cf2..00000000 --- a/d2ice.att.io/app/core/navigation/layouts/account-navigation/account.navigation.controller.js +++ /dev/null @@ -1,63 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -/** - * Created by almog on 28/05/2017. - */ -(function () { - 'use strict'; - angular - .module('ice.dashboard.account', []) - .controller('accountNavigationController', ['$state', accountNavigationController]); - - function accountNavigationController($state) { - var vm = this; - - var init = function() - { - vm.selectedPage = $state.$current.name || 'app.account'; - }; - - vm.loadPageContent = function(sref) { - vm.selectedPage = sref; - $state.go(sref); - }; - - init(); - } -})(); diff --git a/d2ice.att.io/app/core/navigation/layouts/account-navigation/navigation.html b/d2ice.att.io/app/core/navigation/layouts/account-navigation/navigation.html deleted file mode 100755 index 4bdcc529..00000000 --- a/d2ice.att.io/app/core/navigation/layouts/account-navigation/navigation.html +++ /dev/null @@ -1,48 +0,0 @@ - -
- -

Profile

-
    -
  • Account»
  • -
  • Settings»
  • -
  • Notifications»
  • -
-
- diff --git a/d2ice.att.io/app/core/navigation/layouts/account-navigation/navigation.less b/d2ice.att.io/app/core/navigation/layouts/account-navigation/navigation.less deleted file mode 100755 index 34a824e8..00000000 --- a/d2ice.att.io/app/core/navigation/layouts/account-navigation/navigation.less +++ /dev/null @@ -1,75 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -.navigation { - - - h1.caption { - .a_24_m; - position: relative; - } - h1.caption.profile { - float:none; - } - - li { - text-decoration: none; - list-style: none; - } - - ul.actions-list { - & > li { - .m_16_r; - margin: 0 0 20px 0; - cursor: pointer; - - &.selected { - .m_16_m; - text-decoration: underline; - } - - span { - &.selected { - float: right; - text-decoration: none; - } - } - } - } - -} diff --git a/d2ice.att.io/app/core/navigation/layouts/admin-navigation/admin.navigation.controller.js b/d2ice.att.io/app/core/navigation/layouts/admin-navigation/admin.navigation.controller.js deleted file mode 100755 index 9d74511f..00000000 --- a/d2ice.att.io/app/core/navigation/layouts/admin-navigation/admin.navigation.controller.js +++ /dev/null @@ -1,93 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -/** - * Created by le056g on 07/02/2017. - */ -(function () { - 'use strict'; - angular - .module('ice.main.admin', ['ice.services.users']) - .controller('adminNavigationController', ['$scope', '$log', 'checklistService', '$rootScope', '$state', - adminNavigationController]); - - function adminNavigationController($scope, $log, checklistService, $rootScope, $state) { - var vm = this; - - var init = function(){ - vm.checkListTemplates=null; - initChecklistTemplates(); - registerWatchers(); - }; - - var registerWatchers = function() { - $scope.$watch(function () { return $state.params.templateName; }, function (newValue, oldValue) { - if (newValue !== oldValue && vm.selectedTemplate){ - vm.selectedTemplate.name = newValue; - }; - }); - }; - - var initChecklistTemplates = function(){ - checklistService.getChecklistTemplates() - .then(function (response) { - $rootScope.ice.loader.show = false; - if (response.status === 200 && response.data && response.data !== '') { - vm.checkListTemplates = response.data.checkListTemplates; - } - else { - $log.debug("getChecklistTemplates Failed. response.status="+response.status) - } - }) - .catch(function (error) { - $rootScope.ice.loader.show = false; - $log.error(error); - }); - }; - - vm.selectTemplate = function(template){ - if(template !== vm.selectedTemplate) { - vm.selectedTemplate = template; - $state.go('app.admin.checklisttemplate', {template_uuid:template.uuid}); - } - - }; - - init(); - } -})(); diff --git a/d2ice.att.io/app/core/navigation/layouts/admin-navigation/navigation.html b/d2ice.att.io/app/core/navigation/layouts/admin-navigation/navigation.html deleted file mode 100755 index 54974f71..00000000 --- a/d2ice.att.io/app/core/navigation/layouts/admin-navigation/navigation.html +++ /dev/null @@ -1,64 +0,0 @@ - -
- -

Admin

- - -
- - - diff --git a/d2ice.att.io/app/core/navigation/layouts/admin-navigation/navigation.less b/d2ice.att.io/app/core/navigation/layouts/admin-navigation/navigation.less deleted file mode 100755 index ea2c112f..00000000 --- a/d2ice.att.io/app/core/navigation/layouts/admin-navigation/navigation.less +++ /dev/null @@ -1,133 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -.admin-navigation { - - .menu-engagements-category { - margin-bottom: 20px; - .menu-engagement-category-title { - .m_16_m; - border-bottom: solid 2px; - border-color: @main_color_q; - margin: 10px 0; - } - } - - border-right: 1px solid @main_color_q; - height: 100%; - background-color: @bg_color_navigation; - overflow-y: auto; - padding: 0px 20px; - - li { - text-decoration: none; - list-style: none; - } - - ul.engagements-list { - & > li { - .m_16_r; - margin: 0 0 10px 0; - &.selected { - .a_16_m; - - } - } - } - ul.engagements-list li { - position:relative; - } - - ul.engagements-list .clickable { - display: block; - cursor: pointer; - } - - ul.engagement-details { - padding: 0 0 0 8px; - border-left: 1px solid; - border-color: @main_color_q; - - .m_14_r; - & > li { - margin: 0px; - line-height: 18px; - &.selected { - - & > .engagement_detail_menu_name { - text-decoration: underline; - } - - & > .engagement_detail_menu_raquo { - float: right; - margin-right: 20px; - } - } - } - } - - ul.engagement-details > li.engagement-details-sub-catgeory { - margin-top: 5px; - } - ul.engagement-details > li.engagement-details-sub-catgeory > .sub-category-title { - font-size: 16px; - font-weight: bold; - } - - .sub-category { - display: inline-block; - margin: 0 0 10px 0; - .a_16_m; - position: relative; - } - - .admin-navbar{ - padding-right: 0px; - padding-left: 0px; - } - - .template-selected { - .m_14_m; - .checklist-icon { - .sprite.active-cl; - } - text-decoration: underline; - } - - -} diff --git a/d2ice.att.io/app/core/navigation/layouts/documentation-navigation/documentation.navigation.controller.js b/d2ice.att.io/app/core/navigation/layouts/documentation-navigation/documentation.navigation.controller.js deleted file mode 100755 index 9c63f9c7..00000000 --- a/d2ice.att.io/app/core/navigation/layouts/documentation-navigation/documentation.navigation.controller.js +++ /dev/null @@ -1,100 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -/** - * Created by almog on 06/02/2017. - */ -(function () { - 'use strict'; - angular - .module('ice.documentation', []) - .controller('documentationNavigationController', ['_', '$state','cmsService', 'sessionStorageService', '$log', - documentationNavigationController]); - - function documentationNavigationController(_, $state,cmsService, sessionStorageService, $log) { - var vm = this; - var documentationLastPageSessionKey = 'LastDocumentationPageId'; - - var init = function() - { - - - cmsService.getPages("Documentation") - .then(function(response) { - if(response && response.data && response.data.length === 1) { - vm.documentationPage = response.data[0]; - - var lastPageId = sessionStorageService.getJson(documentationLastPageSessionKey); - if(lastPageId) { - vm.loadPageContent(lastPageId); - } else { - vm.loadPageContent(vm.documentationPage.id); - } - } - }) - .catch(function(error) { - $log.error(error); - }); - }; - - vm.loadPageContent = function(pageId) { - if(vm.selectedSearchedPage) { - delete vm.selectedSearchedPage; - } - - vm.pageId = pageId; - sessionStorageService.setJson(documentationLastPageSessionKey, pageId); - $state.go('app.documentation.page',{page_id: pageId}); - }; - - vm.isPageCollapsed = function(page) { - var result = true; - - if(page && page.children && page.children.length > 0) { - var pages = _.flatMap(page.children, function(child) { - return _.concat(child.children, child); - }); - result = (page.id != vm.pageId) && !_.some(pages, ['id', vm.pageId]); - } - - return result; - }; - - init(); - } -})(); diff --git a/d2ice.att.io/app/core/navigation/layouts/documentation-navigation/navigation.html b/d2ice.att.io/app/core/navigation/layouts/documentation-navigation/navigation.html deleted file mode 100755 index 28bb653c..00000000 --- a/d2ice.att.io/app/core/navigation/layouts/documentation-navigation/navigation.html +++ /dev/null @@ -1,85 +0,0 @@ - -
- - -

Documentation

- - - - diff --git a/d2ice.att.io/app/core/navigation/layouts/documentation-navigation/navigation.less b/d2ice.att.io/app/core/navigation/layouts/documentation-navigation/navigation.less deleted file mode 100755 index ef6b6c12..00000000 --- a/d2ice.att.io/app/core/navigation/layouts/documentation-navigation/navigation.less +++ /dev/null @@ -1,110 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -.navigation { - .documentation { - border-right: 1px solid @main_color_q; - height: 100%; - background-color: @bg_color_navigation; - overflow-y: auto; - padding: 0px 20px; - #documentation-search { - margin-bottom: 20px; - } - - #mobile-collapse { display:none;} - @media (max-width: 992px) { - #mobile-collapse { - display: block; - position: relative; - top: 24px; - color: @main_color_a; - cursor:pointer; - } - } - - h1.caption { - .a_24_m; - position: relative; - } - h1.caption.documentation { - float: none; - width: 95%; - } - - li { - text-decoration: none; - list-style: none; - } - - ul.actions-list { - .pages-list { - .page { - display: block; - cursor: pointer; - margin-bottom: 5px; - padding-top: 5px; - .m_16_r; - } - .sub-page { - display: block; - cursor: pointer; - line-height: 22px; - } - .selected { - .a_16_m; - } - .page-childs { - .f-type._14_r; - cursor: pointer; - padding: 3px 0 0 8px; - border-left: 1px solid; - border-color: @main_color_q; - color: @main_color_m; - .selected { - .a_14_m; - } - } - } - } - - span.fa-caret-right { - vertical-align: middle; - } - } -} diff --git a/d2ice.att.io/app/core/navigation/layouts/horizontal-navigation/navigation.html b/d2ice.att.io/app/core/navigation/layouts/horizontal-navigation/navigation.html deleted file mode 100755 index 17bc1996..00000000 --- a/d2ice.att.io/app/core/navigation/layouts/horizontal-navigation/navigation.html +++ /dev/null @@ -1,197 +0,0 @@ - -
- - -

Engagements

- - - - - - - diff --git a/d2ice.att.io/app/core/navigation/layouts/horizontal-navigation/navigation.less b/d2ice.att.io/app/core/navigation/layouts/horizontal-navigation/navigation.less deleted file mode 100755 index 63b48c32..00000000 --- a/d2ice.att.io/app/core/navigation/layouts/horizontal-navigation/navigation.less +++ /dev/null @@ -1,208 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -.navigation{ - height: 100%; - padding: 0; -} - -.dashboard-navigation { - #engagement-search { - margin-bottom: 20px; - .popover .popover-content{ - padding: 5px 10px; - color: #5a5a5a; - font-family: omnes-regular, sans-serif; - font-size: 10px; - } - .popover.right > .arrow:after { - bottom: 10px; - left: 1px; - content: " "; - } - .popover > .arrow { - border-width: 0px; - } - } - .menu-engagements-category { - margin-bottom: 20px; - .menu-engagement-category-title { - .m_16_m; - border-bottom: solid 2px; - border-color: @main_color_q; - margin: 10px 0; - } - } - #mobile-collapse { display:none;} - - @media (max-width: 992px) { - - #mobile-collapse { - display: block; - position: relative; - top: 21px; - color: @main_color_a; - cursor:pointer; - } - } - - #search-no-results { - margin-top: 10px; - } - #nav-bar-wrapper { - padding:0px; - } - border-right: 1px solid @main_color_q; - height: 100%; - background-color: @bg_color_navigation; - overflow-y: auto; - padding: 0px 20px; - - @media (max-width: 992px) { - height:auto; - } - h1.caption { - float: left; - .a_24_m; - position: relative; - .add-engagement { - display: inline-block; - margin-left: 8px; - cursor: pointer; - position: relative; - top: 2px; - } - } - - li { - text-decoration: none; - list-style: none; - } - - ul.engagements-list { - & > li { - .m_16_r; - margin: 0 0 10px 0; - &.selected { - .a_16_m; - - } - } - } - ul.engagements-list li { - position:relative; - } - - ul.engagements-list .red_dot { - .sprite.items-todo; - display: block; - position: absolute; - left: -12px; - top: 4px; - } - ul.engagements-list .clickable { - display: block; - cursor: pointer; - } - - ul.engagement-details > li.engagement-details-sub-catgeory .selected { - .m_14_m; - .checklist-icon { - .sprite.active-cl; - } - } - - ul.engagement-details { - padding: 0 0 0 8px; - border-left: 1px solid; - border-color: @main_color_q; - - .m_14_r; - & > li { - margin: 0px; - line-height: 18px; - &.selected { - - & > .engagement_detail_menu_name { - text-decoration: underline; - } - - & > .engagement_detail_menu_raquo { - float: right; - margin-right: 20px; - } - } - } - } - - ul.engagement-details > li.engagement-details-sub-catgeory { - margin-top: 5px; - } - ul.engagement-details > li.engagement-details-sub-catgeory > .sub-category-title { - font-size: 16px; - font-weight: bold; - } - ul.engagement-details > li.engagement-details-sub-catgeory > .sub-category-title > .add-checklist { - width: 18px; - height: 18px; - display: inline-block; - padding-left: 2px; - position: relative; - top: 2px; - } - - ul.engagement-details > li.engagement-details-sub-catgeory > .engagement-checklist { - padding-left: 6px; - } - - ul.engagement-details > li.engagement-details-sub-catgeory > .engagement-checklist > li > .checklist-icon { - display: inline-block; - position: relative; - top: 2px; - left: -5px; - } - .search-engagement-name { - text-decoration: underline; - display:block; - } - .search-engagement-fields { - font-size: smaller; - display:block; - } - -} diff --git a/d2ice.att.io/app/core/navigation/navigation.controller.js b/d2ice.att.io/app/core/navigation/navigation.controller.js deleted file mode 100755 index 5013b7b4..00000000 --- a/d2ice.att.io/app/core/navigation/navigation.controller.js +++ /dev/null @@ -1,456 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - 'use strict'; - - angular - .module('ice.navigation', ['ui.bootstrap']) - .controller('NavigationController', ["$rootScope", "$q", "iceConstants","pageService","$location", "vfService", - "localStorageService", "$state", "usersService", "$uibModal",'$scope','$window', 'toastService', - '$log', NavigationController]); - - function NavigationController($rootScope, $q,iceConstants, pageService, $location, vfService, localStorageService, - $state, usersService, $uibModal, $scope, $window, toastService, $log) { - var vm = this; - - $scope.selected = undefined; - $scope.states = ['Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California', 'Colorado', 'Connecticut', - 'Delaware', 'Florida', 'Georgia', 'Hawaii', 'Idaho', 'Illinois', 'Indiana', 'Iowa', 'Kansas', 'Kentucky', - 'Louisiana', 'Maine', 'Maryland', 'Massachusetts', 'Michigan', 'Minnesota', 'Mississippi', 'Missouri', - 'Montana', 'Nebraska', 'Nevada', 'New Hampshire', 'New Jersey', 'New Mexico', 'New York', 'North Dakota', - 'North Carolina', 'Ohio', 'Oklahoma', 'Oregon', 'Pennsylvania', 'Rhode Island', 'South Carolina', - 'South Dakota', 'Tennessee', 'Texas', 'Utah', 'Vermont', 'Virginia', 'Washington', 'West Virginia', - 'Wisconsin', 'Wyoming']; - - vm.formatted_engagements = {}; - vm.starred_engagements = {}; - vm.recent_engagements = {}; - vm.showOpenWizardButton = false; - var userData = usersService.getUserData(); - if(userData!=undefined && - userData.activationSuccess==true){ - vm.activation_success = true; - } - vm.selectEngagement = function (uuid, view_type, sub_id, enable_refresh) { - var w = angular.element($window); - - if (view_type != undefined && w.width() < 992) { - $('.navbar-collapse').collapse("hide"); - } - - if ($state.params.messagePass != null) - { - toastService.setToast($state.params.messagePass, 'success'); - $state.params.messagePass == null; - } - - if (uuid == undefined && localStorageService.getJson("ice.settings.eng_uuid") != undefined) - uuid = localStorageService.getJson("ice.settings.eng_uuid"); - else - $state.go('app.dashboard.dashboard'); - - var deferred = $q.defer(); - - if (view_type != undefined) { - vm.view_type = view_type; - } else if ( pageService.getPage() != '') { - vm.view_type = pageService.getPage(); - } else if ( localStorageService.getJson("ice.settings.view_type") != undefined) { - vm.view_type = localStorageService.getJson("ice.settings.view_type"); - } else { - vm.view_type = 'overview'; - } - - if (sub_id != undefined) { - sub_id = sub_id; - } else if (localStorageService.getJson("ice.settings.sub_id") != undefined) { - sub_id = localStorageService.getJson("ice.settings.sub_id"); - } - - localStorageService.setJson("ice.settings.view_type",vm.view_type); - localStorageService.setJson("ice.settings.sub_id",sub_id); - pageService.setPage(vm.view_type); - $scope.$watch(function () { return pageService.getPage(); }, function (newValue, oldValue) { - if (newValue !== oldValue) vm.view_type = newValue; - }); - - // Select | unselect the engagement on navigation panel. - vm.engagement = undefined; - angular.forEach(vm.recent_engagements,function (item,key) { - if (item.uuid === uuid) { - vm.engagement = item; - vm.engagement.selected = true; - vm.engagement.page = vm.view_type - vm.engagement.sub_id = sub_id; - vm.engagement.view_type = vm.view_type; - } else { - item.selected = undefined; - } - var uuidJson = { - selectedUuid: uuid - }; - vm.recent_engagements[key] = item; - }); - - angular.forEach(vm.starred_engagements, function (item,key) { - if (item.uuid === uuid) { - vm.engagement = item; - vm.engagement.selected = true; - vm.engagement.page = vm.view_type - vm.engagement.sub_id = sub_id; - vm.engagement.view_type = vm.view_type; - - } else { - item.selected = undefined; - } - var uuidJson = { - selectedUuid: uuid - }; - vm.starred_engagements[key] = item; - }); - - if (!vm.engagement) { - if (vm.last_not_found_engagement != true) { - localStorageService.setJson("ice.settings.eng_uuid", undefined); - initEngagements(); - } else { - initEngagements(true); - } - } else { - - localStorageService.setJson("ice.settings.eng_uuid", uuid); - vm.showOpenWizardButton = true; - - if(enable_refresh === undefined || enable_refresh === true){ //We won't refresh the page if located on the new dashboard view (dashboard.dashboard) (because it's wrong to refresh and we lose the page number). - if (vm.activation_success) - { - $state.go('app.dashboard.'+vm.view_type,{engagement_uuid:uuid,engagement:vm.engagement,sub_id:sub_id,messagePass: "You have successfully activated your account!"}); - } - else { - $state.go('app.dashboard.'+vm.view_type,{engagement_uuid:uuid,engagement:vm.engagement,sub_id:sub_id,messagePass: null}); - } - } - } - - vm.isReviewer = usersService.isReviewer(vm.me, vm.engagement.reviewer_uuid); - vm.isPeerReviewer = usersService.isPeerReviewer(vm.me, vm.engagement.peer_reviewer_uuid); - deferred.resolve(uuid); - return deferred.promise; - - }; - - - vm.searchSelectEngagement = function (engagement_uuid){ - vfService.getSingleEngagement(vm.me.uuid,engagement_uuid) - .then(function (response) { - $rootScope.ice.loader.show = false; - - if (response.status === 200 && response.data && response.data !== '') { - initEngagements(false, {uuid : engagement_uuid,page_type:'overview',sub_id:undefined}); - - } - }) - .catch(function (error) { - $rootScope.ice.loader.show = false; - $log.error(error); - }); - } - - var init = function () { - - // In case the url is dashboard/ then we come from server redirect, need to load user withuot login. - // This is a workaround to remove slash at the beginning. - // The slash is there because the ui-router does not support optional params in URL address, and I used regex: - // url: '/dashboard{user_uuid: (?:/[^/]+)?}' and the value returned for user_uuid contains slash at the start. - vm.me = vm.user = usersService.getUserData(); - vm.isAdmin = usersService.isAdmin(vm.me); - vm.isEngagementEL = usersService.isUserInRole(iceConstants.roles.el); - vm.vfc_num = 0; - // In case user exist in localStorage but not active redirect to activation link. - if (vm.user && vm.user.is_active===false) { - $state.go('app.resend_activation', {"message": "Please activate your account first"}); - return; - } - - // In case user is not in localStorage redirect to login page - if (vm.user === undefined) { - $state.go('app.login', {"message": "Please login first"}); - return; - } - initEngagements(false); - - $rootScope.$on('onUpdateEngagements', function (event,args) { - - if (args != undefined && args.select != undefined) - { - initEngagements(false,args.select); - } else { - initEngagements(true); - } - }); - - }; - - var initEngagements = function (selectLast,manual_select) { - $rootScope.ice.loader.show = true; - vm.starred_engagements = {}; - vm.recent_engagements = {}; - vm.formatted_engagements = {}; - vfService.getStarredEngagements() - .then(function (response) { - $rootScope.ice.loader.show = false; - if (response.status === 200 && response.data && response.data !== '') { - iterate_over_engagements(response.data,true, false); - } - else if (response.status === 204){ - $log.error("no starred VFs were found for you."); - } - else { - $log.error("getStarredEngagements Failed.") - } - - vfService.getRecentEngagements() - .then(function (response) { - $rootScope.ice.loader.show = false; - if (response.status === 200 && response.data && response.data !== '') { - if (response.data.length > 0) { - iterate_over_engagements(response.data, false, true, selectLast, manual_select); - } - else { - $state.go('app.dashboard.overview', { - engagement_uuid: undefined, - engagement: undefined, - sub_id: undefined - }); - } - } - else if (response.status === 204){ - $log.error("no recent VFs were found for you."); - select_active_engagements(selectLast); - } - else { - $log.error("getRecentEngagements Failed.") - } - }) - .catch(function (error) { - $rootScope.ice.loader.show = false; - $log.error(error); - }); - - }) - .catch(function (error) { - $rootScope.ice.loader.show = false; - $log.error(error); - }); - - }; - - $rootScope.$on('searchSelectEngagement', function (event,eng_uuid) { - vm.searchSelectEngagement(eng_uuid); - }); - - var iterate_over_engagements = function(engagements, starred, recent,selectLast,manual_select) { - var i = undefined; - for( i = 0 ; i < engagements.length; i++){ - var engagement = {}; - if (starred === true) - { - engagement.creator = engagements[i].engagement__creator__uuid; - engagement.is_service_provider_internal = engagements[i].is_service_provider_internal; - engagement.name = engagements[i].engagement__engagement_manual_id + ": " + engagements[i].name; - engagement.engagement_manual_id = engagements[i].engagement__engagement_manual_id; - engagement.reviewer_uuid = engagements[i].engagement__reviewer__uuid; - engagement.uuid = engagements[i].engagement__uuid; - engagement.peer_reviewer_uuid = engagements[i].engagement__peer_reviewer__uuid; - } else { - engagement.creator = engagements[i].vf__engagement__creator__uuid; - engagement.is_service_provider_internal = engagements[i].vf__is_service_provider_internal; - engagement.name = engagements[i].vf__engagement__engagement_manual_id + ": " + engagements[i].vf__name; - engagement.engagement_manual_id = engagements[i].vf__engagement__engagement_manual_id; - engagement.uuid = engagements[i].vf__engagement__uuid; - engagement.last_update = engagements[i].last_update; - engagement.reviewer_uuid = engagements[i].vf__engagement__reviewer__uuid; - engagement.peer_reviewer_uuid = engagements[i].vf__engagement__peer_reviewer__uuid; - } - - if (engagements[i].action_type !="NAVIGATED_INTO_ENGAGEMENT") - engagement.red_dot = engagements[i].action_type.split("_").join(" "); - else - engagement.red_dot = false; - - engagement.checklists = engagements[i].checklists; - - engagement.page = 'overview'; - - vm.formatted_engagements[engagement.engagement_manual_id] = engagement; - if(starred === true){ - vm.starred_engagements[engagement.engagement_manual_id] = engagement; - } - else if (recent === true){ - if (vm.starred_engagements[engagement.engagement_manual_id] == undefined) - vm.recent_engagements[engagement.engagement_manual_id] = engagement; - } - } - if (manual_select !=undefined) { - if(!manual_select.view_type) { - vm.selectEngagement(manual_select.uuid, manual_select.page_type, manual_select.sub_id, manual_select.enable_refresh); - } - else{ - vm.selectEngagement(manual_select.uuid, manual_select.view_type, manual_select.sub_id, manual_select.enable_refresh); - } - } - else if (selectLast != undefined) - { - select_active_engagements(selectLast); - } - - return new Promise(function(resolve, reject) { - resolve(vm.formatted_engagements); - }); - } - - var select_active_engagements = function (selectLast) { - var eng_uuid = false; - var selected_eng_uuid = localStorageService.getJson("ice.settings.eng_uuid"); - var currUser = usersService.getUserData(); - var keys = Object.keys(vm.formatted_engagements); - if ( keys.length > 0 ){ // This case represents a user has any engagements to work on - if (selectLast == true) { - eng_uuid = vm.formatted_engagements[Object.keys(vm.formatted_engagements)[0]].uuid; - } - else if ($location.search().eng_uuid) { - eng_uuid = $location.search().eng_uuid; - } - else if (selected_eng_uuid != null) { // if you re-visit the page after you already been inside, than the last select eng is stored in the storage - eng_uuid = selected_eng_uuid; - } - else if($state.params.engagement_uuid!=undefined){ - // if we came from any different page or came from activation and is an invited user or has already been attached to an engagement ('contact' user) so the login url has consisted a engagement uuid as a path param - eng_uuid = $state.params.engagement_uuid; - } - if (eng_uuid != false) { - var selectPromise = vm.selectEngagement(eng_uuid); - } else { - $state.go('app.dashboard.dashboard'); - if ($state.params.messagePass != null) - { - toastService.setToast($state.params.messagePass, 'success'); - $state.params.messagePass == null; - } - } - - if (eng_uuid == false) - { - eng_uuid = vm.formatted_engagements[Object.keys(vm.formatted_engagements)[0]].uuid; - vm.engagement = vm.formatted_engagements[Object.keys(vm.formatted_engagements)[0]]; - } - /* If user performs activation and he is the creator of current engagement*/ - if (vm.engagement != undefined && vm.engagement.creator!=null && - currUser.uuid == vm.engagement.creator && - vm.activation_success==true) { - vm.openGettingStartedWizard(eng_uuid); - } - } - else if (currUser.activationSuccess==true) { - //This case handles new user with no engs that performs activation - vm.openGettingStartedWizard(); - $state.go('app.dashboard.dashboard'); - } else { - $state.go('app.dashboard.dashboard'); - } - vm.activation_success = false; - usersService.setUserActivationSuccess(undefined);// Cleaning the activationSuccess flag - }; - - - init(); - - - vm.openGettingStartedWizard = function (eng_uuid) { - var is_service_provider_internal = vm.engagement && eng_uuid ? vm.engagement.is_service_provider_internal : false; - eng_uuid = eng_uuid || ''; - var args = { - user: vm.user, - eng_uuid: eng_uuid, - is_service_provider_internal: is_service_provider_internal, - showActivationMessage: vm.activation_success - } - $rootScope.$broadcast('openGettingStartedWizard', args); - - vm.activation_success = false; - }; - - vm.addChecklist = function(engagementUuid){ - var modalInstance = $uibModal.open({ - templateUrl: 'main/modals/checklist/checklist.html', - controller: 'ChecklistModalController', - controllerAs: 'vm', - size: 'lg', - resolve: { - engagementUuid: function () { - return engagementUuid; - }, - modal_type: function () { - return 'create'; - }, - wizardData: function () { - return false; - } - } - }); - - // Update the progress after modal closed. - modalInstance.result.then(function (data) { - var sub_id = undefined; - if (data != undefined) { - sub_id = data.uuid; - initEngagements(false,{uuid:engagementUuid,page_type: 'checklist',sub_id:sub_id}); - - if(data.progress) { - vm.callback(data); - } - } - }, function () { - $log.debug('Modal dismissed at: ' + new Date()); - }); - }; - - } -})(); diff --git a/d2ice.att.io/app/core/navigation/navigation.module.js b/d2ice.att.io/app/core/navigation/navigation.module.js deleted file mode 100755 index 0d936f3b..00000000 --- a/d2ice.att.io/app/core/navigation/navigation.module.js +++ /dev/null @@ -1,51 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - 'use strict'; - - angular - .module('ice.navigation', []) - .config(config); - - function config() { - - } - -})(); diff --git a/d2ice.att.io/app/core/toolbar/layouts/horizontal-navigation/toolbar.html b/d2ice.att.io/app/core/toolbar/layouts/horizontal-navigation/toolbar.html deleted file mode 100755 index e1bbda0a..00000000 --- a/d2ice.att.io/app/core/toolbar/layouts/horizontal-navigation/toolbar.html +++ /dev/null @@ -1,75 +0,0 @@ - -
- -
- - - -
- - - - -
- {{vm.notifications}} -
- -
- - - - -
diff --git a/d2ice.att.io/app/core/toolbar/layouts/horizontal-navigation/toolbar.less b/d2ice.att.io/app/core/toolbar/layouts/horizontal-navigation/toolbar.less deleted file mode 100755 index 75d0bbf9..00000000 --- a/d2ice.att.io/app/core/toolbar/layouts/horizontal-navigation/toolbar.less +++ /dev/null @@ -1,132 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -.dashboard { - .dropdown-menu { - .divider { - margin: 0; - } - li { - margin: 8px; - - a.logout { - color: @func_color_q; - } - - a.dashboard-admin-link{ - .a_16_r; - } - - i { - margin-right: 10px; - } - } - } - - #toolbar { - background-color: @toolbar_background_color; - height: 55px; - display: flex; - flex-direction: row; - align-items: center; - - .header-logo { - .logo-white; - margin: 0 30px; - } - - ul.header-top-menu { - display: flex; - flex-direction: row; - justify-content: center; - margin: 0; - - li { - list-style: none; - margin: 0 20px; - - a { - .p_18_m; - text-decoration: none; - } - } - } - - .header-right { - margin: 0 30px; - display: flex; - flex-direction: row; - justify-content: flex-end; - - .dropdown-menu { - left: -120px; - - } - - .header-chat { - .profiles-sprite; - .profiles-sprite.notification; - margin-right: 10px; - position: relative; - } - .header-avatar { - .profiles-sprite; - .profiles-sprite.avatar-white; - cursor: pointer; - - .notifications { - min-width: 16px; - height: 16px; - border: solid 1px #ffffff; - background-color: #F5A623; - display: block; - position: absolute; - left: 22px; - - .count { - .p_10_r; - display: block; - margin-left: 4px; - margin-right: 4px; - margin-top: 1px; - } - } - } - } - } -} diff --git a/d2ice.att.io/app/core/toolbar/toolbar.controller.js b/d2ice.att.io/app/core/toolbar/toolbar.controller.js deleted file mode 100755 index 8d47b89f..00000000 --- a/d2ice.att.io/app/core/toolbar/toolbar.controller.js +++ /dev/null @@ -1,94 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - 'use strict'; - - angular - .module('ice.toolbar') - .controller('ToolbarController', ["$rootScope", "localStorageService", "usersService", "$state", "$log","$uibModal", - ToolbarController]); - - function ToolbarController($rootScope, localStorageService, usersService, $state, $log, $uibModal) { - - var vm = this; - vm.notifications = 0; - - - var user = usersService.getUserData(); - if (user){ - vm.isAdmin = usersService.isAdmin(user); - usersService.getNotifications(user.uuid) - .then(function (response) { - if (response.status === 200) { - vm.notifications = response.data.notifications_number? response.data.notifications_number:0; - } - }) - .catch(function (error) { - $log.error(error); - }); - } - - vm.logout = function() { - usersService.resetUserData(); - localStorageService.setJson("ice.settings.eng_uuid", undefined); - $state.go('app.login'); - }; - - vm.addFeedback = function () { - var modalInstance = $uibModal.open({ - templateUrl: 'main/modals/feedback/feedback.html', - controller: 'FeedbackModalController', - controllerAs: 'vm', - size: 'lg', - resolve: { - action: function () { - return 'add'; - } - } - }); - }; - - $rootScope.$on('eventClearNotifications', function (event, args) { - vm.notifications = 0; - }); - - } - -})(); diff --git a/d2ice.att.io/app/core/toolbar/toolbar.module.js b/d2ice.att.io/app/core/toolbar/toolbar.module.js deleted file mode 100755 index 75dd3538..00000000 --- a/d2ice.att.io/app/core/toolbar/toolbar.module.js +++ /dev/null @@ -1,51 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - 'use strict'; - - angular - .module('ice.toolbar', []) - .config(config); - - function config() { - - } - -})(); diff --git a/d2ice.att.io/app/directives/ice-announcement/ice-announcement.directive.js b/d2ice.att.io/app/directives/ice-announcement/ice-announcement.directive.js deleted file mode 100755 index e70d5d61..00000000 --- a/d2ice.att.io/app/directives/ice-announcement/ice-announcement.directive.js +++ /dev/null @@ -1,91 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - 'use strict'; - - angular - .module('ice.directives') - .directive('iceAnnouncement', ['$rootScope', 'cmsService', 'localStorageService', iceAnnouncement]); - - function iceAnnouncement($rootScope, cmsService, localStorageService) { - var directive = {}; - directive.restrict = 'E'; - directive.templateUrl = 'directives/ice-announcement/ice-announcement.html'; - directive.link = function (scope, element, attrs) { - var lastAnnouncementStorageKey = 'lastAnnouncement'; - - var init = function() { - var announcement = cmsService.getAnnouncement(); - - if(announcement) { - scope.toast = announcement; - - //announcement will be presented for two days: - var twoDaysBeforeDate = new Date(); - twoDaysBeforeDate.setDate(twoDaysBeforeDate.getDate() - 2); - var publishedDate = new Date(scope.toast.publishDate); - if(publishedDate < twoDaysBeforeDate) { - scope.closeAlert(); - } - } - }; - - scope.closeAlert = function() { - scope.toast.show = false; - setLastAnnouncementClosedParam(true); - }; - - function setLastAnnouncementClosedParam(closed) { - var lastAnnouncement = localStorageService.getJson(lastAnnouncementStorageKey) || {}; - lastAnnouncement['closed'] = closed; - localStorageService.setJson(lastAnnouncementStorageKey, lastAnnouncement); - }; - - init(); - - //whenever the announcement updated we will update the directive view: - $rootScope.$watch('showAnnouncement', function(newVal, OldVal){ - init(); - }, true); - }; - - return directive; - } -})(); diff --git a/d2ice.att.io/app/directives/ice-announcement/ice-announcement.html b/d2ice.att.io/app/directives/ice-announcement/ice-announcement.html deleted file mode 100755 index 04d9b3f0..00000000 --- a/d2ice.att.io/app/directives/ice-announcement/ice-announcement.html +++ /dev/null @@ -1,44 +0,0 @@ - -
- - - Read more >> - -
diff --git a/d2ice.att.io/app/directives/ice-loader/ice-loader.directive.js b/d2ice.att.io/app/directives/ice-loader/ice-loader.directive.js deleted file mode 100755 index 1456df42..00000000 --- a/d2ice.att.io/app/directives/ice-loader/ice-loader.directive.js +++ /dev/null @@ -1,96 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - 'use strict'; - - angular - .module('ice.directives') - .directive('iceLoader', iceLoader); - - function iceLoader($rootScope) { - var directive = {}; - directive.restrict = 'E'; - directive.transclude = false; - //directive.templateUrl = 'directives/ice-loader/ice-loader.html'; - directive.scope = { - selector: "@selector" - }; - - directive.link = function (scope, element, attrs) { - - $rootScope.$watch('ice.loader.show', function(newVal, OldVal){ - //scope.loader = $rootScope.ice.loader; - if (newVal===true) { - var selector = $(scope.selector); - var loaderId = calculateUniqueId(); - var loader = $('
'); - $('body').append(loader); - selector.addClass('ice-loader-overlay'); - var pos = selector.offset(); - if (pos) { - loader.css({ - top: pos.top + selector.height() / 2, - left: pos.left + selector.width() / 2, - position: 'fixed' - }); - } - } else if (newVal===false) { - var selector = $(scope.selector); - selector.removeClass('ice-loader-overlay'); - var loaderId = calculateUniqueId(); - var loader = $('#' + loaderId); - loader.remove(); - } - }, true); - - var calculateUniqueId = function(){ - var prefix = 'ice-loader-'; - var name = scope.selector; - name = name.replace(".",""); - name = name.replace("#",""); - return prefix + name; - }; - - }; - return directive; - - } - -})(); diff --git a/d2ice.att.io/app/directives/ice-loader/ice-loader.html b/d2ice.att.io/app/directives/ice-loader/ice-loader.html deleted file mode 100755 index 009a7ee6..00000000 --- a/d2ice.att.io/app/directives/ice-loader/ice-loader.html +++ /dev/null @@ -1,39 +0,0 @@ - -
diff --git a/d2ice.att.io/app/directives/ice-loader/ice-loader.less b/d2ice.att.io/app/directives/ice-loader/ice-loader.less deleted file mode 100755 index 22b761e3..00000000 --- a/d2ice.att.io/app/directives/ice-loader/ice-loader.less +++ /dev/null @@ -1,52 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -.ice-loader { - - background: url('images/wait.gif') no-repeat top left; width: 16px; height: 11px; - display: block; - .m_14_m; - /*top: 50%; - left: 50%;*/ - -} - -.ice-loader-overlay { - /*background-color: #F2F2F2;*/ - opacity: 0.2; -} diff --git a/d2ice.att.io/app/directives/ice-news-and-announcement/ice-news-and-announcement.directive.js b/d2ice.att.io/app/directives/ice-news-and-announcement/ice-news-and-announcement.directive.js deleted file mode 100755 index d46a0903..00000000 --- a/d2ice.att.io/app/directives/ice-news-and-announcement/ice-news-and-announcement.directive.js +++ /dev/null @@ -1,87 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - 'use strict'; - - angular - .module('ice.directives') - .directive('iceNewsAndAnnouncement', ['cmsService', '$uibModal', '$log', iceNewsAndAnnouncement]); - - function iceNewsAndAnnouncement(cmsService, $uibModal, $log) { - var directive = {}; - directive.restrict = 'E'; - directive.templateUrl = 'directives/ice-news-and-announcement/ice-news-and-announcement.html'; - directive.scope = {limit: '=limit', fromLastDays: '=fromLastDays', showDescription: "=showDescription"}; - directive.link = function (scope, element, attrs) { - var limit = scope.limit || 5; - var fromLastDays = scope.fromLastDays || ""; - var init = function () { - cmsService.getPosts(limit, fromLastDays, ['Announcement', 'News']) - .then(function(response) { - scope.cmsPosts = response.data; - }) - .catch(function(error) { - $log.error(error); - }); - }; - - scope.openCMSReadMoreModal = function(cmsPost) { - if(cmsPost) { - $uibModal.open({ - templateUrl: 'main/modals/cms-post-modal/cms-post-modal.html', - controller: 'cmsPostModalController', - controllerAs: 'vm', - size: 'cms-post-read-more', - resolve: { - post: function () { - return cmsPost; - } - } - }); - } else { - $log.debug("Cannot open cms post.") - } - }; - - init(); - }; - - return directive; - } -})(); diff --git a/d2ice.att.io/app/directives/ice-news-and-announcement/ice-news-and-announcement.html b/d2ice.att.io/app/directives/ice-news-and-announcement/ice-news-and-announcement.html deleted file mode 100755 index df377dd6..00000000 --- a/d2ice.att.io/app/directives/ice-news-and-announcement/ice-news-and-announcement.html +++ /dev/null @@ -1,51 +0,0 @@ - -
-
News & Announcements
-
    -

    There are no posts.

    -
  • -
    -

    {{post.title}}

    -
    - Posted at {{post.publish_date | date2: 'EEEE MMMM doo yyyy'}} by {{post.user.username}} -

    -
  • -
-
diff --git a/d2ice.att.io/app/directives/ice-news-and-announcement/ice-news-and-announcement.less b/d2ice.att.io/app/directives/ice-news-and-announcement/ice-news-and-announcement.less deleted file mode 100755 index 47c9fc81..00000000 --- a/d2ice.att.io/app/directives/ice-news-and-announcement/ice-news-and-announcement.less +++ /dev/null @@ -1,80 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -#news-and-announcements { - border: 1px solid @func_color_x; - padding:0px; - - #news-and-announcements-header { - background-color: @func_color_x; - .p_22_m; - padding: 10px 10px 0; - } - #news-and-announcements-list { - list-style:none; - padding: 0 15px; - .news-and-announcements-details { - border-bottom: 1px dashed @main_color_a; - padding-bottom:10px; - - .news-and-announcements-details-header { - .news-and-announcements-details-title { - .f-type ._20_m; - cursor: pointer; - margin-top: 15px; - margin-bottom: 0px; - margin-left: 15px; - word-wrap: break-word; - } - } - .news-and-announcements-description { - .m_18_r; - margin: 3px 0px; - line-height: 20px; - word-wrap: break-word; - } - .news-and-announcements-creation { - .m_12_r; - } - } - .news-and-announcements-details:last-child { - padding:0px; - border:none; - } - } -} diff --git a/d2ice.att.io/app/directives/ice-toast/ice-toast.directive.js b/d2ice.att.io/app/directives/ice-toast/ice-toast.directive.js deleted file mode 100755 index bb7df0c5..00000000 --- a/d2ice.att.io/app/directives/ice-toast/ice-toast.directive.js +++ /dev/null @@ -1,76 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - 'use strict'; - - angular - .module('ice.directives') - .directive('iceToast', ['$rootScope', 'toastService', iceToast]); - - function iceToast($rootScope, toastService) { - var directive = {}; - directive.restrict = 'E'; - directive.templateUrl = 'directives/ice-toast/ice-toast.html'; - directive.scope = {isModal: '=isModal'}; - directive.link = function (scope, element, attrs) { - var init = function() { - var toast = toastService.getToast(); - - if(toast) { - scope.toast = toast; - } - }; - - scope.closeAlert = function() { - toastService.clearToast(); - }; - - init(); - - //whenever the toast updated we will update the directive view: - $rootScope.$watch('showToast', function(newVal, OldVal){ - init(); - }, true); - }; - - return directive; - } - -})(); diff --git a/d2ice.att.io/app/directives/ice-toast/ice-toast.html b/d2ice.att.io/app/directives/ice-toast/ice-toast.html deleted file mode 100755 index 9badf3bf..00000000 --- a/d2ice.att.io/app/directives/ice-toast/ice-toast.html +++ /dev/null @@ -1,44 +0,0 @@ - -
- - - Read more >> - -
diff --git a/d2ice.att.io/app/directives/ice-toast/ice-toast.less b/d2ice.att.io/app/directives/ice-toast/ice-toast.less deleted file mode 100755 index 0741fee1..00000000 --- a/d2ice.att.io/app/directives/ice-toast/ice-toast.less +++ /dev/null @@ -1,48 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -.ice-toast { - u { - .m_14_r; - } - - @media (max-width: 992px) { - padding-top: 10px; - padding-left: 0%; - } -} diff --git a/d2ice.att.io/app/directives/ice-tooltip/ice-tooltip.directive.js b/d2ice.att.io/app/directives/ice-tooltip/ice-tooltip.directive.js deleted file mode 100755 index 3c5b867f..00000000 --- a/d2ice.att.io/app/directives/ice-tooltip/ice-tooltip.directive.js +++ /dev/null @@ -1,69 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - 'use strict'; - - angular - .module('ice.directives') - .directive('iceToolTip', ['cmsService', '$log', iceToolTip]); - - function iceToolTip(cmsService, $log) { - var directive = {}; - directive.restrict = 'E'; - directive.templateUrl = 'directives/ice-tooltip/ice-tooltip.html'; - directive.link = function (scope, element, attrs) { - var limit = 5; - - cmsService.getPosts(limit, '', ['FAQ']) - .then(function(response) { - if(response.data && response.data.length > 0) { - var rangeMax = response.data.length; - var randPostIndex = Math.floor(Math.random() * rangeMax); - scope.tipContent = response.data[randPostIndex]; - } - }) - .catch(function(error) { - $log.error(error); - }); - }; - - return directive; - } - -})(); diff --git a/d2ice.att.io/app/directives/ice-tooltip/ice-tooltip.html b/d2ice.att.io/app/directives/ice-tooltip/ice-tooltip.html deleted file mode 100755 index 3c09051f..00000000 --- a/d2ice.att.io/app/directives/ice-tooltip/ice-tooltip.html +++ /dev/null @@ -1,44 +0,0 @@ - -
-
Did you know?
-
-

{{tipContent.excerpt}}

-
-
diff --git a/d2ice.att.io/app/directives/ice-tooltip/ice-tooltip.less b/d2ice.att.io/app/directives/ice-tooltip/ice-tooltip.less deleted file mode 100755 index 949e9a04..00000000 --- a/d2ice.att.io/app/directives/ice-tooltip/ice-tooltip.less +++ /dev/null @@ -1,82 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -.tooltip-container { - border: 1px solid @main_color_o; - background-color: @main_color_p; - padding: 0px; - - .tooltip-title { - .f-type._22_m; - background-color: @main_color_p; - color: @tooltip_header_color; - padding: 10px 10px 0; - } - - .tooltip-content { - background-color: @main_color_p; - word-wrap: break-word; - - h4 { - padding: 0 15px; - } - } -} - -#nav-bar-wrapper { - .tooltip-container { - bottom: 10px; - - .tooltip-title { - .f-type._16_m; - background-color: @main_color_p; - color: @tooltip_header_color; - padding: 15px 15px 0; - } - - .tooltip-content { - background-color: @main_color_p; - word-wrap: break-word; - - h4 { - .f-type._16_r; - padding: 0 15px; - } - } - } -} diff --git a/d2ice.att.io/app/directives/notifications/notifications.directive.js b/d2ice.att.io/app/directives/notifications/notifications.directive.js deleted file mode 100755 index 159a535e..00000000 --- a/d2ice.att.io/app/directives/notifications/notifications.directive.js +++ /dev/null @@ -1,130 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - 'use strict'; - angular - .module('ice.directives') - .directive('notifications', notifications); - - String.prototype.replaceAll = function(str1, str2, ignore) - { - return this.replace(new RegExp(str1.replace(/([\/\,\!\\\^\$\{\}\[\]\(\)\.\*\+\?\|\<\>\-\&])/g,"\\$&"),(ignore?"gi":"g")),(typeof(str2)=="string")?str2.replace(/\$/g,"$$$$"):str2); - } - - function notifications($compile,$filter,$rootScope,$location,localStorageService) { - var directive = {}; - directive.restrict = 'E'; - directive.template = '
'; - directive.scope = {activity : '='}; - directive.controller = ['$scope', function($scope) { - $scope.addDateStamp = function(activity) { - var description = ""; - var timeGapLocal = moment().format("z");// timeGap(); - - var ampm = moment().format('A'); - var mom =moment().tz( moment.tz.guess()).format('z'); - - if (activity.description.indexOf(' at ') == -1) - { - if (activity.description.substr(activity.description.length - 1) == '.') - description = activity.description.substr(0, activity.description.length - 1); - else - description = activity.description; - } else { - description = activity.description.substring(0, activity.description.indexOf(" at ")); - } - activity.description = description + ' at ' + $filter('date')(activity.create_time,'yyyy-MM-dd hh:mm:ss',timeGapLocal) + " " + ampm + " " + mom; - - return activity; - } - $scope.addPopover = function(activity,macro,short,long) { - - var template = "" + short +""; - activity.description = activity.description.replaceAll(macro, template); - } - - $scope.addSelectEngagement = function (activity,macro,short,uuid) { - var template = "" + short +""; - activity.description = activity.description.replaceAll(macro, template); - } - - $scope.goToEngagement = function(uuid){ - localStorageService.setJson("ice.settings.eng_uuid",uuid); - $location.path('/dashboard/overview'); - $location.replace(); - $rootScope.$broadcast('onUpdateEngagements',{select : {uuid:uuid,page_type:'overview',sub_id:undefined}}); - }; - - - }]; - directive.link = function(scope, iElement, iAttrs, ctrl) { - var activity = scope.activity; - activity.meta_data = JSON.parse(activity.metadata); - scope.addDateStamp(activity); - angular.forEach(activity.meta_data.macros,function(macro,key){ - switch (macro.type) - { - case 'popover': - scope.addPopover(activity,key,macro.short,macro.long); - break; - case 'select_engagement': - scope.addSelectEngagement(activity,key,macro.short,macro.eng_uuid); - break; - - } - - }); - var template = "" + scope.activity.description + ""; - - iElement.html(template).show(); - $compile(iElement.contents())(scope); - }; - return directive; - } - -})(); \ No newline at end of file diff --git a/d2ice.att.io/app/directives/progress/progress.directive.js b/d2ice.att.io/app/directives/progress/progress.directive.js deleted file mode 100755 index 073ff0cf..00000000 --- a/d2ice.att.io/app/directives/progress/progress.directive.js +++ /dev/null @@ -1,211 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - 'use strict'; - - angular - .module('ice.directives') - .directive('progressDirective', ["$uibModal", "$rootScope", "$log", "vfService", ProgressDirective]); - - function ProgressDirective($uibModal, $rootScope, $log, vfService) { - var directive = {}; - directive.restrict = 'E'; - directive.templateUrl = 'directives/progress/progress.html'; - directive.scope = { - progress: "@progress", - data: "=data", - callback: "=callback", - statuses: "@statuses", - enable_refresh: "@enableRefresh", - }; - directive.link = function (scope, element, attrs) { - var init = function() { - if(!scope.statuses){ - scope.statuses = false; - } - - calculateDaysLeft(); - registerWatches(); - }; - - var calculateDaysLeft = function(){ - var currentDate = moment(); - var completionDate = moment(scope.data.completion_date); - var days_diff = Math.ceil(completionDate.diff(currentDate, 'days',true)); - if (days_diff < 0 ) - days_diff = 0; - scope.daysLeft = days_diff; - }; - - var registerWatches = function() { - scope.$watch('data.completion_date', function(oldVal, newVal) { - if (oldVal !== newVal){ - calculateDaysLeft(); - } - }); - - scope.$watch('data.heat_validated_time', function(oldVal, newVal) { - if (oldVal !== newVal){ - normalizeData(); - } - }); - - scope.$watch('data.vnf_version', function(oldVal, newVal) { - if (oldVal !== newVal){ - normalizeData(); - } - }); - - scope.$watch('data.image_scan_time', function(oldVal, newVal) { - if (oldVal !== newVal){ - normalizeData(); - } - }); - - scope.$watch('data.aic_instantiation_time', function(oldVal, newVal) { - if (oldVal !== newVal){ - normalizeData(); - } - }); - - scope.$watch('data.asdc_onboarding_time', function(oldVal, newVal) { - if (oldVal !== newVal){ - normalizeData(); - } - }); - }; - - var normalizeData = function() { - if(scope.data) { - if(!scope.data.ecomp_release){ - scope.data.ecomp_release = "-"; - } - if(!scope.data.aic_version){ - scope.data.aic_version = "-"; - } - - if(!scope.data.aic_instantiation_time){ - scope.data.aic_instantiation_time = "-"; - } - - if(!scope.data.vnf_version){ - scope.data.vnf_version = "-"; - } - - if(!scope.data.asdc_onboarding_time){ - scope.data.asdc_onboarding_time = "-"; - } - - if(!scope.data.heat_validated_time){ - scope.data.heat_validated_time = "-"; - } - - if(!scope.data.image_scan_time){ - scope.data.image_scan_time = "-"; - } - } - }; - - scope.starEngagement = function () { - vfService.putStarredEngagements(scope.data.engagement_uuid) - .then(function (response) { - $rootScope.ice.loader.show = false; - if (response.status === 200 && response.data && response.data !== '') { - $rootScope.$broadcast('onUpdateEngagements', {select: { - uuid: scope.data.engagement_uuid, - page_type: 'dashboard', - sub_id: undefined, - enable_refresh: scope.enable_refresh - } - }); - if(scope.data.starred == false){ - scope.data.starred = true; - } - else { - scope.data.starred = false; - } - } - }) - .catch(function (error) { - $rootScope.ice.loader.show = false; - $log.error(error); - }); - }; - - scope.goToEngagement = function(uuid){ - $rootScope.$broadcast('searchSelectEngagement',uuid); - }; - - scope.changeProgress = function(){ - var modalInstance = $uibModal.open({ - templateUrl: 'main/modals/change-progress/change-progress.html', - controller: 'ChangeProgressModalController', - controllerAs: 'vm', - resolve: { - progress: function () { - return scope.progress; - }, - engagementUuid: function () { - return scope.data.engagement_uuid; - } - } - }); - - // Update the progress after modal closed. - modalInstance.result.then(function (data) { - if (!data){ - return; - } - scope.progress = data.progress || scope.progress; - if (data.progress) { - scope.callback(data); - } - }, function () { - $log.debug('Modal dismissed at: ' + new Date()); - }); - }; - - init(); - }; - - return directive; - } - -})(); diff --git a/d2ice.att.io/app/directives/progress/progress.html b/d2ice.att.io/app/directives/progress/progress.html deleted file mode 100755 index 6656a913..00000000 --- a/d2ice.att.io/app/directives/progress/progress.html +++ /dev/null @@ -1,82 +0,0 @@ - -
-
- -
- Progress - - - - - - - {{data.manual_id}}: {{data.name}} - -
- -
-
-
- {{progress}} % - -
-
-
- Target AIC Version: {{data.aic_version}} - ECOMP Release: {{data.ecomp_release}} - VNF Version: -
-
- -
-
Heat Validated:{{data.heat_validated_time | date:'shortDate'}}
-
Image Scan:{{data.image_scan_time | date:'shortDate'}}
-
AIC Instantiation:{{data.aic_instantiation_time | date:'shortDate'}}
-
ASDC Onboarding:{{data.asdc_onboarding_time | date:'shortDate'}}
-
-
-
diff --git a/d2ice.att.io/app/directives/progress/progress.less b/d2ice.att.io/app/directives/progress/progress.less deleted file mode 100755 index c374886a..00000000 --- a/d2ice.att.io/app/directives/progress/progress.less +++ /dev/null @@ -1,184 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -.steps-progress-wrapper { - position: relative; - border: 1px solid; - border-color: @main_color_o; - padding: 10px 15px; - background-color: @main_color_p; - - .progress-side-info { - padding: 0 10px; - margin-top: 4px; - - .value { - line-height: 20px; - .m_12_r; - } - - .progress-side-info-row { - .m_12_m; - line-height:20px; - - .progress-side-info-first-row { - padding-top: 1%; - } - - .progress-side-info-last-row { - padding-bottom: 1%; - } - } - } - - .progress-body-content { - .progress-left-content { - border-right: solid 1px @main_color_o; - - } - - .progress-version-release { - margin-top: 5px; - color: @main_color_m - } - - .description { - .progress-title { - .b_20; - - .manual-id { - .b_20_m; - } - - .progress-click { - cursor:pointer; - } - - .progress-question-mark { - font-size: 20px; - color: @main_color_r; - display: inline-block; - margin-left: 1px; - cursor: pointer; - position: relative; - top: 1px; - } - - .star-engagement-action { - display: inline-block; - cursor: pointer; - position: relative; - margin-right: 5px; - } - } - - .progress-edit-days-left { - float: right; - position: relative; - margin-right: 1%; - - .steps-progress-days-left { - .m_14_m; - vertical-align: bottom; - } - - .edit { - .sprite; - .sprite.edit-medium; - display: inline-block; - cursor: pointer; - position:relative; - top:3px; - } - } - } - - .steps-progress-bar { - display: flex; - flex-direction: row; - justify-content: space-between; - overflow: hidden; - border: solid 1px @main_color_o; - height: 30px; - - .progress-filled { - background-color: red; - /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#1672a4+0,c2e1f2+100 */ - background: @gradient_left; /* Old browsers */ - background: -moz-linear-gradient(left, @gradient_left 0%, @gradient_right 100%); /* FF3.6-15 */ - background: -webkit-linear-gradient(left, @gradient_left 0%, @gradient_right 100%); /* Chrome10-25,Safari5.1-6 */ - background: linear-gradient(to right, @gradient_left 0%, @gradient_right 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=@gradient_left, endColorstr=@gradient_right, GradientType=1); /* IE6-9 */ - border-right: solid 1px @main_color_o; - } - - .progress-empty { - position: relative; - - &.right { - .percents { - left: 10px; - } - .edit { - left: 50px; - } - } - - .edit { - font-size: 21px; - color: @main_color_r; - display: inline-block; - position: absolute; - top: 5px; - left: -25px; - cursor: pointer; - } - - .percents { - position: absolute; - top: 4px; - left: -60px; - } - - &.full { - .percents { left: -70px; } - } - } - } - } -} diff --git a/d2ice.att.io/app/directives/step-stages/step-stages.directive.js b/d2ice.att.io/app/directives/step-stages/step-stages.directive.js deleted file mode 100755 index 50a97206..00000000 --- a/d2ice.att.io/app/directives/step-stages/step-stages.directive.js +++ /dev/null @@ -1,172 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - 'use strict'; - - angular - .module('ice.directives', []) - .directive('stepStagesDirective', ProgressDirective); - - function ProgressDirective($rootScope, iceConstants, localStorageService, usersService, $uibModal) { - var directive = {}; - directive.restrict = 'E'; - directive.templateUrl = 'directives/step-stages/step-stages.html'; - directive.scope = { - stage : "=stage", - stage_num: "=stageNum", - eng_uuid : "@engUuid", - team: "=team", - eng_name: "@engName", - initactivitylogs: '&' - }; - directive.controller = ['$scope', 'vfService', '$log', function($scope, vfService, $log) { - $scope.set_engagement_stage = function(scope, requested_stage){ - var modalInstance = $uibModal.open({ - templateUrl: 'main/modals/set-eng-stage/set-eng-stage-modal.html', - controller: 'setEngStageModalController', - controllerAs: 'vm', - resolve: { - stage: function () { - return requested_stage; - }, - eng_name: function () { - return $scope.eng_name; - }, - current_stage: function () { - return $scope.stage; - } - } - }); - - modalInstance.result.then(function (bool) { - if(bool) { - vfService.set_engagement_stage(scope.eng_uuid, requested_stage) - .then(function (response) { - if (response.status === 202) { - scope.stage = requested_stage; - switch (requested_stage) { - case 'Intake': - scope.stage_num = 1; - break; - case 'Active': - scope.stage_num = 2; - break; - case 'Validated': - scope.stage_num = 3; - break; - case 'Completed': - scope.stage_num = 4; - break; - } - $rootScope.$broadcast('onUpdateNextSteps',{'stage': scope.stage, 'eng_uuid': scope.eng_uuid}); - $scope.initactivitylogs(); - } - else { - return false; - } - }) - .catch(function (error) { - $log.error(error); - }); - } - else { - return; - } - }); - - - }; - - $scope.hover_design = function(bool, num){ - $scope.temp_num = num; - $scope.hover = bool; - return; - }; - - - }]; - - - directive.link = function (scope, element, attrs) { - scope.hover = false; - scope.temp_num = 0; - scope.priviliged = false; - scope.const = iceConstants.stages; - scope.loaded = false; - scope.user = usersService.getUserData(); - scope.$watchGroup(['user','team'], function(new_vals, old_vals, scope){ - if(!(new_vals[0]) || !(new_vals[1])){ - return; - } - else if (!(scope.loaded)){ - if( (usersService.isEngagementEL(scope.team)) || (usersService.isAdmin(scope.user))){ - scope.priviliged = true; - }; - scope.loaded = true; - - } - }); - - scope.hover_actions = function(bool, num){ - if(!(scope.priviliged)){ - return; - }; - scope.hover_design(bool, num); - }; - - scope.set_stage = function(requested_stage){ - if(!(scope.priviliged)){ - return; - }; - if (scope.stage === requested_stage){ - $log.debug("Same stage was chosen, request ignored."); - return; - }; - - var result = scope.set_engagement_stage(scope, requested_stage); - - }; - - }; - return directive; - } - -})(); - diff --git a/d2ice.att.io/app/directives/step-stages/step-stages.html b/d2ice.att.io/app/directives/step-stages/step-stages.html deleted file mode 100755 index 0ccbd1d8..00000000 --- a/d2ice.att.io/app/directives/step-stages/step-stages.html +++ /dev/null @@ -1,44 +0,0 @@ - -
-
{{const.intake}}
-
{{const.active}}
-
{{const.validated}}
-
{{const.completed}}
-
diff --git a/d2ice.att.io/app/directives/step-stages/step-stages.less b/d2ice.att.io/app/directives/step-stages/step-stages.less deleted file mode 100755 index 617d0c64..00000000 --- a/d2ice.att.io/app/directives/step-stages/step-stages.less +++ /dev/null @@ -1,75 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -.steps-stages-wrapper { - - display: flex; - flex-direction: row; - justify-content: space-between; - overflow: hidden; - padding: 10px 0 0 0; - - .steps-stage { - - width: 100%; - - &:not(.selected) { - .step-progress-dashed(34px, @toolbar_background_color, 100%); - } - - &.selected { - .step-progress(34px, @toolbar_background_color, 100%); - } - - &.hover-selected { - .step-progress(34px, @toolbar_background_color, 100%); - cursor: pointer; - } - - &.previous-stage { - .step-progress-solid(34px, @toolbar_background_color, 100%); - } - - &.hover-previous-stage { - .step-progress-solid(34px, @toolbar_background_color, 100%); - cursor: pointer; - } - - } - -} diff --git a/d2ice.att.io/app/favicon.png b/d2ice.att.io/app/favicon.png deleted file mode 100755 index 6e9f04df..00000000 Binary files a/d2ice.att.io/app/favicon.png and /dev/null differ diff --git a/d2ice.att.io/app/filters/capitalize.filter.js b/d2ice.att.io/app/filters/capitalize.filter.js deleted file mode 100755 index fa191f58..00000000 --- a/d2ice.att.io/app/filters/capitalize.filter.js +++ /dev/null @@ -1,52 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -/** - * Created by almog on 07/02/2017. - */ -(function () { - 'use strict'; - angular.module('ice.filters') - .filter('capitalize', [capitalize]); - - function capitalize() { - return function(input) { - return (input) ? input.charAt(0).toUpperCase() + input.substr(1).toLowerCase() : ''; - } - } -})(); diff --git a/d2ice.att.io/app/filters/customDocumentationPageSearch.filter.js b/d2ice.att.io/app/filters/customDocumentationPageSearch.filter.js deleted file mode 100755 index edf1e691..00000000 --- a/d2ice.att.io/app/filters/customDocumentationPageSearch.filter.js +++ /dev/null @@ -1,58 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -/** - * Created by almog on 07/02/2017. - */ -(function () { - 'use strict'; - angular.module('ice.filters') - .filter('customDocumentationPageSearch', ['cmsService', customDocumentationPageSearch]); - - function customDocumentationPageSearch(cmsService) { - return function(search_list,search_term) { - return cmsService.searchPages(search_term) - .then(function (response) { - return response.data; - }) - .catch(function (error) { - $log.error(error); - }); - } - } -})(); diff --git a/d2ice.att.io/app/filters/customVFSearchFilter.filter.js b/d2ice.att.io/app/filters/customVFSearchFilter.filter.js deleted file mode 100755 index 13c6fbf4..00000000 --- a/d2ice.att.io/app/filters/customVFSearchFilter.filter.js +++ /dev/null @@ -1,62 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -/** - * Created by almog on 07/02/2017. - */ -(function () { - 'use strict'; - angular.module('ice.filters') - .filter('customVFSearchFilter', ['vfService', '$log', customVFSearchFilter]); - - function customVFSearchFilter (vfService, $log) { - return function(search_list,search_term) { - var postData = {'stage': 'All', 'keyword': search_term, 'offset': 0, 'limit': 20}; - return vfService.getExpandedEngagements(postData) - .then(function (response) { - if (response.status === 200 && response.data && response.data !== '') { - return response.data['array']; - } - }) - .catch(function (error) { - $rootScope.ice.loader.show = false; - $log.error(error); - }); - } - } -})(); diff --git a/d2ice.att.io/app/filters/date2.filter.js b/d2ice.att.io/app/filters/date2.filter.js deleted file mode 100755 index f39761e7..00000000 --- a/d2ice.att.io/app/filters/date2.filter.js +++ /dev/null @@ -1,60 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -/** - * Created by almog on 07/02/2017. - */ -(function () { - 'use strict'; - angular.module('ice.filters') - .filter('date2', ['$filter', date2]); - - function date2($filter) { - var suffixes = ["th", "st", "nd", "rd"]; - return function(input, format) { - if(input) { - var dtfilter = $filter('date')(input, format); - var day = parseInt($filter('date')(input, 'dd')); - var relevantDigits = (day < 30) ? day % 20 : day % 30; - var suffix = (relevantDigits <= 3) ? suffixes[relevantDigits] : suffixes[0]; - return dtfilter.replace('oo', suffix); - } - return input; - }; - } -})(); diff --git a/d2ice.att.io/app/filters/doesExists.filter.js b/d2ice.att.io/app/filters/doesExists.filter.js deleted file mode 100755 index fd52ee2b..00000000 --- a/d2ice.att.io/app/filters/doesExists.filter.js +++ /dev/null @@ -1,52 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -/** - * Created by almog on 07/02/2017. - */ -(function () { - 'use strict'; - angular.module('ice.filters') - .filter('doesExists', ['$sce', '$injector', '$log', doesExists]); - - function doesExists ($sce, $injector, $log) { - return function(matchItem, query) { - return matchItem.toLowerCase().includes(query.toLowerCase()); - }; - } -})(); diff --git a/d2ice.att.io/app/filters/htmlspecialchars.filter.js b/d2ice.att.io/app/filters/htmlspecialchars.filter.js deleted file mode 100755 index e96749d2..00000000 --- a/d2ice.att.io/app/filters/htmlspecialchars.filter.js +++ /dev/null @@ -1,62 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -/** - * Created by almog on 07/02/2017. - */ -(function () { - 'use strict'; - angular.module('ice.filters') - .filter('htmlspecialchars', ['_','$filter', htmlspecialchars]); - - function htmlspecialchars(_,$filter) { - return function(input) { - input = _.replace(input,/\&\;/g,"&"); - input = _.replace(input,/\<\;/g,"<"); - input = _.replace(input,/\>\;/g,">"); - input = _.replace(input,/\"\;/g,'"'); - input = _.replace(input,/\\;/g,"'"); - input = _.replace(input,/<(\s)*script/g,"_script"); -// input = _.replace(input,/style=\"font-weight: bold;\"/g,"class=\"bold\""); -// input = _.replace(input,/style=\"font-style: italic;\"/g,"class=\"italic\""); -// input = _.replace(input,/style=\"text-decoration-line: line-through;\"/g,"class=\"line-through\""); -// input = _.replace(input,/style=\"text-decoration-line: underline;\"/g,"class=\"underline\""); - return input; - }; - } -})(); diff --git a/d2ice.att.io/app/filters/htmlstylespan.filter.js b/d2ice.att.io/app/filters/htmlstylespan.filter.js deleted file mode 100755 index ae79eebf..00000000 --- a/d2ice.att.io/app/filters/htmlstylespan.filter.js +++ /dev/null @@ -1,56 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -/** - * Created by almog on 07/02/2017. - */ -(function () { - 'use strict'; - angular.module('ice.filters') - .filter('htmlstylespan', ['_','$filter', htmlstylespan]); - - function htmlstylespan(_,$filter) { - return function(input) { - input = _.replace(input,/style=\"font-weight: bold;\"/g,"class=\"bold\""); - input = _.replace(input,/style=\"font-style: italic;\"/g,"class=\"italic\""); - input = _.replace(input,/style=\"text-decoration-line: line-through;\"/g,"class=\"line-through\""); - input = _.replace(input,/style=\"text-decoration-line: underline;\"/g,"class=\"underline\""); - return input; - }; - } -})(); diff --git a/d2ice.att.io/app/filters/trusted.filter.js b/d2ice.att.io/app/filters/trusted.filter.js deleted file mode 100755 index 9f6fe13f..00000000 --- a/d2ice.att.io/app/filters/trusted.filter.js +++ /dev/null @@ -1,49 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - 'use strict'; - angular.module('ice.filters', []) - .filter('trusted', ['$sce', trusted]); - - function trusted ($sce){ - return function(html){ - return $sce.trustAsHtml(html) - } - } -})(); diff --git a/d2ice.att.io/app/index.html b/d2ice.att.io/app/index.html deleted file mode 100755 index 5743dba5..00000000 --- a/d2ice.att.io/app/index.html +++ /dev/null @@ -1,262 +0,0 @@ - - - - - - - - - AT&T | {{'program.name' | i18next}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d2ice.att.io/app/interceptors/httpInterceptors.js b/d2ice.att.io/app/interceptors/httpInterceptors.js deleted file mode 100755 index fb8c6ad6..00000000 --- a/d2ice.att.io/app/interceptors/httpInterceptors.js +++ /dev/null @@ -1,95 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -'use strict'; - -angular.module('ice.interceptors.http', []) - .factory('httpRequestInterceptor', function ($injector, $rootScope) { - return { - request: function (config) { - // Send the user only for API requests - if (config.url.indexOf($rootScope.baseURL) !== -1) { - config.headers = config.headers || {}; - var user = $injector.get('usersService').getUserData(function() {}); - if (user && !config.skipAuth) { - config.headers.Authorization = "token "+user.jwtToken; - } - } - return config; - } - }; - }) - .factory('httpResponseInterceptor', function ($rootScope) { - return { - response: function (response) { - return response; - } - } - }) - .factory('httpRequestErrorInterceptor', function ($q) { - return { - requestError: function (request) { - // Do something - return request; - } - } - }) - .factory('httpResponseErrorInterceptor', ["$q", "$rootScope", "$injector", "toastService", function ($q, $rootScope, $injector, toastService) { - return { - responseError: function (response) { - var $state = $injector.get('$state'); - var status = response.status; - switch (status) { - case 401: - //AuthFactory.clearUser(); - toastService.setToast(response.statusText, 'danger'); - //$window.location = "/auth/login?redirectUrl=" + redirectUrl; - break; - case 403: - $state.go('app.login'); - break; - case 404: - //$state.go("app.errors_error-404"); - break; - } - - // otherwise - return $q.reject(response); - } - } - }]); diff --git a/d2ice.att.io/app/locales/en/translation.json b/d2ice.att.io/app/locales/en/translation.json deleted file mode 100755 index 176fa89c..00000000 --- a/d2ice.att.io/app/locales/en/translation.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "vendor": { - "name": "EXAMPLE VENDOR", - "email": "admin@example.com" - }, - "serviceProvider": { - "name": "EXAMPLE PROVIDER" - }, - "program": { - "name": "VVP PROGRAM" - } -} diff --git a/d2ice.att.io/app/main/activation/activate/activateUser.controller.js b/d2ice.att.io/app/main/activation/activate/activateUser.controller.js deleted file mode 100755 index 39e60123..00000000 --- a/d2ice.att.io/app/main/activation/activate/activateUser.controller.js +++ /dev/null @@ -1,60 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - 'use strict'; - angular - .module('ice.activation.activateUser') - .controller('ActivateUserController', ["$state", "usersService", "$log", "$stateParams", LoginController]); - - function LoginController($state, usersService, $log, $stateParams) { - var init = function () { - usersService.activateUser($stateParams.userID, $stateParams.token) - .then(function (response) { - $state.go('app.login', {activation_success: response.data.activation_success, - engagement_uuid: response.data.engagement_uuid}); - }) - .catch(function (error) { - $log.error(error); - $state.go('app.login', {message: error.message.detail}); - }); - }; - - init(); - } -})(); diff --git a/d2ice.att.io/app/main/activation/activate/activateUser.html b/d2ice.att.io/app/main/activation/activate/activateUser.html deleted file mode 100755 index 2041a607..00000000 --- a/d2ice.att.io/app/main/activation/activate/activateUser.html +++ /dev/null @@ -1,39 +0,0 @@ - -
diff --git a/d2ice.att.io/app/main/activation/activate/activateUser.module.js b/d2ice.att.io/app/main/activation/activate/activateUser.module.js deleted file mode 100755 index b2e1f169..00000000 --- a/d2ice.att.io/app/main/activation/activate/activateUser.module.js +++ /dev/null @@ -1,58 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - 'use strict'; - angular - .module('ice.activation.activateUser', []) - .config(config); - - function config($stateProvider) { - $stateProvider - .state('app.activateUser', { - url: '/activate/:userID/:token', - views: { - 'main@': { - templateUrl: 'main/activation/activate/activateUser.html', - controller : 'ActivateUserController as vm' - } - }, - params: {} - }); - } -})(); diff --git a/d2ice.att.io/app/main/activation/addVendorContact/addVendorContact.controller.js b/d2ice.att.io/app/main/activation/addVendorContact/addVendorContact.controller.js deleted file mode 100755 index c8859a7d..00000000 --- a/d2ice.att.io/app/main/activation/addVendorContact/addVendorContact.controller.js +++ /dev/null @@ -1,111 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - 'use strict'; - - angular - .module('ice.activation.addVendorContact') - .controller('AddVendorContactController', ["$state", "vfService", "usersService", "$log", "$rootScope", - AddVendorContactController]); - - function AddVendorContactController($state, vfService, usersService, $log, $rootScope) { - - var vm = this; - vm.data = {}; - - var init = function() { - $rootScope.ice.loader.show = true; - $rootScope.headerTitle = ""; - $rootScope.headerSubTitle = ""; - - vm.choices = [{ VirtualFunction: '', TargetLab: '', TargetAic: '',is_service_provider_internal: '' }]; - - vfService.getCompanies() - .then(function (response) { - $rootScope.ice.loader.show = false; - if (response.status === 200) { - vm.companies = response.data; - } - }) - .catch(function (error) { - $rootScope.ice.loader.show = false; - $log.error(error); - }); - - }; - - vm.submitForm = function () { - vm.data.company = vm.data.company.uuid; - - $rootScope.ice.loader.show = true; - usersService.addVendorContact(vm.data) - .then(function (response) { - $rootScope.ice.loader.show = false; - if (response.status === 200) { - if (response.data.is_active) { - $state.go('app.dashboard.overview'); - } else { - $state.go('app.resend_activation'); - } - } - }) - .catch(function (error) { - $rootScope.ice.loader.show = false; - vm.Msg = response.status + " : " + response.statusText; - vm.bgColor = "#FFEBEB"; // RED #FFEBEB green DFF0D9 - $log.error(error); - }); - }; - - vm.addNewChoice = function (){ - var newItemNo = vm.choices.length + 1; - vm.choices.push({ 'id': newItemNo }); - }; - - vm.removeChoice = function (){ - var lastItem = vm.choices.length - 1; - vm.choices.splice(lastItem); - }; - - init(); - } - -})(); - diff --git a/d2ice.att.io/app/main/activation/addVendorContact/addVendorContact.html b/d2ice.att.io/app/main/activation/addVendorContact/addVendorContact.html deleted file mode 100755 index ff9bd6e6..00000000 --- a/d2ice.att.io/app/main/activation/addVendorContact/addVendorContact.html +++ /dev/null @@ -1,111 +0,0 @@ - - - -
-
-
- -
- -
- - -
- Please select a company -
-
- -
- - -
- Name is a required field. - Full Name is too short. - Full Name is too long. -
-
- -
- - -
- Email is a required field. - Enter a valid email. -
-
- -
- - -
- Phone is a required field. - Phone is too short. - Phone is too long. - Phone must consist of numbers only. -
-
- -
-  I agree to receive regular email updates. -
- -
-  I accept the AT&T's {{'program.name' | i18next}} Terms of Service and Privacy Policy. -
- -
- -
-
reCAPTCHA is invalid.
-
- - - - - - -
- -
-
- -
diff --git a/d2ice.att.io/app/main/activation/addVendorContact/addVendorContact.less b/d2ice.att.io/app/main/activation/addVendorContact/addVendorContact.less deleted file mode 100755 index 166962d9..00000000 --- a/d2ice.att.io/app/main/activation/addVendorContact/addVendorContact.less +++ /dev/null @@ -1,82 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -.addVendorContact { - - .add-button - { - float:left; - .sprite; - .sprite.add; - } - - .remove-button - { - width:100px; - height:40px; - line-height:20px; - vertical-align:middle; - padding-left:10px; - float:left; - } - - .login-form { - margin-top: 20px; - } - - .btn { - width: 100%; - } - - .btn-primary { - border: 1px solid #8799A3; - border-radius: 6px; - background: #1E79B0; /* For browsers that do not support gradients */ - background: -webkit-linear-gradient(#1E79B0, #62ADD5); /* For Safari 5.1 to 6.0 */ - background: -o-linear-gradient(#1E79B0, #62ADD5); /* For Opera 11.1 to 12.0 */ - background: -moz-linear-gradient(#1E79B0, #62ADD5); /* For Firefox 3.6 to 15 */ - background: linear-gradient(#1E79B0, #62ADD5); /* Standard syntax (must be last) */ - } - - a.register { - text-decoration: underline; - float: right; - margin: 10px 0 0 0; - } - -} diff --git a/d2ice.att.io/app/main/activation/addVendorContact/addVendorContact.module.js b/d2ice.att.io/app/main/activation/addVendorContact/addVendorContact.module.js deleted file mode 100755 index c7b7396a..00000000 --- a/d2ice.att.io/app/main/activation/addVendorContact/addVendorContact.module.js +++ /dev/null @@ -1,67 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - 'use strict'; - - angular - .module('ice.activation.addVendorContact', []) - .config(config); - - function config($stateProvider) { - - $stateProvider - .state('app.addVendorContact', { - url : '/addVendorContact', - views : { - 'main@': { - templateUrl: 'core/layouts/full-page-with-header/full-page-with-header.html', - controller : 'MainController as vm' - }, - 'content@app.addVendorContact': { - templateUrl: 'main/activation/addVendorContact/addVendorContact.html', - controller : 'AddVendorContactController as vm' - } - }, - bodyClass: 'addVendorContact' - }); - - } - -})(); diff --git a/d2ice.att.io/app/main/activation/addVf/addVf.controller.js b/d2ice.att.io/app/main/activation/addVf/addVf.controller.js deleted file mode 100755 index 5a00c170..00000000 --- a/d2ice.att.io/app/main/activation/addVf/addVf.controller.js +++ /dev/null @@ -1,277 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - 'use strict'; - - angular - .module('ice.activation.addVf') - .controller('AddVfController', ["$scope", "$state", "vfService", "toastService", "$location", "$rootScope", - "localStorageService", 'usersService', '$log', AddVfController]) - .directive('addVf', function () { - return { - restrict: 'AEC', - templateUrl: 'main/activation/addVf/addVf.html', - link: function(scope, elm, attrs) { - - }, - controller: AddVfController, - controllerAs: 'vm', - scope: { - isModal: '=isModal' - } - } - }); - - function AddVfController($scope, $state, vfService, toastService, $location, $rootScope,localStorageService, - usersService, $log) { - var vm = this; - vm.data = []; - vm.isModal = $scope.isModal; - vm.user = usersService.getUserData(); - if (vm.user == undefined) { - $state.go('app.login'); - } - - $rootScope.headerTitle = "Add Virtual Function"; - $rootScope.headerSubTitle = "
Please use the form below to submit the virtual functions you would " + - "like to engage with ICE.
Please do note that each VF will be tracked separately.
"; - - if (!vm.isModal && $location.search().activation_success) { - toastService.setToast('You have successfully activated your account', 'success', {displayFor: 'modal'}); - } - - var targetLabDate1 = []; - //vm.targetLabDate = iceConstants.targetLabDate; - vm.targetLabDate = monthesPlus12(); - - - $rootScope.ice.loader.show = true; - vfService.getDeployTargets() - .then(function (response) { - $rootScope.ice.loader.show = false; - if (response.status === 200) { - vm.deployTargets = response.data; - } - }).catch(function (error) { - $rootScope.ice.loader.show = false; - $log.error(error); - }); - - vfService.getECOMPReleases() - .then(function (response) { - if (response.status === 200) { - vm.ECOMPReleases = response.data; - } - }).catch(function (error) { - $rootScope.ice.loader.show = false; - $log.error(error); - }); - - vm.choices = [{VirtualFunction: '', TargetLab: '', TargetAic: '', is_service_provider_internal: ''}]; - - vm.addNewChoice = function () { - var newItemNo = vm.choices.length + 1; - vm.choices.push({'id': newItemNo}); - }; - - vm.removeChoice = function (index) { - vm.choices.splice(index,1); - }; - - vm.submitForm = function () { - var is_service_provider_internal; - var jsonAddVf = []; - angular.forEach(vm.choices, function (value, key) { - if (value.is_service_provider_internal == true) { - is_service_provider_internal = "True"; - } else { - is_service_provider_internal = "False"; - } - vm.item = []; - var jsonItem = new Object(); - jsonItem.virtual_function = value.VirtualFunction; - var objDate = new Date(Date.parse((value.TargetLab) + moment().format("z"))); - jsonItem.target_lab_entry_date = objDate.getFullYear() + "-" - + addZero(objDate.getMonth()+1) + "-" + addZero(objDate.getDate()); - jsonItem.version = value.VFVersion; - jsonItem.target_aic_uuid = value.TargetAic; - jsonItem.ecomp_release = value.ECOMPRelease; - jsonItem.is_service_provider_internal = (is_service_provider_internal === "True"); - jsonAddVf.push(jsonItem); - }); - - $rootScope.ice.loader.show = true; - vfService.addVfs(JSON.stringify(jsonAddVf))//vm.data)) - .then(function (response) { - $rootScope.ice.loader.show = false; - if (response.status === 200) { - localStorageService.setJson("vfs", response.data); - - if (!vm.isModal) { - if (response.data.is_active) { - $state.go('app.dashboard.overview'); - } else { - $state.go('app.resend_activation'); - } - } else { - $scope.$emit('onUpdateEngagements',{ - select: { - uuid:response.data[0].engagement.uuid,page_type:'overview', - sub_id:undefined - } - }); - $scope.$emit('moveWizardNextStep', response.data[0]); - } - } - }) - .catch(function (error) { - $rootScope.ice.loader.show = false; - $log.error(error); - }); - }; - - - vm.skipAddVf = function () { - if (!vm.isModal && $location.search().activation_success) { - $state.go('app.dashboard.overview'); - } else { - $state.go('app.resend_activation'); - } - }; - vm.myDate = new Date(); - vm.minDate = new Date( - vm.myDate.getFullYear(), - vm.myDate.getMonth(), - vm.myDate.getDate()); - vm.maxDate = new Date( - vm.myDate.getFullYear() + 2, - vm.myDate.getMonth(), - vm.myDate.getDate()); - - } - - - var monthesPlus12 = function() - { - var i; - var arrMonthYear=[]; - var startingMonth = (new Date().getMonth()+1); - var startingYear = (new Date().getFullYear()); - for (i = startingMonth ; i<=12;i++) - { - arrMonthYear.push({"val": monthZero(i) + "-" + startingYear, "nam": MonthNumToName(i) + " " + - startingYear}); - } - for (i=1; i < startingMonth ; i++) - { - arrMonthYear.push({"val": monthZero(i) + "-" + (startingYear+1), "nam": MonthNumToName(i) + " " + - (startingYear + 1)}); - } - return(arrMonthYear); - } - - var monthZero = function(m) - { - var ret = m; - if (m<10) - { - ret = "0"+m; - } - return(ret); - } - - var MonthNumToName = function(m) - { - var MonthName; - switch (m) - { - case 1: - MonthName = "January"; - break; - case 2: - MonthName = "February"; - break; - case 3: - MonthName = "March"; - break; - case 4: - MonthName = "April"; - break; - case 5: - MonthName = "May"; - break; - case 6: - MonthName = "June"; - break; - case 7: - MonthName = "July"; - break; - case 8: - MonthName = "August"; - break; - case 9: - MonthName = "September"; - break; - case 10: - MonthName = "October"; - break; - case 11: - MonthName = "November"; - break; - case 12: - MonthName = "December"; - break; - } - return(MonthName); - } - - var addZero = function(x) - { - if (x<10) - { - return("0"+x); - } - else - { - return(x); - } - } -})(); - diff --git a/d2ice.att.io/app/main/activation/addVf/addVf.html b/d2ice.att.io/app/main/activation/addVf/addVf.html deleted file mode 100755 index 4dff7b0b..00000000 --- a/d2ice.att.io/app/main/activation/addVf/addVf.html +++ /dev/null @@ -1,130 +0,0 @@ - - -
-
-
-
-
-
- -
-
- -
- -
- Use the form below to add your VF.Try to be as accurate as you can around the information to - make sure the validation can accomplished as possible. -
-
-
- -
-
VF Name
- -
- VF Name can be alphanumeric or/and Hyphen -
-
-
-
-

Key Metadata

-
- -
- -
-
Target Lab Entry Date
- - -
-
-
- - The virtual function is only developed internally inside AT&T. -
-
-
-
- -
-
-
-
-
diff --git a/d2ice.att.io/app/main/activation/addVf/addVf.less b/d2ice.att.io/app/main/activation/addVf/addVf.less deleted file mode 100755 index dd78bae3..00000000 --- a/d2ice.att.io/app/main/activation/addVf/addVf.less +++ /dev/null @@ -1,176 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -.add-vf { - - .reject_large { - .actions-sprite; - .actions-sprite.reject_large; - cursor: pointer; - } - - .table{ - margin-bottom: 0; - } - - .table-container-flex { - - - .action-row-wrapper, .data-row-wrapper { - padding: 5px 10px; - margin-bottom:5px; - - } - - .data-row-wrapper:nth-child(even) { - background: rgba(158, 158, 158, 0.28); - - - } - - .data-row-wrapper:nth-child(odd) { - border-bottom: 1px solid; - border-top: 1px solid; - border-color: @main_color_q; - } - - .data-row-wrapper:first-child { - border-top: none; - } - - .data-row-wrapper:last-child { - border-bottom:none; - } - .flex-item { - padding-left:0px; - } - .flex-item:nth-child(1) { - padding: 5px 15px 5px 0px; - flex-grow: 25; - } - - .flex-item:nth-child(2) { - flex-grow: 25; - } - - .flex-item:nth-child(3) { - flex-grow: 25; - } - - .flex-item:nth-child(4) { - flex-grow: 25; - } - .flex-item:nth-child(5) { - flex-grow: 25; - } - - } - - .add-vf-confirm-checkbox { - display: block; - clear: both; - } - - .add-button { - display: block; - .add-text { - .a_16_m; - vertical-align: top; - margin-left: 6px; - } - .add-icon { - .sprite; - .sprite.add; - display: inline-block; - } - } - - .remove-button { - width:100px; - height:40px; - line-height:20px; - vertical-align:middle; - padding-left:10px; - float:left; - .a_16_m; - margin-top: 8px; - cursor: pointer; - - .remove-icon { - display: inline-block; - vertical-align: text-top; - margin-right: 6px; - .sprite; - .sprite.delete-circle; - cursor: pointer; - } - } - - .lineColor - { - margin: 2px; - } - - .addVf-form { - margin-top: 20px; - } - - .btn { - width: 100%; - } - - .btn-primary { - border: 1px solid #8799A3; - border-radius: 6px; - background: #1E79B0; /* For browsers that do not support gradients */ - background: -webkit-linear-gradient(#1E79B0, #62ADD5); /* For Safari 5.1 to 6.0 */ - background: -o-linear-gradient(#1E79B0, #62ADD5); /* For Opera 11.1 to 12.0 */ - background: -moz-linear-gradient(#1E79B0, #62ADD5); /* For Firefox 3.6 to 15 */ - background: linear-gradient(#1E79B0, #62ADD5); /* Standard syntax (must be last) */ - } - - #skip-add-vf-singup { - margin-top: 10px; - display: block; - text-decoration: underline; - text-align: left; - .a_16_r; - } - - -} diff --git a/d2ice.att.io/app/main/activation/addVf/addVf.module.js b/d2ice.att.io/app/main/activation/addVf/addVf.module.js deleted file mode 100755 index bac2c90b..00000000 --- a/d2ice.att.io/app/main/activation/addVf/addVf.module.js +++ /dev/null @@ -1,67 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - 'use strict'; - - angular - .module('ice.activation.addVf', []) - .config(config); - - function config($stateProvider) { - - $stateProvider - .state('app.addVf', { - url : '/addVf', - views : { - 'main@': { - templateUrl: 'core/layouts/full-page-with-header/full-page-with-header.html', - controller : 'MainController as vm' - }, - 'content@app.addVf': { - templateUrl: 'main/activation/addVf/addVf.html', - controller : 'AddVfController as vm' - } - }, - bodyClass: 'add-vf' - }); - - } - -})(); diff --git a/d2ice.att.io/app/main/activation/contactUs/contactUs.controller.js b/d2ice.att.io/app/main/activation/contactUs/contactUs.controller.js deleted file mode 100755 index bed33798..00000000 --- a/d2ice.att.io/app/main/activation/contactUs/contactUs.controller.js +++ /dev/null @@ -1,57 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - 'use strict'; - - angular - .module('ice.contactUs') - .controller('ContactUsController', ["$rootScope", ContactUsController]); - - function ContactUsController($rootScope) { - - var vm = this; - - $rootScope.headerTitle = "Contact Us"; - $rootScope.headerSubTitle = "Please fill in the details below"; - - } - -})(); - diff --git a/d2ice.att.io/app/main/activation/contactUs/contactUs.html b/d2ice.att.io/app/main/activation/contactUs/contactUs.html deleted file mode 100755 index 653ebc1d..00000000 --- a/d2ice.att.io/app/main/activation/contactUs/contactUs.html +++ /dev/null @@ -1,53 +0,0 @@ - -
- -
-
- -
- - - -
- -
-
- -
diff --git a/d2ice.att.io/app/main/activation/contactUs/contactUs.less b/d2ice.att.io/app/main/activation/contactUs/contactUs.less deleted file mode 100755 index befbb342..00000000 --- a/d2ice.att.io/app/main/activation/contactUs/contactUs.less +++ /dev/null @@ -1,59 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -.contact-us { - - .contact-us-form { - margin-top: 20px; - } - - .btn { - width: 100%; - } - - .btn-primary { - border: 1px solid #8799A3; - border-radius: 6px; - background: #1E79B0; /* For browsers that do not support gradients */ - background: -webkit-linear-gradient(#1E79B0, #62ADD5); /* For Safari 5.1 to 6.0 */ - background: -o-linear-gradient(#1E79B0, #62ADD5); /* For Opera 11.1 to 12.0 */ - background: -moz-linear-gradient(#1E79B0, #62ADD5); /* For Firefox 3.6 to 15 */ - background: linear-gradient(#1E79B0, #62ADD5); /* Standard syntax (must be last) */ - } - -} diff --git a/d2ice.att.io/app/main/activation/contactUs/contactUs.module.js b/d2ice.att.io/app/main/activation/contactUs/contactUs.module.js deleted file mode 100755 index 9259671d..00000000 --- a/d2ice.att.io/app/main/activation/contactUs/contactUs.module.js +++ /dev/null @@ -1,67 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - 'use strict'; - - angular - .module('ice.contactUs', []) - .config(config); - - function config($stateProvider) { - - $stateProvider - .state('app.contactus', { - url : '/contactUs', - views : { - 'main@': { - templateUrl: 'core/layouts/full-page-with-header/full-page-with-header.html', - controller : 'MainController as vm' - }, - 'content@app.contactus': { - templateUrl: 'main/activation/contactUs/contactUs.html', - controller : 'ContactUsController as vm' - } - }, - bodyClass: 'contact-us' - }); - - } - -})(); diff --git a/d2ice.att.io/app/main/activation/inviteMembers/inviteMembers.controller.js b/d2ice.att.io/app/main/activation/inviteMembers/inviteMembers.controller.js deleted file mode 100755 index 72ff43c0..00000000 --- a/d2ice.att.io/app/main/activation/inviteMembers/inviteMembers.controller.js +++ /dev/null @@ -1,97 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - 'use strict'; - angular - .module('ice.activation.inviteMembers') - .controller('InviteMembersController', ["$state", "vfService", "$rootScope", "$log", InviteMembersController]); - - function InviteMembersController($state, vfService, $rootScope, $log) { - var vm = this; - vm.data = []; - - var init = function() { - $rootScope.headerTitle = "Invite Team Members"; - $rootScope.headerSubTitle = "You can invite as many team members to collaborate around your virtual" + - " function as you would like. Please do remember that anyone invited to collaborate with you around" + - " the virtual function will have equal access."; - vm.choices = [{ Email: '' }]; - }; - - vm.submitForm = function () { - var jsonInviteMembers=[]; - angular.forEach(vm.choices, function(value, key) { - vm.item=[]; - var jsonItem = new Object(); - jsonItem.email = value.email; - jsonInviteMembers.push(jsonItem); - }); - - $rootScope.ice.loader.show = true; - vfService.inviteMembers(JSON.stringify(jsonInviteMembers)) - .then(function (response) { - $rootScope.ice.loader.show = false; - if (response.status === 200) { - if (response.data.is_active) { - $state.go('app.dashboard.overview'); - } else { - $state.go('app.resend_activation'); - } - } - }) - .catch(function (error) { - $rootScope.ice.loader.show = false; - $log.error(error); - }); - }; - - vm.addNewChoice = function () { - var newItemNo = vm.choices.length + 1; - vm.choices.push({ 'id': newItemNo }); - }; - - vm.removeChoice = function () { - var lastItem = vm.choices.length - 1; - vm.choices.splice(lastItem); - }; - - init(); - } -})(); - diff --git a/d2ice.att.io/app/main/activation/inviteMembers/inviteMembers.html b/d2ice.att.io/app/main/activation/inviteMembers/inviteMembers.html deleted file mode 100755 index 60fa01d5..00000000 --- a/d2ice.att.io/app/main/activation/inviteMembers/inviteMembers.html +++ /dev/null @@ -1,72 +0,0 @@ - - - -
- -
- -
- -
-
-
-
-
-
- -
- Email is a required field. - Enter a valid email. -
-
-
-
- Remove -
-
-
- - Invite another team member - - - -
-
-
diff --git a/d2ice.att.io/app/main/activation/inviteMembers/inviteMembers.less b/d2ice.att.io/app/main/activation/inviteMembers/inviteMembers.less deleted file mode 100755 index 9eb02dc3..00000000 --- a/d2ice.att.io/app/main/activation/inviteMembers/inviteMembers.less +++ /dev/null @@ -1,86 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -.inviteMembers { - - .inviteMembers-title { - height: 130px; - display: flex; - flex-direction: column; - align-items: center; - justify-content: flex-start; - h1 {.p_24; margin: 20px 0 10px 0;} - h2 {.p_16_m; margin: 0;} - } - - .add-button { - &:after { - .sprite; - .sprite.add; - display: block; - } - } - - .remove-button { - width:100px; - height:40px; - line-height:20px; - vertical-align:middle; - padding-left:10px; - float:left; - } - - .inviteMembers-form { - margin-top: 20px; - } - - .btn { - width: 100%; - } - - .btn-primary { - border: 1px solid #8799A3; - border-radius: 6px; - background: #1E79B0; /* For browsers that do not support gradients */ - background: -webkit-linear-gradient(#1E79B0, #62ADD5); /* For Safari 5.1 to 6.0 */ - background: -o-linear-gradient(#1E79B0, #62ADD5); /* For Opera 11.1 to 12.0 */ - background: -moz-linear-gradient(#1E79B0, #62ADD5); /* For Firefox 3.6 to 15 */ - background: linear-gradient(#1E79B0, #62ADD5); /* Standard syntax (must be last) */ - } - -} diff --git a/d2ice.att.io/app/main/activation/inviteMembers/inviteMembers.module.js b/d2ice.att.io/app/main/activation/inviteMembers/inviteMembers.module.js deleted file mode 100755 index 61d8f1f0..00000000 --- a/d2ice.att.io/app/main/activation/inviteMembers/inviteMembers.module.js +++ /dev/null @@ -1,67 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - 'use strict'; - - angular - .module('ice.activation.inviteMembers', []) - .config(config); - - function config($stateProvider) { - - $stateProvider - .state('app.inviteMembers', { - url : '/inviteMembers', - views : { - 'main@': { - templateUrl: 'core/layouts/full-page-with-header/full-page-with-header.html', - controller : 'MainController as vm' - }, - 'content@app.inviteMembers': { - templateUrl: 'main/activation/inviteMembers/inviteMembers.html', - controller : 'InviteMembers as vm' - } - }, - bodyClass: 'inviteMembers' - }); - - } - -})(); diff --git a/d2ice.att.io/app/main/activation/login/login.controller.js b/d2ice.att.io/app/main/activation/login/login.controller.js deleted file mode 100755 index 9ed5f1be..00000000 --- a/d2ice.att.io/app/main/activation/login/login.controller.js +++ /dev/null @@ -1,119 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - 'use strict'; - - angular - .module('ice.activation.login') - .controller('LoginController', ["$state", "usersService", "$log", "$rootScope", "$location", "toastService", - "$stateParams", LoginController]); - - function LoginController($state, usersService, $log, $rootScope, $location, toastService, $stateParams) { - var vm = this; - vm.data = {}; - $rootScope.headerTitle = "Login"; - $rootScope.headerSubTitle = "Please use the form below to login"; - usersService.resetUserData(); - var t=""; - - if ($state.params.message){ - toastService.setToast($state.params.message, 'danger'); - $log.warn($state.params.message); - } - - if ($location.search().t != undefined){ - t = "token"+$location.search().t - } - - vm.data.invitation = $location.search().invitation; - - vm.submitForm = function () { - $rootScope.ice.loader.show = true; - usersService.login(JSON.stringify(vm.data), t) - .then(function (response) { - if (response.status === 200) { - $rootScope.ice.loader.show = false; - - usersService.setUserActivationSuccess($state.params.activation_success); - - if(response.data.isResetPwdFlow!=undefined && response.data.isResetPwdFlow==true){ - $state.go("app.updatePassword"); - } - else{ - // This is a workaround to remove slash at the beginning. - // The slash is there because the ui-router does not support optional - // params in URL address, and I used regex: - // url: '/login{enggement_uuid: (?:/[^/]+)?}' and the value returned for engagement_uuid - // contains slash at the start. - var engagement_uuid = $state.params.engagement_uuid; - if (response.data.eng_uuid != undefined) - engagement_uuid = response.data.eng_uuid; - - if (engagement_uuid){ - engagement_uuid = engagement_uuid.replace('/',''); - $state.go("app.dashboard.overview", {"engagement_uuid": engagement_uuid}); - } else { - $state.go("app.dashboard.dashboard"); - } - } - } - }) - .catch(function (error) { - if(error && error.message && error.message.detail) { - toastService.setToast(error.message.detail, 'danger'); - } else { - toastService.setToast(error.message, 'danger'); - } - - $rootScope.ice.loader.show = false; - $log.error(error.message); - if(error.status===403){ // The server will return 403 if the user.is_active==false - $log.error('User is not active, redirecting to resend_activation page'); - $state.go("app.resend_activation", {"message": "Please activate your account first"}); - } - if(error.status===302){ // The server will return 302 if the temporary password has expired - $log.error('Temporary password has expired, redirecting to reset_password page'); - $state.go('app.resetPassword', {"message":"Your temporary password has expired, please" + - " generate a new one"}); - } - }); - }; - } -})(); diff --git a/d2ice.att.io/app/main/activation/login/login.html b/d2ice.att.io/app/main/activation/login/login.html deleted file mode 100755 index d095fda1..00000000 --- a/d2ice.att.io/app/main/activation/login/login.html +++ /dev/null @@ -1,90 +0,0 @@ - - - -
- -
-
- -
-
- -
diff --git a/d2ice.att.io/app/main/activation/login/login.less b/d2ice.att.io/app/main/activation/login/login.less deleted file mode 100755 index 9dd6a9f7..00000000 --- a/d2ice.att.io/app/main/activation/login/login.less +++ /dev/null @@ -1,109 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -.login { - - .login-form { - margin-top: 20px; - } - - .btn { - width: 100%; - } - - .btn-primary { - border: 1px solid #8799A3; - border-radius: 6px; - background: #1E79B0; /* For browsers that do not support gradients */ - background: -webkit-linear-gradient(#1E79B0, #62ADD5); /* For Safari 5.1 to 6.0 */ - background: -o-linear-gradient(#1E79B0, #62ADD5); /* For Opera 11.1 to 12.0 */ - background: -moz-linear-gradient(#1E79B0, #62ADD5); /* For Firefox 3.6 to 15 */ - background: linear-gradient(#1E79B0, #62ADD5); /* Standard syntax (must be last) */ - } - - a.register { - text-decoration: underline; - float: right; - margin: 10px 0 0 0; - } - - - .leftLink - { - padding-top:5px; - width:50%; - text-align:left; - float:left; - - a, - a:hover, - a:active, - a:focus - { - .m_14_r; - cursor: pointer; - } - - a{ - text-decoration:underline; - } - } - - .rightLink - { - font-size:14px; - padding-top:5px; - width:50%; - text-align:right; - float:left; - - a, - a:hover, - a:active, - a:focus - { - .m_14_r; - cursor: pointer; - } - - a{ - text-decoration:underline; - } - } - -} diff --git a/d2ice.att.io/app/main/activation/login/login.module.js b/d2ice.att.io/app/main/activation/login/login.module.js deleted file mode 100755 index 9953063b..00000000 --- a/d2ice.att.io/app/main/activation/login/login.module.js +++ /dev/null @@ -1,68 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - 'use strict'; - - angular - .module('ice.activation.login', []) - .config(config); - - function config($stateProvider) { - - $stateProvider - .state('app.login', { - url: '/login{engagement_uuid: (?:/[^/]+)?}', - views: { - 'main@': { - templateUrl: 'core/layouts/full-page-with-header/full-page-with-header.html', - controller: 'MainController as vm' - }, - 'content@app.login': { - templateUrl: 'main/activation/login/login.html', - controller: 'LoginController as vm' - } - }, - params: {message: null, activation_success: undefined}, - bodyClass: 'login' - }); - - } - -})(); diff --git a/d2ice.att.io/app/main/activation/register/register.controller.js b/d2ice.att.io/app/main/activation/register/register.controller.js deleted file mode 100755 index e4e525a7..00000000 --- a/d2ice.att.io/app/main/activation/register/register.controller.js +++ /dev/null @@ -1,122 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - 'use strict'; - - angular - .module('ice.activation.register') - .controller('RegisterController', ["usersService", "$state", "$location", "vfService", "$rootScope", - "toastService", "$log",'$i18next', RegisterController]); - - function RegisterController(usersService, $state, $location, vfService, $rootScope, toastService, $log,$i18next) { - - var vm = this; - vm.data = {}; - var programName = $i18next.t('program.name'); - var init = function() - { - - $rootScope.headerTitle = "Sign Up"; - $rootScope.headerSubTitle = "Please use the form to Sign Up to " +programName; - - usersService.resetUserData(); - - var companyParam = $location.search().company; - - vm.data.full_name = $location.search().full_name; - vm.data.email = $location.search().email; - vm.data.phone_number = $location.search().phone_number; - - $rootScope.ice.loader.show = true; - vfService.getCompanies() - .then(function (response) { - $rootScope.ice.loader.show = false; - if (response.status === 200){ - vm.vendors = response.data; - if (companyParam != undefined) { - angular.forEach(vm.vendors, function (value, key) { - if (value.uuid === companyParam) { - vm.data.company = value.name; - }; - }); - } - } - }) - .catch(function (error){ - $rootScope.ice.loader.show = false; - $log.error(error); - }); - }; - - vm.submitForm = function () { - if(grecaptcha.getResponse().length != 0) - { - $rootScope.ice.loader.show = true; - if (vm.data.regular_email_updates != true) { - vm.data.regular_email_updates = false; - } - vm.data.inviter_uuid = $location.search().inviter_uuid; - vm.data.eng_uuid = $location.search().eng_uuid; - vm.data.invitation = $location.search().invitation; - vm.data.is_contact_user = ($location.search().is_contact_user === "true"); - vm.email = $location.search().email; - - usersService.register(vm.data) - .then(function (response) { - $rootScope.ice.loader.show = false; - if (response.status === 200) { - $state.go('app.resend_activation'); - } - }) - .catch(function (error) { - toastService.setToast(error.message, 'danger'); - $rootScope.ice.loader.show = false; - $log.error(error.message); - }); - $rootScope.PleaseFill = ""; - } else { - toastService.setToast('Please fill CAPTCHA!', 'danger'); - $log.warn("Please fill CAPTCHA!"); - } - }; - - init(); - } -})(); diff --git a/d2ice.att.io/app/main/activation/register/register.html b/d2ice.att.io/app/main/activation/register/register.html deleted file mode 100755 index b6af8ce4..00000000 --- a/d2ice.att.io/app/main/activation/register/register.html +++ /dev/null @@ -1,127 +0,0 @@ - - - -
- -
-
- -
-
- - -
- Please select a company -
-
- -
- - -
- Name is a required field. - Full Name is too short. - Full Name is too long. - Full Name must be alphanumeric -
-
- -
- - -
- Email is a required field. - Enter a valid email. -
-
- -
- - -
- Phone is a required field. - Phone is too short. - Phone is too long. - Phone format invalid -
-
- -
- - -
- Password is a required field. - Password is too short. - Password is too long. -
-
- -
-  I agree to receive regular email updates from AT&T {{'program.name' | i18next}}. -
- - - -
- -
-
- - {{PleaseFill}} - - - - -
-
-
- -
diff --git a/d2ice.att.io/app/main/activation/register/register.less b/d2ice.att.io/app/main/activation/register/register.less deleted file mode 100755 index 7df0cce9..00000000 --- a/d2ice.att.io/app/main/activation/register/register.less +++ /dev/null @@ -1,100 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -.register { - .phone-place-holder::-webkit-input-placeholder { - opacity: 0.7; - } - .phone-place-holder::-moz-placeholder { - opacity: 0.7; - } - .phone-place-holder:-moz-placeholder { - opacity: 0.7; - } - .phone-place-holder:-ms-input-placeholder { - opacity: 0.7; - } - - .register-form { - margin-top: 20px; - } - - .btn { - width: 100%; - } - - .btn-primary { - border: 1px solid #8799A3; - border-radius: 6px; - background: #1E79B0; /* For browsers that do not support gradients */ - background: -webkit-linear-gradient(#1E79B0, #62ADD5); /* For Safari 5.1 to 6.0 */ - background: -o-linear-gradient(#1E79B0, #62ADD5); /* For Opera 11.1 to 12.0 */ - background: -moz-linear-gradient(#1E79B0, #62ADD5); /* For Firefox 3.6 to 15 */ - background: linear-gradient(#1E79B0, #62ADD5); /* Standard syntax (must be last) */ - } - - a, - a:hover, - a:active, - a:focus - { - .m_14_r; - cursor: pointer; - } - - a.login, a.login:hover{ - .m_14_r; - float: right; - margin: 5px 0 0 0; - } - - a.login{ - text-decoration: underline; - } - - .form-group { - a { - font-size:14px; - text-decoration:underline; - - &:hover { - font-size:14px; - } - } - } -} diff --git a/d2ice.att.io/app/main/activation/register/register.module.js b/d2ice.att.io/app/main/activation/register/register.module.js deleted file mode 100755 index e463ceb1..00000000 --- a/d2ice.att.io/app/main/activation/register/register.module.js +++ /dev/null @@ -1,67 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - 'use strict'; - - angular - .module('ice.activation.register', []) - .config(config); - - function config($stateProvider) { - - $stateProvider - .state('app.register', { - url : '/signUp', - views : { - 'main@': { - templateUrl: 'core/layouts/full-page-with-header/full-page-with-header.html', - controller : 'MainController as vm' - }, - 'content@app.register': { - templateUrl: 'main/activation/register/register.html', - controller : 'RegisterController as vm' - } - }, - bodyClass: 'register' - }); - - } - -})(); diff --git a/d2ice.att.io/app/main/activation/resendActivation/resendActivation.controller.js b/d2ice.att.io/app/main/activation/resendActivation/resendActivation.controller.js deleted file mode 100755 index 374d9005..00000000 --- a/d2ice.att.io/app/main/activation/resendActivation/resendActivation.controller.js +++ /dev/null @@ -1,79 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - 'use strict'; - angular - .module('ice.activation.resendActivation') - .controller('resendActivationController', ["usersService", "toastService", "$rootScope", "$state", "$log", - resendActivationController]); - - function resendActivationController(usersService, toastService, $rootScope, $state, $log) { - var vm = this; - vm.data = []; - - var init = function() { - $rootScope.headerTitle = "Activate Your Account"; - $rootScope.headerSubTitle = "Please follow the instructions below to activate your account."; - - if ($state.params.message){ - toastService.setToast($state.params.message, 'danger'); - } - - vm.activated=false; //True false - vm.showHideMsg = false; - vm.showHideWait = false; - }; - - vm.submitForm = function () { - $rootScope.ice.loader.show = true; - usersService.resendActivationMail() - .then(function (response) { - $rootScope.ice.loader.show = false; - if (response.status === 200) { - } - }) - .catch(function (error) { - $rootScope.ice.loader.show = false; - $log.error(error); - }); - }; - - init(); - } -})(); diff --git a/d2ice.att.io/app/main/activation/resendActivation/resendActivation.html b/d2ice.att.io/app/main/activation/resendActivation/resendActivation.html deleted file mode 100755 index cc2cc91b..00000000 --- a/d2ice.att.io/app/main/activation/resendActivation/resendActivation.html +++ /dev/null @@ -1,61 +0,0 @@ - - - -
- -
-
-
-

- You have successfully created your account! To begin using this site you will need to activate your account via the email we have just sent to your email address. -

- Please note that sometimes activation emails end up in users spam/junk folders, so please check there. -

- If you have not received it, please click the resend the Activation Email button below. -

- - - -
-
-
-
diff --git a/d2ice.att.io/app/main/activation/resendActivation/resendActivation.less b/d2ice.att.io/app/main/activation/resendActivation/resendActivation.less deleted file mode 100755 index 5d2277cb..00000000 --- a/d2ice.att.io/app/main/activation/resendActivation/resendActivation.less +++ /dev/null @@ -1,67 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -.resend-activation { - - .active-form { - margin-top: 20px; - } - - .btn { - width: 100%; - } - - .btn-primary { - border: 1px solid #8799A3; - border-radius: 6px; - background: #1E79B0; /* For browsers that do not support gradients */ - background: -webkit-linear-gradient(#1E79B0, #62ADD5); /* For Safari 5.1 to 6.0 */ - background: -o-linear-gradient(#1E79B0, #62ADD5); /* For Opera 11.1 to 12.0 */ - background: -moz-linear-gradient(#1E79B0, #62ADD5); /* For Firefox 3.6 to 15 */ - background: linear-gradient(#1E79B0, #62ADD5); /* Standard syntax (must be last) */ - } - - .leftLink{ - padding-top:5px; - width:50%; - text-align:left; - float:left; - - } - -} diff --git a/d2ice.att.io/app/main/activation/resendActivation/resendActivation.module.js b/d2ice.att.io/app/main/activation/resendActivation/resendActivation.module.js deleted file mode 100755 index 90a28339..00000000 --- a/d2ice.att.io/app/main/activation/resendActivation/resendActivation.module.js +++ /dev/null @@ -1,68 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - 'use strict'; - - angular - .module('ice.activation.resendActivation', []) - .config(config); - - function config($stateProvider) { - - $stateProvider - .state('app.resend_activation', { - url : '/resendActivation', - views : { - 'main@': { - templateUrl: 'core/layouts/full-page-with-header/full-page-with-header.html', - controller : 'MainController as vm' - }, - 'content@app.resend_activation': { - templateUrl: 'main/activation/resendActivation/resendActivation.html', - controller : 'resendActivationController as vm' - } - }, - params: {message: null}, - bodyClass: 'resend-activation' - }); - - } - -})(); diff --git a/d2ice.att.io/app/main/activation/resetPassword/resetPassword.controller.js b/d2ice.att.io/app/main/activation/resetPassword/resetPassword.controller.js deleted file mode 100755 index 9702c2e4..00000000 --- a/d2ice.att.io/app/main/activation/resetPassword/resetPassword.controller.js +++ /dev/null @@ -1,95 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - 'use strict'; - angular - .module('ice.activation.resetPassword') - .controller('ResetPasswordController', ["$state", "usersService", "toastService", "$rootScope", "$window", - "$log", ResetPasswordController]); - - function ResetPasswordController($state, usersService, toastService, $rootScope, $window,$log) - { - var vm = this; - vm.data = {}; - var ngReq = true; - $rootScope.headerTitle = "Reset Your Password"; - $rootScope.headerSubTitle = "Please follow the instructions below to reset your password"; - - if($state.params.message!=undefined && $state.params.message!=""){ - toastService.setToast($state.params.message, 'danger'); - $rootScope.ice.loader.show = false; - $log.warn($state.params.message); - } - - vm.submitForm = function() - { - $rootScope.ice.loader.show = true; - var jsonEmail = - { - email : vm.data.email - }; - toastService.clearToast() - usersService.sendResetPwdInstructions(jsonEmail) - .then(function (response) { - if (response.status === 200) { - toastService.setToast('An email with detailed instructions on how to reset your password was sent to your Email.', 'success'); - ngReq = false; - vm.data.email = ""; - $rootScope.ice.loader.show = false; - } - else - { - toastService.setToast('Error sending reset password instructions email.', 'danger'); - $rootScope.ice.loader.show = false; - } - }) - .catch(function (error) - { - toastService.setToast(error.message, 'danger'); - $rootScope.ice.loader.show = false; - $log.error(error.message); - }); - }; - - vm.sendMail = function() - { - $window.open("mailto:d2ice@att.com","_self"); - } - } -})(); diff --git a/d2ice.att.io/app/main/activation/resetPassword/resetPassword.html b/d2ice.att.io/app/main/activation/resetPassword/resetPassword.html deleted file mode 100755 index 41d90a69..00000000 --- a/d2ice.att.io/app/main/activation/resetPassword/resetPassword.html +++ /dev/null @@ -1,64 +0,0 @@ - - - -
- -
-
-
-
- - -
- Email is a required field. - Enter a valid email. -
-
- - - - -
-
-
- -
diff --git a/d2ice.att.io/app/main/activation/resetPassword/resetPassword.less b/d2ice.att.io/app/main/activation/resetPassword/resetPassword.less deleted file mode 100755 index 18f79364..00000000 --- a/d2ice.att.io/app/main/activation/resetPassword/resetPassword.less +++ /dev/null @@ -1,84 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -.resetPassword { - - .resetPassword-form { - margin-top: 20px; - } - - .btn { - width: 100%; - } - - .btn-primary { - border: 1px solid #8799A3; - border-radius: 6px; - background: #1E79B0; /* For browsers that do not support gradients */ - background: -webkit-linear-gradient(#1E79B0, #62ADD5); /* For Safari 5.1 to 6.0 */ - background: -o-linear-gradient(#1E79B0, #62ADD5); /* For Opera 11.1 to 12.0 */ - background: -moz-linear-gradient(#1E79B0, #62ADD5); /* For Firefox 3.6 to 15 */ - background: linear-gradient(#1E79B0, #62ADD5); /* Standard syntax (must be last) */ - } - - a.register { - text-decoration: underline; - float: right; - margin: 10px 0 0 0; - } - - .leftLink { - width:100%; - padding-top:5px; - text-align:left; - - a, - a:hover, - a:active, - a:focus - { - .m_14_r; - cursor: pointer; - } - - a{ - text-decoration:underline; - } - } - -} diff --git a/d2ice.att.io/app/main/activation/resetPassword/resetPassword.module.js b/d2ice.att.io/app/main/activation/resetPassword/resetPassword.module.js deleted file mode 100755 index 792e51dd..00000000 --- a/d2ice.att.io/app/main/activation/resetPassword/resetPassword.module.js +++ /dev/null @@ -1,68 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - 'use strict'; - - angular - .module('ice.activation.resetPassword',[]) - .config(config); - - function config($stateProvider) { - - $stateProvider - .state('app.resetPassword', { - url: '/resetPassword', - views: { - 'main@': { - templateUrl: 'core/layouts/full-page-with-header/full-page-with-header.html', - controller: 'MainController as vm' - }, - 'content@app.resetPassword': { - templateUrl: 'main/activation/resetPassword/resetPassword.html', - controller: 'ResetPasswordController as vm' - } - }, - params: {message: null}, - bodyClass: 'resetPassword' - }); - - } - -})(); diff --git a/d2ice.att.io/app/main/activation/terms/terms.controller.js b/d2ice.att.io/app/main/activation/terms/terms.controller.js deleted file mode 100755 index 9eabdc25..00000000 --- a/d2ice.att.io/app/main/activation/terms/terms.controller.js +++ /dev/null @@ -1,56 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - 'use strict'; - - angular - .module('ice.activation.terms') - .controller('TermsController', ["$rootScope", TermsController]); - - function TermsController($rootScope) - { - var vm = this; - vm.data = {}; - - $rootScope.headerTitle = "Terms of Service"; - $rootScope.headerSubTitle = "Last updated 2016-06-10"; - } - -})(); diff --git a/d2ice.att.io/app/main/activation/terms/terms.html b/d2ice.att.io/app/main/activation/terms/terms.html deleted file mode 100755 index fd39eb99..00000000 --- a/d2ice.att.io/app/main/activation/terms/terms.html +++ /dev/null @@ -1,105 +0,0 @@ - -
- -
-
- -
- -

The {{'serviceProvider.name' | i18next}} Domain 2 ICE ({{'program.name' | i18next}}) are maintained by {{'serviceProvider.name' | i18next}} Foundry (“{{'serviceProvider.name' | i18next}}”) for use by any one interested in incubating or validating their Virtual Function (VF) against our Domain 2.0 architecture. When you or any other person, employee or representative authorized by you (collectively referred to as “You” or “Your”) use the {{'serviceProvider.name' | i18next}} Domain 2.0 ICE, You accept the Terms and Conditions stated below (the “Terms and Conditions”).  Do not use the {{'program.name' | i18next}} if You do not agree with these Terms and Conditions.

- -
    - -
  1. Content Ownership. The {{'serviceProvider.name' | i18next}} Domain 2.0 ICE (“{{'program.name' | i18next}}”) provide You access to technical resources, such as product, service, and network information, and community forums and contain trademarks, service marks, logos, copyrights, other intellectual property, including, without limitation, text, data, graphics, audio, video, and product, service, network, process, and technical descriptions and information (collectively, the "Content") owned by, licensed to, and/or supplied to {{'serviceProvider.name' | i18next}}. As between You, {{'serviceProvider.name' | i18next}} its third party Content licensors and suppliers, {{'serviceProvider.name' | i18next}} or such third party Content licensors and suppliers are the sole owners of all Content on the {{'program.name' | i18next}}, including, without limitation, all copyrights, trademarks, service marks, patent, trade secret, and other intellectual property rights thereto. {{'serviceProvider.name' | i18next}} is the sole owner of the {{'program.name' | i18next}}. The {{'program.name' | i18next}} may contain links and references to third-party websites, which are provided for the convenience.  {{'serviceProvider.name' | i18next}} is not responsible for the content or information contained on such third party websites

  2. - -
  3. Account Registration. In order to use certain features of the {{'program.name' | i18next}}, You will be asked to create a user Account and password (an "Account") and provide certain information ("Registration Data"). You agree: (i) that the Registration Data You provide will be true, accurate, current and complete at the time You provide it; (ii) to maintain and update such Registration Data to keep it true, accurate, current and complete; and (iii) that {{'serviceProvider.name' | i18next}} may contact You and require You to confirm some or all of Your Registration Data before using certain features of the {{'program.name' | i18next}}. You are responsible for maintaining the confidentiality of Your Account credentials and for all activities, charges and/or liabilities that occur from Your Account, whether or not authorized by You. You must immediately notify {{'serviceProvider.name' | i18next}} of any unauthorized use of Your Account credentials or any other breach of security of which You become aware. We will not be liable for any loss or damage arising from Your failure to comply with this section.

  4. - -
  5. Limited License. Subject to Your compliance with these Terms and Conditions, and in consideration of Your promises reflected herein, {{'serviceProvider.name' | i18next}} grants to You a limited, non-exclusive, revocable, non-transferable license to access, view and use the {{'program.name' | i18next}}, including the Content contained therein, subject to any access restrictions or fees {{'serviceProvider.name' | i18next}} may establish from time to time. You may download, view, copy and print the Content solely for Your own use; provided that, without the express prior written permission of {{'serviceProvider.name' | i18next}}, such Content may not be adapted, modified, published, displayed, transmitted, transferred, shared with or disseminated to anyone for any purpose which is inconsistent with the business purpose of these {{'program.name' | i18next}}, facilitates unfair competition with these {{'program.name' | i18next}}, or exploits these {{'program.name' | i18next}} in any way or which is inappropriate under applicable US or international law. You are not permitted to distribute, assign, transfer or sublicense any right to use the {{'program.name' | i18next}}, either in whole or in part, to any third party. 

  6. - -
  7. Use Restrictions. Notwithstanding the foregoing license grant, You may not resell, redistribute, broadcast or transfer the Content or use the Content in a searchable, machine-readable database or file except through the authorized access to these {{'program.name' | i18next}}. Unless separately and specifically authorized in writing by {{'serviceProvider.name' | i18next}}, You may not rent, lease, sublicense, distribute, transfer, copy, reproduce, publicly display, publish, adapt, modify, create derivative works, mine, harvest, collect, store or time-share these {{'program.name' | i18next}}, any part thereof, or any of the Content received or accessed therefrom to or through any person or entity.  Access to any restricted area of the {{'program.name' | i18next}} without the authorization of {{'serviceProvider.name' | i18next}} is prohibited. You agree to use these {{'program.name' | i18next}}, including, without limitation, any restricted area, and the Content contained herein for lawful purposes only. You may not utilize logos, marks, or other distinctive graphics, video, or audio material in Your links, without {{'serviceProvider.name' | i18next}}’s express written permission, which {{'serviceProvider.name' | i18next}} may withhold in its discretion. You may not link in any manner reasonably likely to (i) imply affiliation with or endorsement or sponsorship by {{'serviceProvider.name' | i18next}}, (ii) cause confusion, mistake, or deception, (iii) dilute {{'serviceProvider.name' | i18next}}'s trademarks or service marks, or (iv) otherwise violate state or federal law. In addition, You may only link to the home page of the {{'serviceProvider.name' | i18next}} {{'program.name' | i18next}} unless {{'serviceProvider.name' | i18next}} authorizes You to do otherwise. You may not use spiders, robots, data mining techniques or other automated devices or programs to catalog, download or programs to catalog, download or otherwise reproduce, store or distribute Content available on the {{'serviceProvider.name' | i18next}} {{'program.name' | i18next}}.  You may not use any such automated means to manipulate the {{'serviceProvider.name' | i18next}} {{'program.name' | i18next}} or attempt to exceed the limited authorization and access granted to You under these Terms and Conditions.  You may not resell use of, or access to, the {{'serviceProvider.name' | i18next}} {{'program.name' | i18next}} to any third party. - -

  8. Forums. {{'serviceProvider.name' | i18next}} may make forums available within the {{'serviceProvider.name' | i18next}} {{'program.name' | i18next}} to help developers request and provide development help and share tips.  By submitting comments, posts, content, information, or messages (“Posts”) to such forums, You represent and warrant that: (i) You own and control all rights to the content in Your Posts, that You transmit or otherwise make available, or You have the lawful right to distribute, reproduce, and provide such content; (ii) the Posts are accurate and not misleading; and (iii) providing such Posts does not: (a) violate this Agreement or (b) violate the rights of, or cause any injury to, any person or entity. Further, You grant us a royalty-free, perpetual, irrevocable license to use such Posts.  Also, You understand and agree that {{'serviceProvider.name' | i18next}} retains the right to reformat, excerpt or translate any Posts submitted by You. You understand and agree that {{'serviceProvider.name' | i18next}} will not be liable for any Posts publicly posted or privately transmitted on these Web Sites. You understand and agree that we cannot guarantee the identity, statements or representations of any other users with whom You may interact in the course of using these Web Sites. Additionally, we cannot guarantee that any Posts obtained from our users or otherwise, is accurate, complete, authentic, current or reliable. Your use of the forums, if any, will further be governed by the {{'serviceProvider.name' | i18next}} Community Rules available for review within the forums.  Those rules are incorporated into these Terms and Conditions by this reference.  Users should be aware that forums and discussion groups are public and not private communications. Further, users acknowledge that Postings by other users are not endorsed by {{'serviceProvider.name' | i18next}}, and that such Posts shall not be considered as having been reviewed, screened or approved by {{'serviceProvider.name' | i18next}}.

    - -

    You agree not to submit or transmit any Post that (a) is libelous, defamatory, vulgar or obscene, pornographic, sexually offensive or explicit, harmful or harassing, threatening, hateful, racially, culturally, ethnically or otherwise objectionable or offensive, discriminatory or abusive; (b) violates any law or regulation or the rights of others; (c) infringes any copyright, trademark or other intellectual property right, or any proprietary or personal rights or confidentiality obligations of others; or (d)  is a solicitation for funding, advertising or solicitation for goods or services; or (e) (iv) which is used to unlawfully collude against another person in restraint of trade and competition.  You are solely responsible and liable for any such activity, behavior, use and conduct.  This means that You, and not {{'serviceProvider.name' | i18next}} or its, suppliers, or licensors, are entirely responsible for all Posts You submit or transmit.  {{'serviceProvider.name' | i18next}} reserves the right to filter, edit, or control all Your Posts and does not guarantee the accuracy, integrity or quality of Your Post.  Under no circumstances will {{'serviceProvider.name' | i18next}} or its suppliers, or licensors be liable in any way to You for any Posts, including, but not limited to, any errors or omissions in any content, information, or messages, or any loss or damage of any kind incurred as a result of the use of any such content, information or messages posted, emailed, transmitted.  You shall be solely liable for any damages resulting from any infringement of copyright, trademark or other proprietary right, or any other harm resulting from Your Post to a forum.  {{'serviceProvider.name' | i18next}} does not and cannot review every Post by You on forums and is not responsible for any Post.  {{'serviceProvider.name' | i18next}} reserves the right to delete, move or edit, at its sole discretion, any Post that does not comply with this paragraph. You acknowledge that any Post may be edited, removed, modified, published, transmitted and displayed by {{'serviceProvider.name' | i18next}}.   {{'serviceProvider.name' | i18next}} is under no obligation to use any Post you transmit or submit. You agree that {{'serviceProvider.name' | i18next}} is not under any obligation of confidentiality, express or implied, with respect to Your Post.

    - -

    Any Post, comments, content, information or materials sent to us, including, but not limited to, data,  ideas, answers, questions, comments, suggestions, feedback or the like,  (collectively, "Feedback"), is non-confidential and shall become our sole property. We shall have no obligation to You of any kind, monetary or non-monetary, with respect to such Feedback and shall be free to reproduce, use, disclose, exhibit, display, transform, create derivative works from and distribute the Feedback to others without limitation or obligation.  You acknowledge that {{'serviceProvider.name' | i18next}} has absolutely no liability for alleged infringement or misappropriation in connection with such information/Post. The submission of such information/Post to {{'serviceProvider.name' | i18next}} will in no way prevent, or require, the purchase, manufacture or use of any products, services, plans or ideas by {{'serviceProvider.name' | i18next}} for any purpose whatsoever.

  9. - -
  10. Consent to Monitoring and Disclosure. You acknowledge that {{'serviceProvider.name' | i18next}} reserves the right, and may from time to time, monitor Your access and use of the {{'program.name' | i18next}} and Your Posts. {{'serviceProvider.name' | i18next}}, at its sole discretion and without further notice to You, may (but is not obligated to) review, censor or prohibit the transmission or receipt of any Post which {{'serviceProvider.name' | i18next}} deems inappropriate or that violates these Terms or Conditions or any {{'serviceProvider.name' | i18next}} Policy. During monitoring, Posts may be examined, recorded, copied, and used for authorized purposes. Your use of the {{'program.name' | i18next}}, authorized or unauthorized, constitutes consent to such monitoring.

  11. - -
  12. Copyright Complaints. {{'serviceProvider.name' | i18next}} respects the intellectual property rights of others. If You believe that Your work has been copied and has been posted, stored or transmitted by or through the {{'program.name' | i18next}} in a way that constitutes copyright infringement, please submit a notification pursuant to the Digital Millennium Copyright Act ("DMCA") in accordance with the process detailed at http://www.att.net/general-info/claims.html and directed to:  Designated Agent: Manager of Security & Copyright Infringement, 1800 Perimeter Park Drive, Suite 100, Morrisville, NC 27560, Phone: (919) 319-5737, Fax: (919) 319-8154, E-mail: copyright@att.com.

  13. - -
  14. Privacy. It is the policy of {{'serviceProvider.name' | i18next}} to respect the privacy of its customers and any persons who visit its web sites.  For this reason, {{'serviceProvider.name' | i18next}} has established a Privacy Policy, the terms of which are available for Your review at:  www.att.com/privacy.  Subject to these Terms and Conditions, the relevant provisions of said Privacy Policy are incorporated by this reference.

  15. - -
  16. Subject to Change. {{'serviceProvider.name' | i18next}} reserves the right to modify these Terms and Conditions, the Privacy Statement, and the business policies and practices associated with the use of these {{'program.name' | i18next}}. Such modifications may include, without limitation, implementation of user priorities, implementation of rules for use by You, and discontinuance of functional aspects of the {{'program.name' | i18next}}, and changes in prices. {{'serviceProvider.name' | i18next}} may also add, withdraw or modify any Content contained within these {{'program.name' | i18next}} at any time in its sole discretion.  Your use of these {{'program.name' | i18next}} is Your agreement to be bound by such changes.

  17. - -
  18. Term. The period during which You are entitled to use the {{'serviceProvider.name' | i18next}} {{'program.name' | i18next}} (“Term”) begins on the date upon which You agree to these Terms and Conditions. {{'serviceProvider.name' | i18next}} may revoke or terminate the License granted in its sole discretion at any time. Without limiting the generality of the foregoing, we may revoke or terminate the License if You: (i) breach any obligation in these Terms and Conditions or in any other agreement between You and us, (ii) violate any policy or guideline applicable to the {{'program.name' | i18next}}, Content, or any other {{'serviceProvider.name' | i18next}} service, or (iii) use these {{'program.name' | i18next}} or Content specifically authorized in these Terms and Conditions, without our prior written permission.   Additionally, either You or {{'serviceProvider.name' | i18next}} may terminate this License at any time without cause, but termination of this License will not relieve You of the obligations under these Terms and Conditions that You assumed by using these {{'program.name' | i18next}}.

  19. - -
  20. Termination of {{'serviceProvider.name' | i18next}} Web Site and Service. {{'serviceProvider.name' | i18next}} may discontinue, terminate, suspend or shut down the {{'serviceProvider.name' | i18next}} Web Site, {{'program.name' | i18next}}, particular {{'program.name' | i18next}}, and/or remove Content at any time and for any or no reason. We are not obligated to give notice of such discontinuation, termination, suspension, removal or shut-down.  Your License shall automatically terminate, if {{'serviceProvider.name' | i18next}} discontinues, terminates, suspends or shut downs the {{'serviceProvider.name' | i18next}} Web Site.

  21. - -
  22. Application Agreement(s).  These Terms and Conditions relate solely to Your access to, and use of, the {{'program.name' | i18next}} and Content.  No commitments, obligations, terms or restrictions are imposed upon either party with respect to any Application(s) by virtue of these Terms and Conditions.  Any agreements between You and {{'serviceProvider.name' | i18next}} regarding Applications will be governed by a separate agreement(s).

  23. - -
  24. Trademarks. The {{'serviceProvider.name' | i18next}} name, trade names, trademarks and logo, as well as all related product and service names, design marks and slogans, are the property of {{'serviceProvider.name' | i18next}}, and may not be used by You for any purpose unless specifically authorized in writing, and in advance, by {{'serviceProvider.name' | i18next}}.  All other names, marks and logos are the names, marks and logos of their respective owners.  All right, title and interest, including, without limitation, all copyrights, trademarks and other intellectual property rights, in the {{'program.name' | i18next}} and Content belong to {{'serviceProvider.name' | i18next}}, its licensors, or suppliers.

  25. - -
  26. Connectivity; Delay in Service. You are responsible for all costs and expenses associated with establishing and maintaining Your connection to these {{'program.name' | i18next}}. Neither {{'serviceProvider.name' | i18next}}, nor any of its licensors or suppliers (including its and their officers, directors, managers, employees, affiliates, agents, or representatives) shall be liable for any loss or liability resulting, directly or indirectly, from delays or interruptions due to electric or mechanic equipment failures,  interconnection problems, defects, weather, strikes, walkouts, fire, acts of nature, riots, armed conflicts, acts of war or other like causes. {{'serviceProvider.name' | i18next}} shall have no responsibility to provide You access to these {{'program.name' | i18next}} during any such interruption.

  27. - -
  28. Limitation of Liability. YOU ASSUME FULL RESPONSIBILITY FOR IMPLEMENTING SUFFICIENT PROCEDURES AND CHECKS TO SATISFY YOUR REQUIREMENTS FOR ACCURACY AND SUITABILITY OF THESE {{'program.name' | i18next}} AND THE CONTENT, AND FOR MAINTAINING ANY MEANS WHICH YOU MAY REQUIRE FOR THE RECONSTRUCTION OF LOST DATA OR SUBSEQUENT MANIPULATIONS OR ANALYSES OF THE CONTENT PROVIDED UNDER THIS AGREEMENT. YOU ACKNOWLEDGE AND AGREE THAT {{'serviceProvider.name' | i18next}}, ITS AFFILIATES, LICENSORS, AND SUPPLIERS (INCLUDING ITS OR THEIR OFFICERS, DIRECTORS, MANAGERS, EMPLOYEES, AFFILIATES, AGENTS,  AND REPRESENTATIVES (“LIMITED LIABILITY PARTIES” FOR THE REMAINDER OF THIS PARAGRAPH) WILL NOT BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM AN INABILITY TO ACCESS OR USE THE {{'program.name' | i18next}} AND/OR CONTENT AVAILABLE ON OR ACCESSIBLE THROUGH THE {{'program.name' | i18next}}. THESE LIMITATIONS ON THE LIABILITY OF THE LIMITED LIABILITY PARTIES APPLY WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE, STRICT LIABILITY OR OTHER TORTIOUS ACTION ARISING OUT OF OR IN CONNECTION WITH THE CONTENT AVAILABLE ON OR ACCESSIBLE THROUGH THE {{'program.name' | i18next}} AND THE LIMITATIONS APPLY EVEN IF LIMITED LIABILITY PARTIES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.  YOU AGREE AND ACKNOWLEDGE THAT THESE LIMITATIONS ON THE LIABILITY OF LIMITED LIABILITY PARTIES REFLECT A REASONABLE ALLOCATION OF RISK AND THAT SUCH ALLOCATION OF RISK IS A SIGNIFICANT INDUCMENT FOR {{'serviceProvider.name' | i18next}} TO ALLOW YOU TO ACCESS AND USE THE {{'program.name' | i18next}}.  IN NO EVENT WILL THE AGGREGATE, TOTAL LIABILITY OF THE LIMITED LIABILITY PARTIES FOR DAMAGES, INJURY, LOSSES AND CAUSES OF ACTION, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM OR RELATING TO ACCESS OR USE OF THE {{'program.name' | i18next}} EXCEED TEN DOLLARS ($10.00). BECAUSE SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OR EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES, SOME OF THE ABOVE LIMITATIONS MAY NOT APPLY IN THOSE JURISDICTIONS. IN SUCH JURISDICTIONS, THE LIMITED LIABILITY PARTIES¿ LIABILITY IS LIMITED TO THE GREATEST EXTENT PERMITTED BY LAW.

  29. - -
  30. Disclaimer of Warranties. BROWSING AND USE OF THE {{'program.name' | i18next}} AND CONTENT IS AT YOUR OWN RISK. YOU ACKNOWLEDGE THAT INACCURACIES MAY OCCUR, AND THAT {{'serviceProvider.name' | i18next}} AND ITS LICENSORS AND SUPPLIERS DO NOT WARRANT THE ACCURACY OR SUITABILITY OF THE {{'program.name' | i18next}} AND CONTENT FOR ANY PURPOSE. FURTHERMORE, THE {{'program.name' | i18next}} AND CONTENT MAY CONTAIN LINKS TO THIRD PARTY WEBSITES NOT UNDER THE CONTROL OR OPERATION OF {{'serviceProvider.name' | i18next}}. {{'serviceProvider.name' | i18next}} PROVIDES ANY SUCH LINKS ONLY AS A CONVENIENCE FOR YOU AND IS NOT RESPONSIBLE FOR ANY SUCH LINKED SITES, THE CONTENT ON ANY SUCH LINKED SITES OR A SITE LINKED TO OR FROM ANY SUCH LINKED SITES. YOU ASSUME ALL RESPONSIBILITY AND RISK FOR USE OF THE {{'program.name' | i18next}}, THE CONTENT AND THE INTERNET GENERALLY. ACCESS TO AND/OR USE OF THE {{'program.name' | i18next}} AND CONTENT PROVIDED ON OR AVAILABLE THROUGH THE {{'program.name' | i18next}} ARE PROVIDED OR MADE AVAILABLE ON AN ¿AS IS¿ AND ¿AS AVAILABLE¿ BASIS WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF TITLE, NON-INFRINGEMENT OR IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. NO ADVICE OR INFORMATION GIVEN BY {{'serviceProvider.name' | i18next}}, ITS AFFILIATES OR IT LICENSORS, OR SUPPLIERS WILL CREATE ANY WARRANTY. FURTHER, NEITHER {{'serviceProvider.name' | i18next}} NOR ITS AFFILIATES, LICENSORS, OR SUPPLIERS WARRANT THAT CONTENT PROVIDED ON OR AVAILABLE THROUGH THE {{'program.name' | i18next}} WILL BE UN-INTERRUPTABLE, ACCURATE, COMPLETE, USEFUL, FUNCTIONAL OR ERROR FREE, OR THAT CONTENT OR MATERIAL PROVIDED ON OR AVAILABLE THROUGH THE {{'program.name' | i18next}} IS FREE OF VIRUSES OR OTHER HARMFUL COMPONENTS. ANY CONTENT AVAILABLE ON OR ACCESSIBLE THROUGH THE {{'program.name' | i18next}} MAY INCLUDE TECHNICAL INACCURACIES OR TYPOGRAPHICAL ERRORS.

  31. - -
  32. Indemnification. You agree to release, indemnify, defend and hold {{'serviceProvider.name' | i18next}}, its affiliates and/or its licensors, and suppliers and their affiliates, officers, directors, managers, employees, agents and representatives  harmless from losses, damages, claims, demands, suits, liabilities, fines, penalties, and expenses, including reasonable attorneys’ fees, made by any third party due to or arising out of Your access to or use of the {{'serviceProvider.name' | i18next}} {{'program.name' | i18next}} or the Content, the violation by You of these Terms and Conditions, the infringement by You of any intellectual property or other right of any person or entity, and/or any Posts You submit or transmit to any Forums. - -

  33. Severability. If any of these Terms and Conditions are held to be invalid or unenforceable with respect to a party, the remainder of these Terms and Conditions, or the application of such provision to persons other than those to whom it is held invalid or unenforceable shall not be affected and each remaining provision of these Terms and Conditions shall be valid and enforceable to the fullest extent permitted by law.

  34. - -
  35. Publicity. Nothing contained in these Terms and Conditions will be construed as granting to You any right to use or refer to in advertising, publicity, promotion, marketing or other activities, any name, trade name, trade or service mark or any other designation of {{'serviceProvider.name' | i18next}}, its licensors, or suppliers, including any contraction, abbreviation or simulation of any kind of the foregoing, unless specifically authorized in writing, and in advance, by {{'serviceProvider.name' | i18next}}, its licensors, or suppliers.

  36. - -
  37. International Use. {{'serviceProvider.name' | i18next}} controls and operates these {{'program.name' | i18next}} from its offices in the United States of America. {{'serviceProvider.name' | i18next}} does not represent that Content accessible via the {{'program.name' | i18next}} is appropriate or available for use in all geographic locations, especially some locations outside the United States, and accessing such from certain locations may be illegal and prohibited.  If You access or use such Content from such locations, You are acting on Your own initiative, and {{'serviceProvider.name' | i18next}} is not responsible for Your compliance with local laws or other applicable legal or regulatory restrictions.  You agree that You will not access or use the {{'program.name' | i18next}} or Content where prohibited by applicable law, rule or regulation.  You represent and warrant that You are not (a) located in any country that is subject to a U.S. Government embargo, or that has been designated by the U.S. Government as a “terrorist supporting” country, or (b) listed on any U.S. Government list of prohibited or restricted parties including the Treasury Department’s list of Specially Designated Nationals or the U.S. Department of Commerce Denied Persons List or Entity List. You also agree that You will not use the {{'program.name' | i18next}} or Content for any purposes prohibited by United States law.

  38. - -
  39. Governing Law. The laws of the State of Texas, excluding its conflicts-of-law rules, shall govern this Agreement and Your use of these {{'program.name' | i18next}} and Content. You agree that any claim or dispute with {{'serviceProvider.name' | i18next}} relating in any way to Your use of the {{'program.name' | i18next}} or Content shall be commenced and heard in the state or federal courts of the State of Texas, County of Dallas, and You agree and expressly consent to the exercise of personal jurisdiction in the courts of the State of Texas, in connection with any such dispute.  You and {{'serviceProvider.name' | i18next}} agree that any cause of action arising out of or related to or use of the {{'program.name' | i18next}} or Content  must commence within one (1) year after the cause of action arises.  Otherwise, such cause of action is permanently barred.  Because some jurisdictions do not permit such time bars, this limitation may not apply in all situations.

  40. - -
  41. Miscellaneous. {{'serviceProvider.name' | i18next}}’s failure to exercise or enforce any right or provision of these Terms and Conditions will not constitute a waiver of such right or provision unless acknowledged and agreed to by {{'serviceProvider.name' | i18next}} in writing.  Neither the course of conduct between the parties nor trade practice will act to modify any provision of these Terms and Conditions. 

  42. - -
- -
- -
-
- -
diff --git a/d2ice.att.io/app/main/activation/terms/terms.less b/d2ice.att.io/app/main/activation/terms/terms.less deleted file mode 100755 index e809c9d6..00000000 --- a/d2ice.att.io/app/main/activation/terms/terms.less +++ /dev/null @@ -1,65 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -.terms { - - .terms-form { - margin-top: 20px; - } - - .btn { - width: 100%; - } - - .btn-primary { - border: 1px solid #8799A3; - border-radius: 6px; - background: #1E79B0; /* For browsers that do not support gradients */ - background: -webkit-linear-gradient(#1E79B0, #62ADD5); /* For Safari 5.1 to 6.0 */ - background: -o-linear-gradient(#1E79B0, #62ADD5); /* For Opera 11.1 to 12.0 */ - background: -moz-linear-gradient(#1E79B0, #62ADD5); /* For Firefox 3.6 to 15 */ - background: linear-gradient(#1E79B0, #62ADD5); /* Standard syntax (must be last) */ - } - - a.register { - text-decoration: underline; - float: right; - margin: 10px 0 0 0; - } - -} diff --git a/d2ice.att.io/app/main/activation/terms/terms.module.js b/d2ice.att.io/app/main/activation/terms/terms.module.js deleted file mode 100755 index 68a429cf..00000000 --- a/d2ice.att.io/app/main/activation/terms/terms.module.js +++ /dev/null @@ -1,68 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - 'use strict'; - - angular - .module('ice.activation.terms', []) - .config(config); - - function config($stateProvider) { - - $stateProvider - .state('app.terms', { - url: '/terms', - views: { - 'main@': { - templateUrl: 'core/layouts/full-page-with-header/full-page-with-header.html', - controller: 'MainController as vm' - }, - 'content@app.terms': { - templateUrl: 'main/activation/terms/terms.html', - controller: 'TermsController as vm' - } - }, - params: {message: null}, - bodyClass: 'terms' - }); - - } - -})(); diff --git a/d2ice.att.io/app/main/activation/updatePassword/updatePassword.controller.js b/d2ice.att.io/app/main/activation/updatePassword/updatePassword.controller.js deleted file mode 100755 index 364dcc77..00000000 --- a/d2ice.att.io/app/main/activation/updatePassword/updatePassword.controller.js +++ /dev/null @@ -1,95 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - 'use strict'; - - angular - .module('ice.activation.updatePassword') - .controller('UpdatePasswordController', ["$state", "usersService", "localStorageService", "$rootScope", "toastService", "$window", UpdatePasswordController]); - - function UpdatePasswordController($state, usersService, localStorageService, $rootScope, toastService, $window) { - - var vm = this; - vm.data = {}; - - var ngReq = true; - - $rootScope.headerTitle = "Update Your Password"; - $rootScope.headerSubTitle = "Please follow the instructions below to update your password"; - - vm.submitForm = function() - { - $rootScope.ice.loader.show = true; - var jsonPasswordConfirm = - { - password : vm.data.password, - confirm_password : vm.data.confirm_password - } - - usersService.updatePassword(usersService.getUserData().uuid, jsonPasswordConfirm) - .then(function (response) { - if (response.status === 200) { - toastService.setToast('Password was updated Successfully!', 'success'); - ngReq = false; - vm.data.password = ""; - vm.data.confirm_password = ""; - $rootScope.ice.loader.show = false; - //$timeout(function() { $state.go("app.dashboard"); }, 2000); - $state.go('app.dashboard.dashboard', {"messagePass": "Password was updated Successfully!"}); - } - else - { - toastService.setToast('Error updating your password.', 'danger'); - $rootScope.ice.loader.show = false; - } - }) - .catch(function (error) { - toastService.setToast(error.message, 'danger'); - $rootScope.ice.loader.show = false; - }); - }; - - vm.sendMail = function() - { - $window.open("mailto:d2ice@att.com","_self"); - } - } - -})(); diff --git a/d2ice.att.io/app/main/activation/updatePassword/updatePassword.html b/d2ice.att.io/app/main/activation/updatePassword/updatePassword.html deleted file mode 100755 index 65569cdb..00000000 --- a/d2ice.att.io/app/main/activation/updatePassword/updatePassword.html +++ /dev/null @@ -1,76 +0,0 @@ - - - -
- -
-
-
-
- - -
- Password is required field. - Password is too short. - Password is too long. -
-
- -
- - -
- Confirm password is required field. - Passwords do not match. -
-
- - - - - - -
-
-
- -
diff --git a/d2ice.att.io/app/main/activation/updatePassword/updatePassword.less b/d2ice.att.io/app/main/activation/updatePassword/updatePassword.less deleted file mode 100755 index a6524df5..00000000 --- a/d2ice.att.io/app/main/activation/updatePassword/updatePassword.less +++ /dev/null @@ -1,85 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -.updatePassword { - - .updatePassword-form { - margin-top: 20px; - } - - .btn { - width: 100%; - } - - .btn-primary { - border: 1px solid #8799A3; - border-radius: 6px; - background: #1E79B0; /* For browsers that do not support gradients */ - background: -webkit-linear-gradient(#1E79B0, #62ADD5); /* For Safari 5.1 to 6.0 */ - background: -o-linear-gradient(#1E79B0, #62ADD5); /* For Opera 11.1 to 12.0 */ - background: -moz-linear-gradient(#1E79B0, #62ADD5); /* For Firefox 3.6 to 15 */ - background: linear-gradient(#1E79B0, #62ADD5); /* Standard syntax (must be last) */ - } - - a.register { - text-decoration: underline; - float: right; - margin: 10px 0 0 0; - } - - .leftLink{ - padding-top:5px; - width:50%; - text-align:left; - float:left; - - a, - a:hover, - a:active, - a:focus - { - .m_14_r; - cursor: pointer; - } - - a{ - text-decoration:underline; - } - } - -} diff --git a/d2ice.att.io/app/main/activation/updatePassword/updatePassword.module.js b/d2ice.att.io/app/main/activation/updatePassword/updatePassword.module.js deleted file mode 100755 index b00e619b..00000000 --- a/d2ice.att.io/app/main/activation/updatePassword/updatePassword.module.js +++ /dev/null @@ -1,68 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - 'use strict'; - - angular - .module('ice.activation.updatePassword', []) - .config(config); - - function config($stateProvider) { - - $stateProvider - .state('app.updatePassword', { - url: '/updatePassword{engagement_uuid: (?:/[^/]+)?}', - views: { - 'main@': { - templateUrl: 'core/layouts/full-page-with-header/full-page-with-header.html', - controller: 'MainController as vm' - }, - 'content@app.updatePassword': { - templateUrl: 'main/activation/updatePassword/updatePassword.html', - controller: 'UpdatePasswordController as vm' - } - }, - params: {message: null,messagePass:null}, - bodyClass: 'updatePassword' - }); - - } - -})(); diff --git a/d2ice.att.io/app/main/admin/admin.module.js b/d2ice.att.io/app/main/admin/admin.module.js deleted file mode 100755 index 391461d0..00000000 --- a/d2ice.att.io/app/main/admin/admin.module.js +++ /dev/null @@ -1,89 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - 'use strict'; - - angular - .module('ice.main.admin') - .config(config); - - function config($stateProvider) { - $stateProvider - .state('app.admin', { - url: '/admin', - views: { - 'navigation@app': { - templateUrl: 'core/navigation/layouts/admin-navigation/navigation.html', - controller: 'adminNavigationController as vm' - } - }, - bodyClass: 'nav-admin', - resolve: { authenticate: authenticate } - }) - .state('app.admin.checklisttemplate', { - url: '/admin/checklist-template', - views: { - 'content@app': { - templateUrl: 'main/admin/checklist-template/checklist-template.html', - controller: 'checklistTemplateController as vm' - } - }, - params: {template_uuid: undefined}, - bodyClass: 'checklist-template', - }); - - function authenticate(usersService, $q, $timeout, $state) { - var result = usersService.isAdmin(usersService.getUserData()); - - if(result === true) { - return $q.when(); - } else { - $timeout(function() { - $state.go('app.login'); - }); - } - - return $q.reject(); - } - } - - - -})(); diff --git a/d2ice.att.io/app/main/admin/checklist-template/checklist-template.controller.js b/d2ice.att.io/app/main/admin/checklist-template/checklist-template.controller.js deleted file mode 100755 index e3033544..00000000 --- a/d2ice.att.io/app/main/admin/checklist-template/checklist-template.controller.js +++ /dev/null @@ -1,241 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - 'use strict'; - angular - .module('ice.main.admin') - .controller('checklistTemplateController', ["_", "$scope", "checklistService", "$stateParams", "toastService", - "$uibModal", "$log", checklistTemplateController]); - - function checklistTemplateController(_, $scope, checklistService, $stateParams, toastService, $uibModal, $log) { - var vm = this; - var templateToRevert; - - var init = function(){ - if ($stateParams['template_uuid']){ - vm.inlineEditingElements = {}; - vm.wysiwyg_menu = [ - ['bold', 'italic', 'strikethrough', 'underline'], - ['unordered-list', 'ordered-list', 'outdent', 'indent'] - ]; - - checklistService.getChecklistTemplate($stateParams['template_uuid']) - .then(function (response) { - if (response.status === 200) { - vm.template = response.data; - registerWatchers(); - orderTemplateItems(); - templateToRevert = angular.copy(response.data); - initFirstLineItemSelection(); - } - }) - .catch(function (err){ - $log.error("got error with getChecklistTemplate"); - }); - } - }; - - vm.switchElementInlineEditing = function(elementName) { - vm.inlineEditingElements[elementName] = !vm.inlineEditingElements[elementName]; - }; - - vm.save = function() { - var modalInstance = $uibModal.open({ - templateUrl: 'main/modals/general-prompt-modal/general-prompt-modal.html', - controller: 'generalPromptModalController', - controllerAs: 'vm', - resolve: { - modalDetails: function () { - return { - "upper_headline": 'Master Checklist Template: ', - "upper_headline_value": vm.template.name, - "headline": 'Are you done editing?', - "is_message":true, - "message": 'Editing a master checklist template will effect all checklists currently ' + - 'created of that type and will also restart the validation for all active engagements', - "approve": 'Yes', - "cancelText": 'No', - "is_close_modal_button":false - }; - } - } - }); - - modalInstance.result.then(function (saveApproved) { - if(saveApproved) { - checklistService.saveChecklistTemplate(vm.template) - .then(function (response) { - if (response.status === 200) { - templateToRevert = angular.copy(vm.template); - toastService.setToast("Template was saved successfully.", 'success'); - } - }) - .catch(function (err){ - toastService.setToast("Problem occurred while saving template.", 'danger'); - $log.error("got error with saveChecklistTemplate"); - }); - } - }); - }; - - vm.cancel = function() { - var modalInstance = $uibModal.open({ - templateUrl: 'main/modals/general-prompt-modal/general-prompt-modal.html', - controller: 'generalPromptModalController', - controllerAs: 'vm', - resolve: { - modalDetails: function () { - return { - "upper_headline": 'Master Checklist Template: ', - "upper_headline_value": vm.template.name, - "headline": 'Are you sure you want to revert all changes?', - "is_message":false, - "approve": 'Yes', - "cancelText": 'No', - "is_close_modal_button":false - }; - } - } - }); - - modalInstance.result.then(function (revertApproved) { - if(revertApproved) { - vm.template = angular.copy(templateToRevert); - initFirstLineItemSelection(); - toastService.setToast("All changes discarded.", 'success'); - } - }); - }; - - vm.deleteSection = function(sectionToDelete) { - _.remove(vm.template.sections, function(section) {return sectionToDelete === section;}); - initFirstLineItemSelection(); - }; - - vm.selectLineItem = function(lineItem, section, $event) { - if(vm.selectedLineItem != lineItem) { - vm.selectedSection = section; - vm.selectedLineItem = lineItem; - $scope.$$postDigest(function () { - // Make extended window follow selected decision line - if ($event != undefined) - { - var line_item_bottom_offset = angular.element($event.target).prop('offsetHeight') + angular.element($event.target).prop('offsetTop'); - var extendended_item_height = angular.element("#line-item-extended").prop('offsetHeight'); - var diff_between_elements = line_item_bottom_offset - extendended_item_height; - if (diff_between_elements > 0) { - angular.element("#line-item-extended").css('margin-top',(20+diff_between_elements) +'px'); - } else { - angular.element("#line-item-extended").css('margin-top',''); - } - } - }); - } - }; - - vm.addLineItem = function(section) { - if(section) { - var maxWeight = _.maxBy(section.lineItems, function(lineItem) {return lineItem.weight;}) + 1; - var newLineItem = {"uuid": "newEntity", - "name": "Untitled line item", - "description": "Please add a description", - "weight": maxWeight, - "validation_instructions": "Please add validation instructions for the line item."}; - - section.lineItems.push(newLineItem); - } - }; - - vm.addSection = function() { - if(vm.template) { - var maxWeight = _.maxBy(vm.template.sections, function(section) {return section.weight;}) + 1; - var newSection = {"uuid": "newEntity", - "name": "Untitled section", - "description": "Section added from portal", - "validation_instructions": "valid instructions", - "weight": maxWeight, - "lineItems": []}; - - vm.template.sections.push(newSection); - } - }; - - vm.deleteLineItem = function(lineItemToDelete) { - _.remove(vm.selectedSection.lineItems, function(lineItem) {return lineItemToDelete === lineItem;}); - initFirstLineItemSelection(); - }; - - vm.isSaveInvalid = function() { - var result = false; - if(vm.template) { - result = _.find(vm.template.sections, function(section) { return section.lineItems.length === 0; }) != undefined; - } - - return result; - }; - - var registerWatchers = function() { - $scope.$watch('vm.template.name', function(newVal, OldVal){ - $stateParams.templateName = newVal; - }, true); - }; - - var initFirstLineItemSelection = function () { - vm.selectedSection = vm.template.sections && vm.template.sections.length > 0 - ? vm.template.sections[0] - : undefined; - - vm.selectedLineItem = vm.selectedSection ? vm.selectedSection.lineItems[0] : undefined; - - angular.element("#line-item-extended").css('margin-top',''); - }; - - var orderTemplateItems = function() { - if(vm.template) { - vm.template.sections = _.orderBy(vm.template.sections, 'weight'); - - _.forEach(vm.template.sections, function(section) { - section.lineItems = _.orderBy(section.lineItems, 'weight'); - }); - } - }; - - init(); - } -})(); diff --git a/d2ice.att.io/app/main/admin/checklist-template/checklist-template.html b/d2ice.att.io/app/main/admin/checklist-template/checklist-template.html deleted file mode 100755 index cea7b11b..00000000 --- a/d2ice.att.io/app/main/admin/checklist-template/checklist-template.html +++ /dev/null @@ -1,174 +0,0 @@ - -
-
-
-

- - Master Checklist Template: - {{vm.template.name}} - - -
- Template name is a required field. - Template name is too short. - Template name is too long. -
-
-

-
- Editing a master checklist template will affect all checklists currently created of that type - and will also restart the validation for all active engagements. -
-
- -
-
-
-
-
-
-
-
    -
  • -

    - Section {{$index+1}}: {{section.name}} - - - - -
    - Section name is a required field. - Section name is too short. - Section name is too long. -
    -
    -

    -
      -
    • - - - {{$parent.$index+1}}.{{$index+1}} - - {{lineItem.name}} -
       
      - -
    • -
    • - - Add Another line item -
    • -
    -
  • -
- -
-
-
- - Add Another Section -
diff --git a/d2ice.att.io/app/main/admin/checklist-template/checklist-template.less b/d2ice.att.io/app/main/admin/checklist-template/checklist-template.less deleted file mode 100755 index 7077958e..00000000 --- a/d2ice.att.io/app/main/admin/checklist-template/checklist-template.less +++ /dev/null @@ -1,552 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -.cl-add-item-line { - width: 80%; - - .add-button { - .sprite; - .sprite.small-grey-add; - display: inline-block; - cursor: pointer; - position:relative; - top:3px; - } -} - -.cl-action-button{ - width: 30%; - margin-bottom: 2%; - margin-right: 3%; - &:last-child { - margin-right: 0; - } - -} - -.checklist-template-edit-item { - padding: 5px; - &.edit-template-name{ - .a_24_r; - } - - &.edit-section-name{ - .m_24; - } - - &.edit-lineitem-name{ - .m_18; - background-color: white; - line-height: normal; - } - &.edit-lineitem-description{ - .m_18; - width: 100%; - line-height: normal; - } -} - -.glyphicon-cursor-approve-changes { - display: inline-block; - cursor: pointer; - position:relative; - top:3px; - float: right; -} - -.lineitem-changed-icon { - .sprite; - .sprite.grey-check-mark; - display: inline-block; - cursor: pointer; - position:relative; - top:3px; - margin-left: -15px; -} - -.remove-item { - .sprite; - .sprite.red-delete; - display: inline-block; - cursor: pointer; - position:relative; - top:3px; - float: right; - margin-right: 1%; -} - -.template-edit-item { - .sprite; - .sprite.edit-medium; - display: inline-block; - cursor: pointer; - position:relative; - top:3px; - float: right; -} - -.add-another-section { - .sprite; - .sprite.big-grey-add; - display: inline-block; - cursor: pointer; - position:relative; - top:3px; -} - -.another-section { - border-top: 1px dashed ; - padding-top: 0.5%; -} - - -.checklist-template { - height:100%; - - #checklist-main-section { - padding-left: 12px; - } - - .ice-form-error { - text-transform: none; - } - - .section-topic{ - padding-left: 4%; - .m_24_m; - } - - .lineitem-index{ - padding-left: 5%; - } - - .lineitem-icon-and-index{ - padding-left: 0px; - } - - #cl-header { - height:12%; - padding-top:1%; - padding-bottom: 2%; - - .checklist-template-topic{ - border-right: 1px solid; - - #cl-title { - padding-left: 0px; - - .template-name { - .a_24_r; - } - - .template-topic { - .a_24_m; - } - } - - .edit-checklist { - display: inline-block; - margin-right: 5px; - cursor: pointer; - } - } - } - - - - - - #state-actions .btn { - width: 100%; - } - - .action-buttons{ - width: 100%; - margin-bottom: 7px; - } - - - - .add-icon { - .sprite; - .sprite.add; - display: inline-block; - } - - - .add-button { - margin-top: 8px; - .add-text { - .a_16_m; - vertical-align: top; - margin-left: 6px; - } - - } - - - - - #cl-title h1 { - .a_24_r; - margin: 0 0 30px 0; - } - - h3 { - .m_18_m; - } - h2 { - margin: 0 0 10px 0; - .a_24_m; - position: relative; - .add-people, - .add-step { - .sprite; - .sprite.add; - display: inline-block; - margin-left: 8px; - cursor: pointer; - } - } - - .main-section { - margin-top: 30px; - } - } - - - #state-bar { - float:none; - height: 5%; - - } - - - - #cl-header > #cl-title > span.bold { - .a_24_m; - } - - - .cl-action-buttons-frame{ - list-style: none; - display: inline; - padding-top: 20px; - } - - - - #line-item-list { - list-style: none; - padding-right:15px; - } - - - #line-item-list > li { - margin-bottom: 25px; - } - #line-item-list > li > h2 { - text-transform: capitalize; - border-bottom: 1px solid; - border-color: @main_color_q; - width: 100%; - margin-bottom: 0px; - padding-left: 5px; - .m_24; - } - #line-item-list > li > h2 > span.bold { - .m_24_m; - } - - #line-item-list > li > ul { - list-style: none; - } - #line-item-list > li > ul >li.line-item-row { - border-bottom: 1px solid; - border-color: @main_color_q; - line-height: 30px; - padding: 0px; - vertical-align: middle; - height: 30px; - .m_16_r; - cursor: pointer; - } - - #line-item-list > li > ul >li.line-item-row .value-icon { - padding: 0px; - } - - #line-item-list > li > ul >li.line-item-row .value-icon span { - display: inline-block; - position: relative; - top: 3px; - margin-right: 5px; - margin-left: 3px; - width:15px; - height:15px; - } - - #line-item-list > li > ul >li.line-item-row .auto-icon { - text-align:right; - padding: 0px; - } - - #line-item-list > li > ul >li.line-item-row .auto-icon span { - display: inline-block; - position: relative; - top: 3px; - margin-right: 3px; - } - - #line-item-list > li > ul >li.line-item-row.selected-line { - background-color: @bg_color_a; - border-left: 2px solid; - border-top: 2px solid; - border-bottom: 2px solid; - border-color: @main_color_a; - position:relative; - z-index:1; - top: -1px; - left: -2px; - } - - #line-item-list > li > ul >li.line-item-row.selected-line > .selected-line-connector { - position: absolute; - right: -19px; - width: 20px; - height: 30px; - top: -2px; - background-color: @bg_color_a; - border-top: 2px solid; - border-bottom: 2px solid; - border-color: @main_color_a; - } - #line-item-extended { - background-color: @bg_color_a; - border: 2px solid; - border-color: @main_color_a; - padding:15px; - @media (min-width: 992px) { - max-height: 100%; - overflow-y: auto; - } - } - #line-item-extended >header { - padding: 0 30px; - padding-bottom: 0px; - } - #line-item-extended >header > h2 { - text-transform: capitalize; - padding:0px; - margin:0px; - line-height:32px; - .m_18_r; - } - #line-item-extended > header > h2 > span.bold { - .m_18_m; - } - #line-item-extended >header > #decision-actions { - list-style: none; - text-align: right; - margin:0px; - } - #line-item-extended >header > #decision-actions > li { - display: inline-block; - margin-left: 2px; - .sprite; - } - #line-item-extended >header > #decision-actions.active > li { - cursor:pointer; - } - - #line-item-extended >header > #decision-actions > li.not-relevant-btn { - .sprite.not-relevant-btn; - } - - #line-item-extended >header > #decision-actions.active > li.not-relevant-btn:hover { - .sprite.not-relevant-btn-active; - } - #line-item-extended >header > #decision-actions > li.not-relevant-btn.active { - .sprite.not-relevant-btn-active; - } - #line-item-extended >header > #decision-actions > li.denied-cl-btn { - .sprite.denied-cl-btn; - } - #line-item-extended >header > #decision-actions.active > li.denied-cl-btn:hover { - .sprite.denied-cl-btn-active; - } - #line-item-extended >header > #decision-actions > li.denied-cl-btn.active { - .sprite.denied-cl-btn-active; - } - #line-item-extended >header > #decision-actions > li.approved-cl-btn { - .sprite.approved-cl-btn; - } - #line-item-extended >header > #decision-actions.active > li.approved-cl-btn:hover { - .sprite.approved-cl-btn-active; - } - #line-item-extended >header > #decision-actions > li.approved-cl-btn.active { - .sprite.approved-cl-btn-active; - } - - - #line-item-extended > #line-item-description { - margin: 0 15px; - .m_16_r; - } - - #line-item-extended > #line-item-validation-instructions { - .m_14_r; - background-color: #fff; - border: 1px solid; - border-color: @main_color_a; - padding: 15px; - margin-top: 15px; - } - - #line-item-extended > #line-item-validation-instructions h3 { - text-transform: capitalize; - margin: 0px; - .m_18_m; - } - - #line-item-extended > #line-item-validation-instructions p { - margin-top: 5px; - - } - - #line-item-extended > #line-item-validation-instructions p ul { - padding-left: 15px; - } - - #line-item-extended > #line-item-audit-logs { - padding:0 15px; - } - - #line-item-extended > #line-item-audit-logs > h3 { - text-transform: capitalize; - .m_18_m; - - } - #line-item-extended > #line-item-audit-logs > #audit-log-list { - list-style:none; - - } - #line-item-extended > #line-item-audit-logs > #audit-log-list > li { - margin: 0 15px 10px; - border-bottom: 2px solid; - border-color: @main_color_q; - } - #line-item-extended > #line-item-audit-logs > #audit-log-list > li > .audit-creator { - .m_16_m; - margin:0px; - padding:0px; - } - #line-item-extended > #line-item-audit-logs > #audit-log-list > li > .audit-date { - text-align:right; - .m_14_r; - padding:0px; - } - #line-item-extended > #line-item-audit-logs > #audit-log-list > li > .audit-text { - .m_16_r; - margin-bottom:0px; - padding:0px; - } - - #line-item-extended > #line-item-audit-logs > #new-audit-log-from { - margin: 0 0 15px; - } - - #line-item-extended > #line-item-audit-logs > #new-audit-log-from #new-audit-log-text { - border-color: @main_color_q; - margin-bottom:15px; - } - - .btn-gradient-primary { - font-weight: bold; - color: #FFFFFF; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); - background-color: #37B2E5; - *background-color: #37B2E5; - background-image: -moz-linear-gradient(top, #0079AB, #37B2E5); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0079AB), to(#37B2E5)); - background-image: -webkit-linear-gradient(top, #0079AB, #37B2E5); - background-image: -o-linear-gradient(top, #0079AB, #37B2E5); - background-image: linear-gradient(to bottom, #0079AB, #37B2E5); - background-repeat: repeat-x; - border-color: #37B2E5; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0079AB', endColorstr='#37B2E5', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); - } - - .btn-gradient-success { - font-weight: bold; - color: #FFFFFF; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); - background-color: #41A02C; - *background-color: #41A02C; - background-image: -moz-linear-gradient(top, #A2E652, #41A02C); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#A2E652), to(#41A02C)); - background-image: -webkit-linear-gradient(top, #A2E652, #41A02C); - background-image: -o-linear-gradient(top, #A2E652, #41A02C); - background-image: linear-gradient(to bottom, #A2E652, #41A02C); - background-repeat: repeat-x; - border-color: #41A02C; - border-color: #888; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#A2E652', endColorstr='#41A02C', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); - } - - .btn-gradient-danger { - font-weight: bold; - color: #FFFFFF; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); - background-color: #AE0020; - *background-color: #AE0020; - background-image: -moz-linear-gradient(top, #F74658, #AE0020); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#F74658), to(#AE0020)); - background-image: -webkit-linear-gradient(top, #F74658, #AE0020); - background-image: -o-linear-gradient(top, #F74658, #AE0020); - background-image: linear-gradient(to bottom, #F74658, #AE0020); - background-repeat: repeat-x; - border-color: #AE0020; - border-color: #888; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#F74658', endColorstr='#AE0020', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); - } - diff --git a/d2ice.att.io/app/main/dashboard/account/account.controller.js b/d2ice.att.io/app/main/dashboard/account/account.controller.js deleted file mode 100755 index da648f73..00000000 --- a/d2ice.att.io/app/main/dashboard/account/account.controller.js +++ /dev/null @@ -1,150 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - 'use strict'; - - angular - .module('ice.dashboard.account') - .controller('DashboardAccountController', ["$state", "usersService", "vfService", "$log", - "$rootScope", "toastService", dashboardAccountController]); - - function dashboardAccountController($state,usersService,vfService, $log, $rootScope, toastService) { - - var vm = this; - vm.data = {}; - - var init = function() - { - - vm.user = usersService.getUserData(); - - if (vm.user == undefined) { - $state.go('app.login'); - return; - } - - var user_uuid = vm.user.uuid; - - $rootScope.ice.loader.show = true; - usersService.getIceUser(user_uuid) - .then - (function (response) - { - if (response.status === 200) - { - vm.data.full_name = response.data.full_name; - vm.data.email = response.data.email; - vm.data.phone_number = response.data.phone_number; - vm.data.password = ''; //user.password; - vm.data.ssh_key = response.data.ssh_public_key; - vm.data.company = response.data.company.name; - vm.data.access_key = response.data.rgwa_access_key; - vm.data.access_secret = "•••••••••••••••"; - $rootScope.ice.loader.show = false; - } - else - { - toastService.setToast('Error getting account', 'danger'); - $log.error("Error getting account: " + uuid); - $rootScope.ice.loader.show = false; - } - } - ).catch(function (error) { - toastService.setToast(error.message, 'danger'); - $log.error(error.message); - }); - - vfService.getCompanies() - .then(function (response) { - if (response.status === 200) - { - vm.companies = response.data; - } - }) - .catch(function (error) - { - $log.error(error.message); - }); - - - - }; - - init(); - - vm.getAccessSecret = function () - { - usersService.getRGWASecret() - .then - (function (response) - { - if (response.status === 200) - { - vm.data.access_secret = response.data.rgwa_secret_key; - } - else - { - toastService.setToast('Error getting user\'s access secret', 'danger'); - $log.error("Error getting access secret: " + uuid); - $rootScope.ice.loader.show = false; - } - } - ).catch(function (error) { - toastService.setToast(error.message, 'danger'); - $log.error(error.message); - }); - } - - vm.submitForm = function () - { - var user = usersService.getUserData(); - usersService.updateAccount(user.uuid, vm.data) - .then(function (response) { - if (response.status === 200) { - toastService.setToast('Account was updated successfully!', 'success'); - } - }) - .catch(function (error) { - toastService.setToast(error.message.detail, 'danger'); - }); - }; - } - -})(); diff --git a/d2ice.att.io/app/main/dashboard/account/account.html b/d2ice.att.io/app/main/dashboard/account/account.html deleted file mode 100755 index de792d3a..00000000 --- a/d2ice.att.io/app/main/dashboard/account/account.html +++ /dev/null @@ -1,159 +0,0 @@ - - - -

Account

- -
- -
- - -
- - - -
- - - -
- -
-
-
-

Your Storage Credentials

-
- -
Access Key: -
{{vm.data.access_key}}
-
- -
Access Secret (Show) -
{{vm.data.access_secret}}
-
- -
-
-
- -
- diff --git a/d2ice.att.io/app/main/dashboard/account/account.less b/d2ice.att.io/app/main/dashboard/account/account.less deleted file mode 100755 index d32db492..00000000 --- a/d2ice.att.io/app/main/dashboard/account/account.less +++ /dev/null @@ -1,215 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -.account { - - .btn { - width: 100%; - } - - .btn-primary { - border: 1px solid #8799A3; - border-radius: 6px; - background: #1E79B0; /* For browsers that do not support gradients */ - background: -webkit-linear-gradient(#1E79B0, #62ADD5); /* For Safari 5.1 to 6.0 */ - background: -o-linear-gradient(#1E79B0, #62ADD5); /* For Opera 11.1 to 12.0 */ - background: -moz-linear-gradient(#1E79B0, #62ADD5); /* For Firefox 3.6 to 15 */ - background: linear-gradient(#1E79B0, #62ADD5); /* Standard syntax (must be last) */ - } - - .content { - - .steps-progress-wrapper { - margin-top: 10px; - } - - h1 { - .a_36; - margin: 0 0 30px 0; - } - - h2 { - margin: 0 0 10px 0; - .a_24_m; - position: relative; - .add-people, - .add-step { - .sprite; - .sprite.add; - display: inline-block; - margin-left: 8px; - cursor: pointer; - } - } - - h3 { - .a_20_m; - } - - .main-section { - margin-top: 30px; - } - - .steps { - - border-right: dashed 1px @main_color_a; - height: 100%; - padding-right: 20px; - - ul { - li.step { - - &.selected { - background-color: #DEF3FF; - } - - list-style: none; - position: relative; - padding: 10px 10px 10px 4px; - - .description { - - .m_16_r; - border-bottom: dashed 1px @main_color_n; - padding: 10px 0; - - input { - position: absolute; - top: 10px; - left: 0; - margin-right: 20px; - } - - .step-text { - margin-left: 20px; - } - - .step-state { - position: absolute; - top: 24px; - &.todo { - .steps-sprite; - .steps-sprite.todo; - display: inline-block; - } - &.confirmed { - .steps-sprite; - .steps-sprite.confirmed; - display: inline-block; - } - &.completed { - .steps-sprite; - .steps-sprite.completed; - display: inline-block; - } - &.completed-non-el { - .steps-sprite; - .steps-sprite.completed-non-el; - display: inline-block; - } - } - } - .details { - .m_12_r; - margin-bottom: 20px; - .actions { - float: right; - margin-top: 4px; - - .moveto-confirmed { - .sprite; - .sprite.success; - display: inline-block; - cursor: pointer; - } - .moveto-todo { - .sprite; - .sprite.delete-circle; - display: inline-block; - cursor: pointer; - } - .moveto-delete { - .sprite; - .sprite.delete; - display: inline-block; - cursor: pointer; - } - } - } - } - } - } - - .right-panel { - height: 100%; - padding-left: 20px; - padding-bottom: 5px; - - .personImage - { - .profiles-sprite; - .profiles-sprite.profile-large; - display: block; - } - - .line-separator { - border-bottom: solid lightgrey; - margin: 20px 0; - } - - .storage-credentials { - .m_18_r; - } - - .access-key { - margin-bottom: 10px; - .m_16_r; - } - - .access-secret { - margin-bottom: 10px; - .m_16_r; - } - - .show-secret { - .underline; - cursor: pointer; - } - } - } -} diff --git a/d2ice.att.io/app/main/dashboard/account/account.module.js b/d2ice.att.io/app/main/dashboard/account/account.module.js deleted file mode 100755 index 052cbbfb..00000000 --- a/d2ice.att.io/app/main/dashboard/account/account.module.js +++ /dev/null @@ -1,85 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - 'use strict'; - - angular - .module('ice.dashboard.account') - .config(config); - - function config($stateProvider) { - $stateProvider - .state('app.account', { - url: '/account', - views: { - 'content@app': { - templateUrl: 'main/dashboard/account/account.html', - controller: 'DashboardAccountController as vm' - }, - 'navigation@app': { - templateUrl: 'core/navigation/layouts/account-navigation/navigation.html', - controller: 'accountNavigationController as vm' - } - }, - params: {engagement_uuid: null}, - bodyClass: 'account' - }) - .state('app.account.notifications', { - url: '/account/notifications', - views: { - 'content@app': { - templateUrl: 'main/dashboard/account/notifications/notifications.html', - controller: 'DashboardNotificationsController as vm' - } - }, - bodyClass: 'notifications' - }) - .state('app.account.userProfile', { - url: '/account/userProfile', - views: { - 'content@app': { - templateUrl: 'main/dashboard/account/user-profile-settings/user-profile-settings.html', - controller: 'accountUserProfileSettingsController as vm' - } - }, - bodyClass: 'account' - }); - } -})(); diff --git a/d2ice.att.io/app/main/dashboard/account/notifications/notifications.controller.js b/d2ice.att.io/app/main/dashboard/account/notifications/notifications.controller.js deleted file mode 100755 index 0e9542dd..00000000 --- a/d2ice.att.io/app/main/dashboard/account/notifications/notifications.controller.js +++ /dev/null @@ -1,140 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - 'use strict'; - angular - .module('ice.dashboard.account') - .controller('DashboardNotificationsController', ["$state","pageService","usersService", "toastService", "$rootScope", "$scope", "$log", dashboardNotificationsController]); - - function dashboardNotificationsController($state,pageService, usersService, toastService, $rootScope, $scope, $log) { - var vm = this; - vm.data = {}; - var init = function() - { - pageService.setPage('notification'); - $rootScope.timeGapLocal = moment().format("z");// timeGap(); - $rootScope.ampm = moment().format('A'); - $rootScope.mom =moment().tz( moment.tz.guess()).format('z'); - - vm.pagination_num_of_objects = 10; - vm.current_starting_offset = "0"; - vm.page_num = 1; - vm.user = usersService.getUserData(); - if (vm.user == undefined) { - $state.go('app.login'); - return; - } - vm.getNotifications(true) - } - - vm.getNotifications = function (reset) { - var user_uuid = vm.user.uuid; - $rootScope.ice.loader.show = true; - vm.current_starting_offset = (vm.page_num-1)*vm.pagination_num_of_objects; - usersService.getNotificationsDescription(vm.user.uuid,vm.current_starting_offset,vm.pagination_num_of_objects) - .then - (function (response) - { - if (response.status === 200) - { - vm.notifications = response.data['serilizedActivitySet']; - vm.num_of_returned_items = response.data['num_of_objects']; - vm.notifications_display_list = vm.notifications; - if (reset){ - usersService.resetNotificationNum(user_uuid) - .then - (function (response) - { - if (response.status === 200) - { - $scope.$emit('eventClearNotifications',0); - } - } - ) - .catch(function (error) { - toastService.setToast(error.message, 'danger'); - $rootScope.ice.loader.show = false; - $log.error(error); - }); - } - $rootScope.ice.loader.show = false; - } - else - { - toastService.setToast(response.error, 'danger'); - $rootScope.ice.loader.show = false; - } - } - ) - .catch(function (error) { - toastService.setToast(error.message, 'danger'); - $rootScope.ice.loader.show = false; - $log.error(error); - } - ); - }; - - vm.delNotification = function(uuid) - { - var itemIndex = 0; - - for(var i=0; i < vm.notifications.length; i++) - { - if (vm.notifications[i].uuid == uuid) - { - itemIndex = i; - break; - } - } - usersService.notificationsDelete(uuid) - .then - (function (response) { - if (response.status != 400){ - vm.notifications.splice(itemIndex , 1); - } - }) - .catch(function (error) { - toastService.setToast(error.message, 'danger'); - $rootScope.ice.loader.show = false; - $log.error(error); - }); - } - init(); - } -})(); \ No newline at end of file diff --git a/d2ice.att.io/app/main/dashboard/account/notifications/notifications.html b/d2ice.att.io/app/main/dashboard/account/notifications/notifications.html deleted file mode 100755 index f92cc41a..00000000 --- a/d2ice.att.io/app/main/dashboard/account/notifications/notifications.html +++ /dev/null @@ -1,60 +0,0 @@ - - - -
-
-

Notifications

-
-
-
- -
-
-
-
-
-
- - - -
-
diff --git a/d2ice.att.io/app/main/dashboard/account/notifications/notifications.less b/d2ice.att.io/app/main/dashboard/account/notifications/notifications.less deleted file mode 100755 index 7981be89..00000000 --- a/d2ice.att.io/app/main/dashboard/account/notifications/notifications.less +++ /dev/null @@ -1,348 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -.engagement_link { - text-decoration: underline; - cursor:pointer; -} -.notifications { - - .table{ - margin-bottom: 0; - } - - .table-container-flex { - - .data-row-wrapper { - padding: 10px 20px; - } - - .flex-item:nth-child(1) { - padding-left: 5px; - padding-top: 15px; - flex-grow: 2; - } - - .flex-item:nth-child(2) { - padding-top: 12px; - flex-grow: 93; - } - - .flex-item:nth-child(3) { - padding-top: 12px; - flex-grow: 5; - } - - } - - .pagination > .active > a, .pagination > .active > span, .pagination > .active > a:hover, .pagination > .active > span:hover, .pagination > .active > a:focus, .pagination > .active > span:focus - { - background-color: #DEF3FF; - border-color: #DDDDDD; - color: #000000; - cursor:pointer; - z-index:2; - } - - .btn { - width: 100%; - } - - .lineColor - { - background-color:#F6F3F3; - } - - .electricity - { - .sprite; - .sprite.electricity; - display: block; - margin-top: 10px; - margin-left: 10px; - } - - .delete - { - .sprite; - .sprite.delete-circle; - display: block; - cursor:pointer; - margin-top: 11px; - } - - - .fLeft - { - float:left; - height:50px; - } - - .hoverCyan - { - line-height: 40px; - &:hover { - background-color: #DEF3FF; - } - } - - .boldFont - { - font-weight: bold; - } - - .marginLeft60 - { - margin-left:-60px; - } - - .height510 - { - height:510px; - margin-top:-30px; - } - - .height50 - { - height:50px; - line-height:50px; - width:1100px; - } - - .marginLeft5 - { - margin-left:5px; - } - - .marginTop5 - { - margin-top:5px; - margin-left: 40px; - } - - .personImage - { - .profiles-sprite; - .profiles-sprite.profile-large; - display: block; - } - - .textAlignCenter - { - text-align:center; - width:1100px - } - - .btn-primary { - border: 1px solid #8799A3; - border-radius: 6px; - background: #1E79B0; /* For browsers that do not support gradients */ - background: -webkit-linear-gradient(#1E79B0, #62ADD5); /* For Safari 5.1 to 6.0 */ - background: -o-linear-gradient(#1E79B0, #62ADD5); /* For Opera 11.1 to 12.0 */ - background: -moz-linear-gradient(#1E79B0, #62ADD5); /* For Firefox 3.6 to 15 */ - background: linear-gradient(#1E79B0, #62ADD5); /* Standard syntax (must be last) */ - } - - .pad17 - { - padding-top:17px; - display: block; - } - - .content { - - .steps-progress-wrapper { - margin-top: 10px; - } - - h1 { - .a_36; - margin: 0 0 30px 0; - } - - h2 { - margin: 0 0 10px 0; - .a_24_m; - position: relative; - .add-people, - .add-step { - .sprite; - .sprite.add; - display: inline-block; - margin-left: 8px; - cursor: pointer; - } - } - - .main-section { - margin-top: 30px; - } - - .steps { - - - height: 100%; - padding-right: 20px; - - ul { - li.step { - - &.selected { - background-color: #DEF3FF; - } - - list-style: none; - position: relative; - padding: 10px 10px 10px 4px; - - .description { - - .m_16_r; - - padding: 10px 0; - - input { - position: absolute; - top: 10px; - left: 0; - margin-right: 20px; - } - - .step-text { - margin-left: 20px; - } - - .step-state { - position: absolute; - top: 24px; - &.todo { - .steps-sprite; - .steps-sprite.todo; - display: inline-block; - } - &.confirmed { - .steps-sprite; - .steps-sprite.confirmed; - display: inline-block; - } - &.completed { - .steps-sprite; - .steps-sprite.completed; - display: inline-block; - } - &.completed-non-el { - .steps-sprite; - .steps-sprite.completed-non-el; - display: inline-block; - } - } - } - .details { - .m_12_r; - margin-bottom: 20px; - .actions { - float: right; - margin-top: 4px; - - .moveto-confirmed { - .sprite; - .sprite.success; - display: inline-block; - cursor: pointer; - } - .moveto-todo { - .sprite; - .sprite.delete-circle; - display: inline-block; - cursor: pointer; - } - .moveto-delete { - .sprite; - .sprite.delete; - display: inline-block; - cursor: pointer; - } - } - } - } - } - } - - .team-and-logs { - height: 100%; - padding-left: 20px; - .team { - ul.team-avatars { - - li { - list-style: none; - display: inline-block; - margin-right: 10px; - .profiles-sprite; - .profiles-sprite.profile-medium; - - &.me { - .profiles-sprite; - .profiles-sprite.avatar-blue; - } - } - } - } - - .activity-log { - ul.activity-log-details { - li { - list-style: none; - position: relative; - margin-left: 30px; - - &:before { - content: ''; - display: inline-block; - .sprite; - .sprite.electricity; - position: absolute; - top: 0; - left: -30px; - } - } - } - } - } - } -} diff --git a/d2ice.att.io/app/main/dashboard/account/user-profile-settings/user-profile-settings.controller.js b/d2ice.att.io/app/main/dashboard/account/user-profile-settings/user-profile-settings.controller.js deleted file mode 100755 index 6d51a440..00000000 --- a/d2ice.att.io/app/main/dashboard/account/user-profile-settings/user-profile-settings.controller.js +++ /dev/null @@ -1,98 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - 'use strict'; - angular - .module('ice.dashboard.account') - .controller('accountUserProfileSettingsController', ['toastService', 'usersService', - accountUserProfileSettingsController]); - - function accountUserProfileSettingsController(toastService, usersService) { - var vm = this; - - var init = function() - { - usersService.getIceUser() - .then - (function (response) { - vm.receiveEmails = response.data.regular_email_updates; - vm.receiveEmailsEveryTime = response.data.email_updates_on_every_notification; - vm.receiveDigestEmails = response.data.email_updates_daily_digest; - - vm.receiveNotifications = vm.receiveEmailsEveryTime || vm.receiveDigestEmails; - } - ).catch(function (error) { - toastService.setToast(error.message, 'danger'); - $log.error(error.message); - }); - }; - - vm.submitForm = function() { - var user = usersService.getUserData(); - var userData = {}; - - userData.regular_email_updates = vm.receiveEmails; - userData.email_updates_on_every_notification = vm.receiveEmailsEveryTime; - userData.email_updates_daily_digest = vm.receiveDigestEmails; - userData.company = user.company.name; - userData.full_name = user.full_name; - userData.email = user.email; - userData.phone_number = user.phone_number; - - usersService.updateAccount(user.uuid, userData) - .then(function (response) { - if (response.status === 200) { - toastService.setToast('User profile settings was updated successfully!', 'success'); - } - }) - .catch(function (error) { - toastService.setToast(error.message.detail, 'danger'); - }); - }; - - vm.changeReceiveNotifications = function() { - if(!vm.receiveNotifications) { - vm.receiveEmailsEveryTime = false; - vm.receiveDigestEmails = false; - } - }; - - init(); - } -})(); diff --git a/d2ice.att.io/app/main/dashboard/account/user-profile-settings/user-profile-settings.html b/d2ice.att.io/app/main/dashboard/account/user-profile-settings/user-profile-settings.html deleted file mode 100755 index 521c73ab..00000000 --- a/d2ice.att.io/app/main/dashboard/account/user-profile-settings/user-profile-settings.html +++ /dev/null @@ -1,66 +0,0 @@ - - -

Settings

- diff --git a/d2ice.att.io/app/main/dashboard/account/user-profile-settings/user-profile-settings.less b/d2ice.att.io/app/main/dashboard/account/user-profile-settings/user-profile-settings.less deleted file mode 100755 index 41ad47ec..00000000 --- a/d2ice.att.io/app/main/dashboard/account/user-profile-settings/user-profile-settings.less +++ /dev/null @@ -1,45 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -.user-profile-settings-form { - .receive-email-options { - padding-left: 20px; - } -} - - diff --git a/d2ice.att.io/app/main/dashboard/checklist/checklist.controller.js b/d2ice.att.io/app/main/dashboard/checklist/checklist.controller.js deleted file mode 100755 index 293134cd..00000000 --- a/d2ice.att.io/app/main/dashboard/checklist/checklist.controller.js +++ /dev/null @@ -1,445 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - 'use strict'; - angular - .module('ice.dashboard.checklist',[]) - .controller('DashboardChecklistController', ["$scope", "$stateParams", "$rootScope", "checklistService", - "iceConstants", "usersService", "$uibModal", "toastService", "$log", DashboardChecklistController]); - function DashboardChecklistController($scope, $stateParams, $rootScope, checklistService, iceConstants, - usersService, $uibModal, toastService, $log) { - - var vm = this; - vm.data = {}; - var engagementUuid = $stateParams.engagement_uuid; - vm.checklistUuid = $stateParams.sub_id; - vm.selected_decision = false; - - var init = function() { - if (vm.checklistUuid == null) - return; - - checklistService.getChecklist(vm.checklistUuid) - .then(function (response) { - if (response.status === 200) { - vm.data = response.data; - vm.data.states = iceConstants.checklist_states; - vm.me = usersService.getUserData(); - vm.is_peer_reviewer = usersService.isPeerReviewer(vm.me, response.data.checklist.engagement.peer_reviewer.uuid); - // if state pending dont allow changing data manually - if(vm.data.checklist.associated_files) { - vm.has_files = true; - } - else { - vm.has_files = false; - } - vm.formatDecisions(); - - } - }) - .catch(function (error) { - if (error.status === 410) { - $rootScope.$broadcast('onUpdateEngagements',{ - select:{ - uuid: $stateParams.engagement_uuid, - view_type : 'overview', - sub_id: undefined - } - }); - } - else{ - $log.error(error.message); - return false; - } - }); - }; - - - vm.formatDecisions = function () { - var section_counter = 0; - vm.data.checklistDecisions = _.orderBy(vm.data.checklistDecisions, 'weight'); - angular.forEach(vm.data.checklistDecisions, function(section,section_key) { - section_counter ++; - section.counter = section_counter; - var decision_counter = 0; - section.decisions = _.orderBy(section.decisions, 'weight'); - angular.forEach(section.decisions,function(decision,decision_key) { - decision_counter++; - // add text of section and line number E.g 2.1 - decision.counter = section_counter+'.'+decision_counter; - - // set selected decision default value - if (vm.selected_decision == false) - { - vm.selected_decision = decision; - vm.selectDecision(decision); - } - - // choose which decision value to show - var view_value; - switch(vm.data.checklist.state) - { - case 'peer_review': - view_value = decision.peer_review_value; - break; - case 'review': - case 'approval': - case 'handoff': - case 'closed': - view_value = decision.review_value; - break; - } - - // choose which ucib to show - var view_value_css; - switch(view_value) - { - case 'approved': - view_value_css = 'sprite approved-cl'; - break; - case 'denied': - view_value_css = 'sprite denied-cl'; - break; - case 'not_relevant': - view_value_css = 'sprite not-relevant-cl'; - break; - } - - // choose which line item type icon to show - var auto_icon_css - switch(decision.lineitem.line_type) - { - case 'auto': - auto_icon_css = 'sprite automation-state'; - } - vm.data.checklistDecisions[section_key].decisions[decision_key]['selected-value'] = view_value - vm.data.checklistDecisions[section_key].decisions[decision_key]['view_value'] = view_value; - vm.data.checklistDecisions[section_key].decisions[decision_key]['view_value_css'] = view_value_css; - vm.data.checklistDecisions[section_key].decisions[decision_key]['auto_icon_css'] = auto_icon_css; - }); - }); - // after decision change refresh which state buttons to shows - vm.refreshStateOptions(); - - }; - - // set decision value - vm.setDecision = function(decision,value) { - checklistService.putChecklistDecision(decision.uuid,{value:value}) - .then(function (response) { - if (response.status === 200) { - switch(vm.data.checklist.state) - { - case 'peer_review': - decision.peer_review_value = value; - break; - case 'review': - decision.review_value = value; - break; - } - vm.formatDecisions(); - } - }); - - }; - - // decice which state change buttons to choose - vm.refreshStateOptions = function () { - var force_break = false; - vm.is_able_to_approve = true; - angular.forEach(vm.data.checklistDecisions, function (section,key) { - if (!force_break) - angular.forEach(section.decisions, function (decision,key) { - if (!force_break){ - // if not all decisions have value only only next_step - if ( decision['view_value'] != 'approved' && decision['view_value'] != 'not_relevant' ) { - vm.is_able_to_approve = false; - force_break=true; - } - } - }); - - }); - }; - - // set state - vm.stateAction = function(action) { - switch(action) - { - case 'approve': - var postData = {}; - postData["description"] = ''; - postData["decline"] = "False"; - checklistService.setState(vm.data.checklist.uuid, postData) - .then(function (response) { - if (response.status === 200) { - $rootScope.$broadcast('onUpdateEngagements',{select:{uuid:engagementUuid,page_type:'overview',sub_id:vm.data.checklist.uuid}}); - } - else { - toastService.setToast(response.error, 'danger'); - $rootScope.ice.loader.show = false; - } - }) - .catch(function (error) { - $log.error(error); - toastService.setToast(error.status + ': Error changing progress!', 'danger'); - }); - break; - case 'reject': - vm.openSetState(action,vm.data.checklist); - break; - case 'next_step': - vm.openNextSteps(vm.data.checklist); - break; - } - }; - - vm.formatDate = function (create_time) { - var region = moment().tz( moment.tz.guess()).format('z'); - var dt = ""; - dt = moment(create_time).local().format('YYYY-MM-DD hh:mm:ss A') + " " + region; - return dt; - }; - - // add decision log - vm.submitDecisionAuditLog = function () { - - var jsonPost = {"description":vm.selected_decision.new_audit_log_description}; - checklistService.createAuditlogDecisionChecklist(vm.selected_decision.uuid, jsonPost) - .then(function (response) { - if (response.status === 200) - { - if (vm.data.decisionAuditLogs[vm.selected_decision.uuid] == undefined) - vm.data.decisionAuditLogs[vm.selected_decision.uuid] = [] - vm.data.decisionAuditLogs[vm.selected_decision.uuid].push(response.data); - vm.selected_decision.new_audit_log_description = "" - } - else - { - toastService.setToast(response.error, 'danger'); - $rootScope.ice.loader.show = false; - } - }) - .catch(function (error) { - toastService.setToast(error.message, 'danger'); - $log.error(error.message); - }); - } - - // choose active decision - vm.selectDecision = function(decision,$event) { - if(vm.selected_decision != decision || vm.selected_decision.selected === undefined) { - // remove status from previos decision - vm.selected_decision.selected = false; - - // populate new decision - vm.selected_decision = decision; - vm.selected_decision.selected = true; - - $scope.$$postDigest(function () { - // Make extended window follow selected decision line - if ($event != undefined) - { - var line_item_bottom_offset = angular.element($event.target).prop('offsetHeight') + angular.element($event.target).prop('offsetTop'); - var extendended_item_height = angular.element("#line-item-extended").prop('offsetHeight'); - var diff_between_elements = line_item_bottom_offset - extendended_item_height; - if (diff_between_elements > 0) - { - angular.element("#line-item-extended").css('margin-top',(20+diff_between_elements) +'px') - } else { - angular.element("#line-item-extended").css('margin-top','') - } - } - }); - } - }; - - // next steps modal - vm.openNextSteps = function(checklist) { - var modalInstance = $uibModal.open( - { - templateUrl: 'main/modals/next-steps/next-steps.html', - controller: 'NextStepsModalController', - controllerAs: 'vm', - size: 'lg', - resolve: { - engagement_team: function () { - return checklist.engagement.engagement_team; - }, - title: function () { - return checklist.name; - }, - associated_files: function () { - return checklist.repo_associated_files; - }, - engagement_uuid: function () { - return checklist.engagement.uuid; - }, - checklist: function () { - return checklist; - }, - nextstep: function () { - return undefined; - } - - } - }); - - modalInstance.result.then(function (data) { - if (data === 200) { - $rootScope.$broadcast('onUpdateEngagements',{select:{uuid:engagementUuid,page_type:'overview',sub_id:checklist.uuid}}); - } - }, function () { - }); - }; - - // set state modal - vm.openSetState = function(action,checklist) { - var modalInstance = $uibModal.open( - { - templateUrl: 'main/modals/checklist/state-approve-or-reject/state-approve-or-reject.html', - controller: 'stateDecisionModalController', - controllerAs: 'vm', - resolve: { - checklist: function () {return checklist}, - action: function () {return action} - } - }); - - modalInstance.result.then(function (data) { - if (data) { - $rootScope.$broadcast('onUpdateEngagements',{select:{uuid:engagementUuid,page_type:'overview',sub_id:checklist.uuid}}); - } - }, function () { - }); - - }; - - vm.openJenkinsLogModal = function () { - var modalInstance = $uibModal.open({ - templateUrl: 'main/modals/general-log-modal/general-log-modal.html', - controller: 'GeneralLogModalController', - controllerAs: 'vm', - size: 'general-log-modal', - resolve: { - modalDetails: function () { - return { - "headline": 'Jenkins log', - "body": vm.data.checklist.jenkins_log, - }; - } - } - }); - }; - - // audit log modal - vm.auditLog = function() { - - var auditLogData = { - name:vm.data.checklist.name, - uuid:vm.data.checklist.uuid, - checklistAuditLogs: vm.data.checklistAuditLogs - - }; - - var modalInstance = $uibModal.open( - { - templateUrl: 'main/modals/audit-log/audit-log.html', - controller: 'AuditLogModalController', - controllerAs: 'vm', - size: 'lg' - - , - resolve: { - wizardData: function () { - return auditLogData; - } - } - }); - - modalInstance.result.then(function (data) { - if (data) { - vm.data.checklistAuditLogs.push(data); - } - }, function () { - $log.debug('Modal dismissed at: ' + new Date()); - }); - }; - - // edit checklist - vm.editChecklist = function() { - var checklistData = { - uuid:vm.data.checklist.uuid, - name:vm.data.checklist.name, - templates:vm.data.checklist.templates, - selectedTemplateUuid:vm.data.checklist.template.uuid, - selectedTemplateName:vm.data.checklist.template.name, - associatedFiles:vm.data.checklist.associated_files, - state:vm.data.checklist.state - }; - - var modalInstance = $uibModal.open({ - templateUrl: 'main/modals/checklist/checklist.html', - controller: 'ChecklistModalController', - controllerAs: 'vm', - size: 'lg' - , - resolve: { - wizardData: function () { - return checklistData; - }, - engagementUuid: function () { - return engagementUuid; - }, - modal_type: function () { - return 'update'; - } - } - }); - modalInstance.result.then(function (data) { - if (data) { - vm.data.checklist.name = data.checklist_name; - vm.data.checklist.associated_files = data.associated_files; - } - }); - }; - - init(); - } -})(); diff --git a/d2ice.att.io/app/main/dashboard/checklist/checklist.html b/d2ice.att.io/app/main/dashboard/checklist/checklist.html deleted file mode 100755 index b8da8836..00000000 --- a/d2ice.att.io/app/main/dashboard/checklist/checklist.html +++ /dev/null @@ -1,117 +0,0 @@ - -
-
- -
-
-

- - Checklist: - {{vm.data.checklist.name}} -

-
- -
- - - -
-
    -
  • Audit Log ({{vm.data.checklistAuditLogs.length}})
  • -
  • Jenkins Log
  • - -
-
-
- -
-
    -
  • Section {{section.counter}}: {{section.section.name}}

    -
      -
    • - {{decision.counter}} - {{decision.lineitem.name}} - - -
    • -
    -
  • -
- -
-
diff --git a/d2ice.att.io/app/main/dashboard/checklist/checklist.less b/d2ice.att.io/app/main/dashboard/checklist/checklist.less deleted file mode 100755 index 5e0d228e..00000000 --- a/d2ice.att.io/app/main/dashboard/checklist/checklist.less +++ /dev/null @@ -1,826 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -.cl-action-button{ - width: 30%; - margin-bottom: 2%; - margin-right: 3%; - &:last-child { - margin-right: 0; - } - -} -#main .popover { - max-width: 330px; -} -// Pop over rules -.popover { - border: 2px solid #15B3E8; - .m_14_r; - z-index:100000; -} - -.popover .popover-title { - background-color: white; - margin-top: 5px; - .a_18_m; - padding: 5px 10px; -} - -.popover .popover-content { - padding: 5px 10px; - .m_16_r; -} -.popover .popover-content ul{ - list-style-type: none;// square; - padding-left:0px; - margin-left:0px; - .m_16_r; - word-wrap: break-word; -} -.cl-action-control { - padding-left:8% -} - -.checkList { - height:100%; - > #checklist-main-section { - height:80% !important; - } - - .blocked-area { - pointer-events: none; - opacity: 0.5; - filter: alpha(opacity=50); - background-color: white; - } - - #modal_header_checklist { - margin-top:0px; - padding: 0 29px; - } - - #modal-header-checklist-15 { - margin-top:0px; - padding: 0 15px; - } - - .rows { - - } - - - .font-deco { - text-decoration-line: underline; - text-decoration-style: dashed; - } - - .lineColor - { - background-color:#F6F3F3; - } - - .font_header - { - .m_18_m; - } - - .font_header_chk_name - { - .m_18_r; - } - - .font_user_name - { - .m_18_m; - } - - .font_date - { - .m_14_r; - } - - .font_line - { - border-bottom: 1px solid grey; - } - - .font_desc - { - .m_16_r; - text-align:left; - } - - .pad0 - { - padding:0px; - } - - .dash - { - border-bottom: dashed 1px; - border-color: @main_color_q; - padding: 0px; - } - - .italic - { - font-style:italic; - } - - - #modal-title { - margin: 0px; - } - - .checkList-form { - max-height: 100%; - //overflow-y: auto; - //overflow-x: hidden; - - #audit-log-lines { - - } - - - #checklist-subject - { - padding:0 15px; - margin-bottom: 0px; - } - - .checklist-modal-multi-select { - margin-top: 1%; - - .btn-group .btn { - .m_14_m; - } - } - - .btn { - width: 100%; - } - - .action-buttons{ - width: 100%; - margin-bottom: 7px; - } - - .col-no-pad - { - padding:0px; - } - - .col-no-top - { - margin:0px 0px 0px 0px; - } - - .text-right - { - text-align:right; - } - - .modal-header { - display: flex; - flex-direction: row; - - h2, h3 { - display: inline-block; - flex-grow: 10; - } - } - - .font_title - { - .a_16_m; - } - - .add-icon { - .sprite; - .sprite.add; - display: inline-block; - } - - - .add-button { - margin-top: 8px; - display: block; - .add-text { - .a_16_m; - vertical-align: top; - margin-left: 6px; - } - - } - - .margin_btm - { - margin-bottom:12px; - } - - .margin_top - { - margin-top:12px; - } - - .margin_btm5 - { - margin-bottom: 5px; - } - - - .personImage - { - .profiles-sprite; - .profiles-sprite.profile-large; - display: block; - } - - .table{ - margin-bottom: 0; - } - - .table-container-flex { - - .data-row-wrapper { - padding: 10px 20px; - } - - .flex-item:nth-child(1) { - padding-left: 0; - flex-grow: 25; - } - - .flex-item:nth-child(2) { - flex-grow: 25; - } - - .flex-item:nth-child(3) { - flex-grow: 25; - } - - .flex-item:nth-child(4) { - flex-grow: 25; - } - - } - - .table-container-flex-a { - - .data-row-wrapper { - padding: 10px 20px; - } - - .flex-item-a:nth-child(1) { - - padding-left: 0; - flex-grow: 40; - width:90%; - float:left; - } - - .flex-item-a:nth-child(2) { - - flex-grow: 25; - width:10%; - float:left; - } - } - //.a_16_m; - - .remove-icon { - cursor: pointer; - vertical-align: text-top; - //.sprite; - //.sprite.delete;//-circle; - .actions-sprite; - .actions-sprite.delete_large; - - display:block; - position:relative; - top:11px; - } - - - - - //.btn-primary-with-margin { - // border: 1px solid #8799A3; - // border-radius: 6px; - // background: #1E79B0; /* For browsers that do not support gradients */ - // background: -webkit-linear-gradient(#1E79B0, #62ADD5); /* For Safari 5.1 to 6.0 */ - // background: -o-linear-gradient(#1E79B0, #62ADD5); /* For Opera 11.1 to 12.0 */ - // background: -moz-linear-gradient(#1E79B0, #62ADD5); /* For Firefox 3.6 to 15 */ - // background: linear-gradient(#1E79B0, #62ADD5); /* Standard syntax (must be last) */ - // margin-bottom:7px; - //} - // - //.btn-primary { - // border: 1px solid #8799A3; - // border-radius: 6px; - // background: #1E79B0; /* For browsers that do not support gradients */ - // background: -webkit-linear-gradient(#1E79B0, #62ADD5); /* For Safari 5.1 to 6.0 */ - // background: -o-linear-gradient(#1E79B0, #62ADD5); /* For Opera 11.1 to 12.0 */ - // background: -moz-linear-gradient(#1E79B0, #62ADD5); /* For Firefox 3.6 to 15 */ - // background: linear-gradient(#1E79B0, #62ADD5); /* Standard syntax (must be last) */ - //} - - - .flex-item-a:nth-child(0) { - padding-left: 0; - flex-grow: 40; - width:80% - } - - .flex-item-a:nth-child(1) { - flex-grow: 25; - width:20%; - } - - //.content { - - .steps-progress-wrapper { - margin-top: 10px; - } - - .fnt - { - font-size:20px; - } - - h1 { - .a_36; - margin: 0 0 30px 0; - } - - h3 { - .m_18_m; - } - h2 { - margin: 0 0 10px 0; - .a_24_m; - position: relative; - .add-people, - .add-step { - .sprite; - .sprite.add; - display: inline-block; - margin-left: 8px; - cursor: pointer; - } - } - - .main-section { - margin-top: 30px; - } - } - - // dashboard css - padding:0 20px; - - #state-bar { - float:none; - height: 5%; - - } - #state-bar > ul { - border-bottom: dashed 1px; - border-color: @main_color_q; - padding-bottom:2px; - } - #state-bar > ul > li { - .m_14_r; - text-transform: uppercase; - text-align: left; - } - #state-bar > ul > li.active { - font-family:@font-omnes-bold; - } - - #state-bar > ul > li > .state-icon { - display: inline-block; - position: relative; - top: 2px; - margin-right:5px; - } - - #cl-header { - height:12%; - padding-top:1%; - } - - #cl-header > #cl-title { - padding-left: 0px; - .a_24; - } - #cl-header > #cl-title > span.bold { - .a_24_m; - } - #cl-header > #cl-title > #edit-checklist { - display: inline-block; - margin-right: 5px; - cursor: pointer; - } - - #cl-side-actions { - list-style: none; - margin-top: 5px; - } - - - #cl-side-actions > li { - display:inline-block; - margin-left:5px; - .n_12_m; - } - - .cl-action-buttons-frame{ - - list-style: none; - text-align: right; - } - - .cl-btn-associated { - border-bottom: 1px solid; - border-color: @main_color_l; - .a_26_m; - } - - .cl-btn-cl-audit { - margin-right: 15%; - border-bottom: 1px solid; - border-color: @main_color_l; - } - - - #state-actions { - display: inline-block; - border-bottom: 1px solid; - border-color: @main_color_q; - padding-bottom: 5px; - } - #state-actions button { - margin-left: 10px; - } - #state-actions button:first-child { - margin-left: 0px; - } - #cl-side-actions span { - cursor: pointer; - border-bottom: 2px solid @main_color_m; - //text-transform: uppercase; - border-bottom: 1px solid; - border-color: @main_color_q; - - } - - - #line-item-list { - list-style: none; - padding-right:15px; - } - - - #line-item-list > li { - margin-bottom: 25px; - } - #line-item-list > li > h2 { - text-transform: capitalize; - border-bottom: 1px solid; - border-color: @main_color_q; - width: 100%; - margin-bottom: 0px; - padding-left: 5px; - .m_24; - } - #line-item-list > li > h2 > span.bold { - .m_24_m; - } - - #line-item-list > li > ul { - list-style: none; - } - #line-item-list > li > ul >li.line-item-row { - border-bottom: 1px solid; - border-color: @main_color_q; - line-height: 30px; - padding: 0px; - vertical-align: middle; - height: 30px; - .m_16_r; - cursor: pointer; - } - - #line-item-list > li > ul >li.line-item-row .value-icon { - padding: 0px; - } - - #line-item-list > li > ul >li.line-item-row .value-icon span { - display: inline-block; - position: relative; - top: 3px; - margin-right: 5px; - margin-left: 3px; - width:15px; - height:15px; - } - - #line-item-list > li > ul >li.line-item-row .auto-icon { - text-align:right; - padding: 0px; - } - - #line-item-list > li > ul >li.line-item-row .auto-icon span { - display: inline-block; - position: relative; - top: 3px; - margin-right: 3px; - } - - #line-item-list > li > ul >li.line-item-row.selected-line { - background-color: @bg_color_a; - border-left: 2px solid; - border-top: 2px solid; - border-bottom: 2px solid; - border-color: @main_color_a; - position:relative; - z-index:1; - top: -1px; - left: -2px; - } - - #line-item-list > li > ul >li.line-item-row.selected-line > .selected-line-connector { - position: absolute; - right: -19px; - width: 20px; - height: 30px; - top: -2px; - background-color: @bg_color_a; - border-top: 2px solid; - border-bottom: 2px solid; - border-color: @main_color_a; - } - #line-item-extended { - background-color: @bg_color_a; - border: 2px solid; - border-color: @main_color_a; - padding:15px; - @media (min-width: 992px) { - max-height: 100%; - overflow-y: auto; - } - } - #line-item-extended >header { - padding: 0 30px; - padding-bottom: 0px; - } - #line-item-extended >header > h2 { - text-transform: capitalize; - padding:0px; - margin:0px; - line-height:32px; - .m_18_r; - } - #line-item-extended > header > h2 > span.bold { - .m_18_m; - } - #line-item-extended >header > #decision-actions { - list-style: none; - text-align: right; - margin:0px; - } - #line-item-extended >header > #decision-actions > li { - display: inline-block; - margin-left: 2px; - .sprite; - } - #line-item-extended >header > #decision-actions.active > li { - cursor:pointer; - } - - #line-item-extended >header > #decision-actions > li.not-relevant-btn { - .sprite.not-relevant-btn; - } - - #line-item-extended >header > #decision-actions.active > li.not-relevant-btn:hover { - .sprite.not-relevant-btn-active; - } - #line-item-extended >header > #decision-actions > li.not-relevant-btn.active { - .sprite.not-relevant-btn-active; - } - #line-item-extended >header > #decision-actions > li.denied-cl-btn { - .sprite.denied-cl-btn; - } - #line-item-extended >header > #decision-actions.active > li.denied-cl-btn:hover { - .sprite.denied-cl-btn-active; - } - #line-item-extended >header > #decision-actions > li.denied-cl-btn.active { - .sprite.denied-cl-btn-active; - } - #line-item-extended >header > #decision-actions > li.approved-cl-btn { - .sprite.approved-cl-btn; - } - #line-item-extended >header > #decision-actions.active > li.approved-cl-btn:hover { - .sprite.approved-cl-btn-active; - } - #line-item-extended >header > #decision-actions > li.approved-cl-btn.active { - .sprite.approved-cl-btn-active; - } - - - #line-item-extended > #line-item-description { - margin: 0 15px; - .m_16_r; - } - - #line-item-extended > #line-item-validation-instructions { - .m_14_r; - background-color: #fff; - border: 1px solid; - border-color: @main_color_a; - padding: 15px; - margin-top: 15px; - } - - #line-item-extended > #line-item-validation-instructions h3 { - text-transform: capitalize; - margin: 0px; - .m_18_m; - } - - #line-item-extended > #line-item-validation-instructions p { - margin-top: 5px; - - } - - #line-item-extended > #line-item-validation-instructions p ul { - padding-left: 15px; - } - - #line-item-extended > #line-item-audit-logs { - padding:0 15px; - } - - #line-item-extended > #line-item-audit-logs > h3 { - text-transform: capitalize; - .m_18_m; - - } - #line-item-extended > #line-item-audit-logs > #audit-log-list { - list-style:none; - - } - #line-item-extended > #line-item-audit-logs > #audit-log-list > li { - margin: 0 15px 10px; - border-bottom: 2px solid; - border-color: @main_color_q; - } - #line-item-extended > #line-item-audit-logs > #audit-log-list > li > .audit-creator { - .m_16_m; - margin:0px; - padding:0px; - } - #line-item-extended > #line-item-audit-logs > #audit-log-list > li > .audit-date { - text-align:right; - .m_14_r; - padding:0px; - } - #line-item-extended > #line-item-audit-logs > #audit-log-list > li > .audit-text { - .m_16_r; - margin-bottom:0px; - padding:0px; - } - - #line-item-extended > #line-item-audit-logs > #new-audit-log-from { - margin: 0 0 15px; - } - - #line-item-extended > #line-item-audit-logs > #new-audit-log-from #new-audit-log-text { - border-color: @main_color_q; - margin-bottom:15px; - } - - .btn-gradient-primary { - font-weight: bold; - color: #FFFFFF; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); - background-color: #37B2E5; - *background-color: #37B2E5; - background-image: -moz-linear-gradient(top, #0079AB, #37B2E5); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0079AB), to(#37B2E5)); - background-image: -webkit-linear-gradient(top, #0079AB, #37B2E5); - background-image: -o-linear-gradient(top, #0079AB, #37B2E5); - background-image: linear-gradient(to bottom, #0079AB, #37B2E5); - background-repeat: repeat-x; - border-color: #37B2E5; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0079AB', endColorstr='#37B2E5', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); - } - .btn-sample:hover, - .btn-sample:focus, - .btn-sample:active, - .btn-sample.active, - .btn-sample.disabled, - .btn-sample[disabled] { - color: #FFFFFF; - background-color: #37B2E5; - *background-color: #003bb3; - } - - .btn-gradient-success { - font-weight: bold; - color: #FFFFFF; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); - background-color: #41A02C; - *background-color: #41A02C; - background-image: -moz-linear-gradient(top, #A2E652, #41A02C); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#A2E652), to(#41A02C)); - background-image: -webkit-linear-gradient(top, #A2E652, #41A02C); - background-image: -o-linear-gradient(top, #A2E652, #41A02C); - background-image: linear-gradient(to bottom, #A2E652, #41A02C); - background-repeat: repeat-x; - border-color: #41A02C; - border-color: #888; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#A2E652', endColorstr='#41A02C', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); - } - .btn-sample:hover, - .btn-sample:focus, - .btn-sample:active, - .btn-sample.active, - .btn-sample.disabled, - .btn-sample[disabled] { - color: #FFFFFF; - background-color: #41A02C; - *background-color: #003bb3; - } - - .btn-gradient-danger { - font-weight: bold; - color: #FFFFFF; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); - background-color: #AE0020; - *background-color: #AE0020; - background-image: -moz-linear-gradient(top, #F74658, #AE0020); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#F74658), to(#AE0020)); - background-image: -webkit-linear-gradient(top, #F74658, #AE0020); - background-image: -o-linear-gradient(top, #F74658, #AE0020); - background-image: linear-gradient(to bottom, #F74658, #AE0020); - background-repeat: repeat-x; - border-color: #AE0020; - border-color: #888; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#F74658', endColorstr='#AE0020', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); - } - .btn-sample:hover, - .btn-sample:focus, - .btn-sample:active, - .btn-sample.active, - .btn-sample.disabled, - .btn-sample[disabled] { - color: #FFFFFF; - background-color: #AE0020; - *background-color: #003bb3; - } - - - - -} diff --git a/d2ice.att.io/app/main/dashboard/dashboard/dashboard.controller.js b/d2ice.att.io/app/main/dashboard/dashboard/dashboard.controller.js deleted file mode 100755 index b6183b79..00000000 --- a/d2ice.att.io/app/main/dashboard/dashboard/dashboard.controller.js +++ /dev/null @@ -1,235 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - 'use strict'; - angular - .module('ice.dashboard.dashboard',['angularUtils.directives.dirPagination', 'ngFileSaver']) - .controller('DashboardMainController', ["$rootScope", "pageService", "stepsService", "vfService", "usersService", - "iceConstants", "localStorageService", "FileSaver", "Blob", "cmsService", "$uibModal", "$log", dashboardMainController]); - - function dashboardMainController($rootScope, pageService, stepsService, vfService, usersService, iceConstants, - localStorageService, FileSaver, Blob, cmsService, $uibModal, $log) { - var vm = this; - - var init = function () { - pageService.setPage('dashboard'); - cmsService.setAnnouncementToast(); - localStorageService.setJson("ice.settings.eng_uuid",undefined); - vm.stages = iceConstants.stages; - vm.stages.all = 'All'; - vm.search_keyword = ''; - vm.search_stage = 'All'; - vm.statistic_stage_filter = 'All'; - vm.current_starting_offset = "0"; - vm.num_of_returned_items = 0; - vm.pagination_num_of_objects = 8; - vm.me = vm.user = usersService.getUserData(); - vm.isAdminRo = usersService.isUserInRole(iceConstants.roles.admin_ro); - vm.isEngagmentEL = usersService.isUserInRole(iceConstants.roles.el); - vm.isEngagmentLead = usersService.isEngagementEL(vm.team); - vm.isAdmin = usersService.isAdmin(vm.me); - vm.page_num = 1; - vm.searchEngagements(1); - vm.request_statistics_data(); - getUserNextSteps(); - }; - - vm.request_statistics_data = function(){ - vfService.getEngagements(vm.me.uuid) - .then(function (response) { - if (response.status === 200 && response.data && response.data !== '') { - vm.enagements_search_list = response.data; - var vfc_array = undefined; - var vfc_num = 0; - var eng_num = 0; - vm.enagements_search_list.forEach(function (engagement) { - if(vm.statistic_stage_filter == "All") { - eng_num++; - if (engagement.engagement_stage == "Validated" || engagement.engagement_stage == "Completed") { - if (engagement.vfc.length > 1) { - vfc_array = engagement.vfc.split(", ").length; - vfc_num += vfc_array; - } - } - } - else { - if(engagement.engagement_stage == vm.statistic_stage_filter){ - eng_num++; - if (engagement.vfc.length > 1 && (engagement.engagement_stage == "Validated" || engagement.engagement_stage == "Completed")) { - vfc_array = engagement.vfc.split(", ").length; - vfc_num += vfc_array; - } - } - } - - }); - - vm.vfc_num = vfc_num; - vm.eng_num = eng_num; - } - }) - .catch(function (error) { - $rootScope.ice.loader.show = false; - $log.error(error); - }); - - }; - - vm.onStageChange = function() { - vm.page_num = 1; - - vm.searchEngagements(); - }; - - vm.onKeywordChange = function() { - vm.page_num = 1; - - vm.searchEngagements(); - }; - - vm.searchEngagements = function () { - vm.current_starting_offset = (vm.page_num-1)*vm.pagination_num_of_objects; - vm.postData = {'stage': vm.search_stage, 'keyword': vm.search_keyword, 'offset': vm.current_starting_offset, 'limit': vm.pagination_num_of_objects}; - vfService.getExpandedEngagements(vm.postData) - .then(function (response) { - if (response.status === 200 && response.data && response.data !== '') { - vm.vf_search_list = response.data['array']; - vm.num_of_returned_items = response.data['num_of_objects']; - vm.vf_search_list.forEach(function (vf){ - var progress_needed_data = { - enable_edit: false, - completion_date: vf.engagement__target_completion_date, - ecomp_release: vf.ecomp_release__name, - vnf_version: vf.version, - aic_version: vf.deployment_target__version, - aic_instantiation_time:vf.engagement__aic_instantiation_time, - asdc_onboarding_time:vf.engagement__asdc_onboarding_time, - heat_validated_time:vf.engagement__heat_validated_time, - image_scan_time: vf.engagement__image_scan_time, - engagement_uuid: vf.engagement__uuid, - manual_id: vf.engagement__engagement_manual_id, - name: vf.vf__name, - starred: false - }; - vf.progress_needed_data = progress_needed_data; - vf.starred_users.forEach(function (user) { - if (vm.me.uuid == user) { - vf.progress_needed_data.starred = true; - } - }); - - - }); - vm.vf_display_list = vm.vf_search_list; - - addStatusesLoadedAttr(); - } - }) - .catch(function (error) { - $rootScope.ice.loader.show = false; - $log.error(error); - }); - }; - - vm.goToEngagement = function(uuid){ - $rootScope.$broadcast('searchSelectEngagement',uuid); - }; - - vm.exportEngagementCSV = function() { - var stage = vm.search_stage || ""; - var keyword = vm.search_keyword || ""; - $rootScope.ice.loader.show = true; - - vfService.exportEngagementsCSV(stage, keyword) - .then(function(response) { - if(response && response.data) { - var data = new Blob([response.data], {type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'}); - FileSaver.saveAs(data, 'D2Ice.xlsx'); - $rootScope.ice.loader.show = false; - } - }) - .catch(function (error) { - $rootScope.ice.loader.show = false; - $log.error(error); - }); - }; - - vm.openCMSReadMoreModal = function(cmsPost) { - if(cmsPost) { - $uibModal.open({ - templateUrl: 'main/modals/cms-post-modal/cms-post-modal.html', - controller: 'cmsPostModalController', - controllerAs: 'vm', - size: 'cms-post-read-more', - resolve: { - post: function () { - return cmsPost; - } - } - }); - } else { - $log.warn("Cannot open cms post.") - } - }; - - function getUserNextSteps() { - vm.userNextSteps = []; - - stepsService.getByUser() - .then(function(response) { - vm.userNextSteps = response.data.data; - vm.userNextStepsCount = response.data.count; - }) - .catch(function (error) { - $log.error(error); - }); - }; - - function addStatusesLoadedAttr() { - angular.element(document).ready(function () { - var statusesTitleElement = angular.element( document.querySelector('#dashboard-title')); - if(statusesTitleElement && statusesTitleElement.length === 1) { - statusesTitleElement.attr('list-loaded', 'true'); - } - }); - }; - - init(); - } -})(); diff --git a/d2ice.att.io/app/main/dashboard/dashboard/dashboard.html b/d2ice.att.io/app/main/dashboard/dashboard/dashboard.html deleted file mode 100755 index c03251b9..00000000 --- a/d2ice.att.io/app/main/dashboard/dashboard/dashboard.html +++ /dev/null @@ -1,111 +0,0 @@ - -
-
-
-

Statuses

- - Stage - - - -
- -
- - -
- Export to Excel >> - -
-
- -
diff --git a/d2ice.att.io/app/main/dashboard/dashboard/dashboard.less b/d2ice.att.io/app/main/dashboard/dashboard/dashboard.less deleted file mode 100755 index 4c824796..00000000 --- a/d2ice.att.io/app/main/dashboard/dashboard/dashboard.less +++ /dev/null @@ -1,189 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. - .dashboard .content-container #content { - height: 100%; - overflow-y: auto; - } -.dashboard-view { - padding: 10px; - - .steps-progress-wrapper { - border:none; - background-color: @main_color_p; - } - - - #dashboard-main-panel { - #dashboard-header { - #dashboard-title { - .a_26_m; - margin:0px; - line-height:40px; - } - .search-filters { - text-align: right; - .m_16_m; - line-height:40px; - .search-filter-stage { - margin-left:10px; - display: inline-block; - width: 40%; - } - #search-filter-keyword { - margin-left:10px; - display: inline-block; - width: 40%; - } - - } - } - #search-results { - .progress-bar-row { - padding:0px; - } - - .progress-bar-row:nth-child(even) .steps-progress-wrapper { - background-color: @func_color_r; - } - - #export-to-csv { - text-align : right; - .m_14_m; - text-decoration: underline; - cursor:pointer; - } - #engagements-pagination { - text-align:center; - .pagination { - margin:0px; - } - } - - } - - } - #dashboard-side-panel { - border-left: solid 1px @main_color_gray; - - #assgined-nextsteps { - border: 1px solid @toolbar_background_color; - padding:0px; - - #next-steps-header { - background-color: @toolbar_background_color; - .p_22_m; - padding: 10px 10px 0; - } - #next-steps-list { - list-style:none; - padding: 0 15px; - .next-step-details { - border-bottom: 1px dashed @main_color_a; - padding-bottom:10px; - - .next-step-details-header { - .engagement-title { - cursor:pointer; - .m_14_m; - margin-top: 15px; - margin-bottom: 0px; - .engagement-name { - text-decoration: underline; - } - } - .due-date { - .m_14_m; - margin-top: 10px; - margin-bottom: 0px; - text-align:right; - .due-date-icon { - } - } - } - .next-step-description { - .m_18_r; - margin: 3px 0px; - line-height: 20px; - } - .next-step-creation { - .m_14_r; - } - - } - .next-step-details:last-child { - padding:0px; - border:none; - } - } - } - .line-seperator { - border-bottom: dashed 1px @main_color_gray; - margin: 20px 0; - } - #statistics { - - border: 1px solid @main_color_gray; - padding:15px; - - #statistics-header { - margin-bottom: 10px; - h2 { - .m_24_m; - color: @main_color_gray; - margin: 0px; - } - .search-filters { - text-align: right; - .search-filter-stage { - margin-left:10px; - width:50%; - - } - } - } - #statistics-list { - .statistic-name { - } - .statistic-count { - text-align:right; - } - } - } - } -} diff --git a/d2ice.att.io/app/main/dashboard/detailed-view/detailed-view.controller.js b/d2ice.att.io/app/main/dashboard/detailed-view/detailed-view.controller.js deleted file mode 100755 index c8af53f7..00000000 --- a/d2ice.att.io/app/main/dashboard/detailed-view/detailed-view.controller.js +++ /dev/null @@ -1,245 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - 'use strict'; - angular - .module('ice.dashboard.main') - .controller('detailedViewController', ["$rootScope", "$stateParams", "vfcService", "dtsiteService", "usersService", - "$uibModal", "vfService", "$log", "_", detailedViewController]); - - function detailedViewController($rootScope, $stateParams, vfcService, dtsiteService, usersService, $uibModal, vfService, $log, _) { - var vm = this; - - var init = function () { - $rootScope.timeGapLocal = moment().format("z");// timeGap(); - $rootScope.ampm = moment().format('A'); - $rootScope.mom = moment().tz(moment.tz.guess()).format('z'); - vm.is_aic_edit_mode = false; - vm.is_ecomp_edit_mode = false; - vm.aic_loaded = false; - vm.ecomp_loaded = false; - - if($stateParams.engagement != undefined) { - vm.engagement = $stateParams.engagement; - } - - if (vm.engagement != undefined) - { - vm.me = usersService.getUserData(); - vfService.getSingleEngagement(vm.me.uuid,vm.engagement.uuid) - .then(function (response) { - $rootScope.ice.loader.show = false; - - if (response.status === 200 && response.data && response.data !== '') { - var vf_data = response.data; - - vm.engagement_manual_id = vf_data.engagement.engagement_manual_id; - vm.vf_name = vf_data.name; - vm.vf_version = vf_data.version; - vm.vf_uuid = vf_data.uuid; - vm.ecomp_release = vf_data.ecomp_release; - vm.target_lab = new Date(vf_data.target_lab_entry_date); - vm.dtversion = vf_data.deployment_target; - vm.selected_dt_uuid = vm.dtversion.uuid; - vm.selected_ecomp_uuid = vm.ecomp_release.uuid; - vm.me = usersService.getUserData(); - vm.name = vm.engagement.name; - vm.isEngagementEL = usersService.isEngagementEL(vf_data.engagement.engagement_team); - vm.isAdmin = usersService.isAdmin(vm.me); - initDTsites(); - initVfcs(); - } - }) - .catch(function (error) { - $rootScope.ice.loader.show = false; - $log.error(error); - }); - - } - }; - - - vm.addVfc = function () { - var modalInstance = $uibModal.open({ - templateUrl: 'main/modals/detailed-view/vfc/detailed-view-vfc-modal.html', - controller: 'detailedViewVFCModalController', - controllerAs: 'vm', - resolve: { - vf_uuid: function () { - return vm.vf_uuid; - }, - } - }); - modalInstance.result.then(function (data) { - if (data) { - initVfcs(); - } - }); - }; - this.personArray = [vm.dtversion,vm.vf_uuid]; - - vm.editValidationDetails = function () { - var modalInstance = $uibModal.open({ - templateUrl: 'main/modals/validation-details/detailed-view-validation-details-modal.html', - controller: 'validationDetailsModalController', - controllerAs: 'vm', - resolve: { - vf_uuid: function () { - return vm.vf_uuid; - } - } - }); - modalInstance.result.then(function (data) { - if (data) { - init(); - } - }); - }; - - vm.addDTS = function () { - if(vm.isEngagementEL || vm.isAdmin) { - var modalInstance = $uibModal.open({ - templateUrl: 'main/modals/detailed-view/dtsite/detailed-view-dtsites-modal.html', - controller: 'detailedViewDtsitesModalController', - controllerAs: 'vm', - resolve: { - vf_uuid: function () { - return vm.vf_uuid; - }, - } - }); - - modalInstance.result.then(function (data) { - if (data) { - if(data === 200) { - initDTsites(); - } - } - }); - } - }; - - - vm.changeTargetLabEntry = function(){ - var modalInstance = $uibModal.open({ - templateUrl: 'main/modals/target-lab-entry/change-lab-entry-date.html', - controller: 'ChangeLabEntryDateModalController', - controllerAs: 'vm', - resolve: { - targetLabDate: function () { - return vm.target_lab; - }, - engagementUuid: function () { - return vm.engagement.uuid; - } - } - }); - modalInstance.result.then(function (data) { - if (!data){ - return; - } - else { - vm.target_lab = new Date(data.target_date); - $log.debug("data.target_date",data.target_date) - $log.debug("vm.target_lab",vm.target_lab) - } - }, function () { - $log.error('Modal dismissed at: ' + new Date()); - }); - }; - //In case user press the delete icon next to a VFC, this function would be activated - vm.deleteVfc = function(vfc_uuid){ - vfcService.delete(vfc_uuid,vm.vf_uuid) - .then(function (response) { - if (response.status === 204) { - initVfcs(); - } - }) - .catch(function (error) { - $log.error(error); - }); - }; - - vm.deleteDTSite = function(vfUuid, dtsUuid){ - dtsiteService.delete(vm.vf_uuid, dtsUuid) - .then(function (response) { - if (response.status === 204) { - initDTsites(); - } - }) - .catch(function (error) { - $log.error(error); - }); - }; - - - var initDTsites = function() { - if(vm.isEngagementEL || vm.isAdmin) { - $rootScope.ice.loader.show = true; - dtsiteService.getVFSites(vm.vf_uuid) - .then(function (response) { - $rootScope.ice.loader.show = false; - if (response.status === 200) { - vm.dtsites = response.data; - } - }) - .catch(function (error) { - $rootScope.ice.loader.show = false; - $log.error(error); - }); - } - }; - - var initVfcs = function() { - $rootScope.ice.loader.show = true; - vfcService.get(vm.vf_uuid) - .then(function (response) { - $rootScope.ice.loader.show = false; - if (response.status === 200) { - vm.vfcs = response.data; - } - }) - .catch(function (error) { - $rootScope.ice.loader.show = false; - $log.error(error); - }); - }; - init(); - } -})(); diff --git a/d2ice.att.io/app/main/dashboard/detailed-view/detailed-view.html b/d2ice.att.io/app/main/dashboard/detailed-view/detailed-view.html deleted file mode 100755 index 02eb760a..00000000 --- a/d2ice.att.io/app/main/dashboard/detailed-view/detailed-view.html +++ /dev/null @@ -1,109 +0,0 @@ - -
-
-

{{vm.engagement_manual_id + ': '}}{{vm.vf_name}}

-
-
-
-
-
- Validation Details - -
-
-
-
ECOMP Release: {{vm.ecomp_release.name}}
-
-
-
Target AIC Version:{{vm.dtversion.version}}
-
-
-
VF Version: {{vm.vf_version}}
-
-
-
-
-
- Target Lab Entry - -
-
-

{{vm.target_lab | date:'shortDate'}}

-
-
-
-
- Deployment Targets - -
-
-
    -
  • - {{dts.name}} - - - - -
  • -
-
-
-
-
-
-
- Virtual Function Components - -
-
-
    -
  • - {{vfc.name +' (' + vfc.external_ref_id + ')'}} - - - - -
  • -
-
-
-
-
-
diff --git a/d2ice.att.io/app/main/dashboard/detailed-view/detailed-view.less b/d2ice.att.io/app/main/dashboard/detailed-view/detailed-view.less deleted file mode 100755 index dbac5c2d..00000000 --- a/d2ice.att.io/app/main/dashboard/detailed-view/detailed-view.less +++ /dev/null @@ -1,400 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -#detailed-view { - - padding:0px 30px 0px 30px; - - .glyphicon-cursor-detailed-view { - cursor: pointer; - margin-left: 0.5%; - } - - .detailed-view-edit-mode { - cursor: pointer; - margin-left: 0.5%; - display: inline-block; - position: relative; - top: 3px; - .sprite; - .sprite.edit-medium; - } - - .hide-element { - display:none; - } - - .show-select { - display:block; - margin-bottom: 3%; - } - - .row > h1 { - padding: 0px; - margin-bottom: 0px; - - .a_36; - - .bold { - .a_36_m; - } - } - - .remove-button { - height: 10px; - .a_16_m; - cursor: pointer; - - - .remove-icon { - .sprite; - .sprite.delete; - cursor: pointer; - display: block; - position: relative; - } - } - - .steps-progress-wrapper { - margin-top: 10px; - } - - - - h2 { - display: inline-block; - margin: 0 0 10px 0; - .a_24_m; - font-size: 20px; - position: relative; - .add-vfc { - .sprite; - .sprite.add; - display: inline-block; - margin-left: 8px; - cursor: pointer; - position: relative; - top: 3px; - } - } - - .main-section { - margin-top: 30px; - } - - .steps-header { - - .steps-filter { - display: inline-block; - float: right; - .a_16_m; - .todo { - .sprite; - .sprite.todo; - display: inline-block; - cursor: pointer; - } - .completed { - .sprite; - .sprite.pending; - display: inline-block; - cursor: pointer; - } - .confirmed { - .sprite; - .sprite.approved; - display: inline-block; - cursor: pointer; - } - } - } - - .vfc-column { - height: 100%; - padding-right: 20px; - padding-left: 20px; - padding-top: 20px; - - ul { - li.step { - - list-style: none; - position: relative; - padding: 5px 10px 0px 4px; - font-size: 16px; - } - } - } - - .vfc-steps { - border-right: dashed 1px @main_color_a; - height: 100%; - padding-right: 20px; - padding-left: 0px; - padding-top: 20px; - - ul { - li.step { - - list-style: none; - position: relative; - padding: 5px 10px 0px 4px; - font-size: 16px; - &:hover { - background-color: #DEF3FF; - - .details { - .actions { - span { - visibility: visible; - } - } - } - - } - - &.completed { - background-color: #dddddd; - opacity: 0.7; - } - - .description { - - .m_16_r; - border-bottom: dashed 1px @main_color_n; - padding: 10px 0; - - input { - position: absolute; - top: 10px; - left: 0; - margin-right: 20px; - } - - .step-text { - margin-left: 20px; - } - - .step-state { - - position: absolute; - top: 24px; - - &.todo { - .steps-sprite; - .steps-sprite.todo; - display: inline-block; - } - &.confirmed { - .steps-sprite; - .steps-sprite.confirmed; - display: inline-block; - } - &.completed { - .steps-sprite; - .steps-sprite.completed; - display: inline-block; - } - &.completed-non-el { - .steps-sprite; - .steps-sprite.completed-non-el; - display: inline-block; - } - } - - } - .details { - .m_12_r; - margin: 6px 0 10px 0; - - .actions { - float: right; - margin-top: 2px; - - span { - visibility: hidden; - } - - .moveto-confirmed { - .actions-sprite; - .actions-sprite.approve_large; - display: inline-block; - cursor: pointer; - } - .moveto-todo { - .actions-sprite; - .actions-sprite.reject_large; - display: inline-block; - cursor: pointer; - } - .moveto-delete { - .actions-sprite; - .actions-sprite.delete_large; - display: inline-block; - cursor: pointer; - } - } - } - } - } - - } - #deployment-targets { - border: 1px solid @engagement_team_color; - padding:0px; - margin-bottom: 20px; - - #deployment-targets-header { - background-color: @engagement_team_color; - .p_18_m; - padding: 5px 5px 0; - line-height: 35px; - - .edit-target-completion { - font-size: 21px; - vertical-align: middle; - padding-left: 6px; - cursor:pointer; - } - } - - #deployment-targets-content { - .f-type._16_r; - margin: 15px; - } - } - #virtual-function-components { - border: 1px solid @engagement_status_color; - padding:0px; - margin-bottom: 20px; - - #virtual-function-header { - background-color: @engagement_status_color; - .p_18_m; - padding: 5px 5px 0; - line-height: 35px; - - .edit-target-completion { - font-size: 21px; - vertical-align: middle; - padding-left: 6px; - cursor:pointer; - } - } - - #virtual-function-content { - .f-type._16_r; - margin: 15px; - } - } - - #target-lab-entry { - border: 1px solid @target_completion_color; - padding:0px; - margin-bottom: 20px; - - #target-lab-entry-header { - background-color: @target_completion_color; - .p_18_m; - padding: 5px 5px 0; - line-height: 35px; - - .edit-target-completion { - font-size: 21px; - vertical-align: middle; - padding-left: 6px; - cursor:pointer; - } - } - - #target-lab-entry-content { - .f-type._16_r; - margin: 15px; - } - } - #validation-details { - border: 1px solid #4990E2; - padding:0px; - margin-bottom: 20px; - - #validation-details-header { - background-color: #4990E2; - .p_18_m; - padding: 5px 5px 0; - line-height: 35px; - - .edit-target-completion { - font-size: 21px; - vertical-align: middle; - padding-left: 6px; - cursor:pointer; - } - } - - #validation-details-content { - .f-type._16_r; - margin: 15px; - } - } - .team-and-logs { - height: 100%; - padding-left: 20px; - padding-top: 20px; - margin-left: -1px; - border-left: dashed 1px @main_color_a; - - .line{ - margin-bottom: 10px; - } - - } - - .add-next-step-form { - .ice-wysiwyg { - height: 200px; - .wysiwyg-menu > div { - background-color: #f1f1f1; - padding: 2px; - } - } - } - - .vfc-main-section { - margin-top: 0px; - } -} diff --git a/d2ice.att.io/app/main/dashboard/get-started-modal/get-started-modal.directive.js b/d2ice.att.io/app/main/dashboard/get-started-modal/get-started-modal.directive.js deleted file mode 100755 index 3676e51c..00000000 --- a/d2ice.att.io/app/main/dashboard/get-started-modal/get-started-modal.directive.js +++ /dev/null @@ -1,308 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - 'use strict'; - angular - .module('ice.dashboard.get-started-modal') - .directive('getStartedModal', function () { - return { - restrict: 'AEC', - scope: {}, - link: function (scope, elm, attrs) { - scope.$emit('openGettingStartedWizardLoaded'); - }, - controller: ['$rootScope', '$scope', '$uibModal', 'toastService', '$log', - function ($rootScope, $scope, $uibModal, toastService, $log) { - - var gm = this; - gm.data = {}; - - gm.openModal = function () { - toastService.clearToast(); - var modalInstance = $uibModal.open({ - templateUrl: 'main/dashboard/get-started-modal/wizard/wizard-container.html', - controller: 'ModalCtrl', - controllerAs: 'wizard', - resolve: { - wizardData: function () { - return gm.wizardData; - } - }, - backdrop: 'static' - }); - }; - - $scope.$on('openGettingStartedWizard', function (event, args) { - - gm.wizardData = args; - gm.openModal(); - }); - }], - controllerAs: 'gm' - }; - }) - .controller('ModalCtrl', ['$rootScope', '$scope', '$uibModalInstance', 'vfService', 'usersService', 'localStorageService', 'wizardData', 'toastService', '$log', '$i18next', - function ($rootScope, $scope, $uibModalInstance, vfService, usersService, localStorageService, wizardData, toastService, $log, $i18next) { - - var wizard = this; - wizard.steps = []; - wizard.data = {}; - wizard.user = wizardData.user; - wizard.is_service_provider_internal = wizardData.is_service_provider_internal; - wizard.eng_uuid = wizardData.eng_uuid; - wizard.requiredStep = wizardData.requiredStep; - - var serviceProviderName = $i18next.t('serviceProvider.name'); - - var availableSteps = { - addVF: {name: 'addVF', title: 'Add a VF'}, - addSponsor: { - name: 'addContact', - title: 'Add ' + serviceProviderName +' Sponsor', - mode: 'sponsor', - submitButton: 'Add ' + serviceProviderName + ' Sponsor' - }, - addVendor: { - name: 'addContact', - title: 'Add Vendor Contact', - mode: 'vendor', - submitButton: 'Add Vendor Cotact', - }, - inviteMembers: {name: 'inviteMembers', title: 'Invite Team Members'}, - addSSH: {name: 'addSSH', title: 'Add SSH Key'} - }; - - wizard.setStep = function (step) { - wizard.currentStep = step - wizard.title = step.title; - step.completed = true; - }; - - function initWizard() { - - $rootScope.ice.loader.show = true; - - if (wizardData.showActivationMessage) { - toastService.setToast('You have successfully activated your account!', 'success', {displayFor: 'modal'}); - } - - wizard.stepIndex = 0; - - if (wizard.requiredStep) { - wizard.steps.push(availableSteps[wizard.requiredStep]); - wizard.setStep(wizard.steps[wizard.stepIndex]); - $rootScope.ice.loader.show = false; - return; - } - - if (!wizard.eng_uuid || wizard.eng_uuid === "") { - wizard.steps.push(availableSteps.addVF); - } - if (wizard.user.is_service_provider_contact === true && !wizard.is_service_provider_internal) { - wizard.steps.push(availableSteps.addVendor); - } else if (!wizard.user.is_service_provider_contact) { - wizard.steps.push(availableSteps.addSponsor); - } - - getCompanies(); - - wizard.steps.push(availableSteps.inviteMembers); - - var userData = usersService.getUserData() || {}; - var ssh_public_key = userData.ssh_public_key; - if ((wizard.user.ssh_public_key === "" || wizard.user.ssh_public_key === null) && - (ssh_public_key === "" || ssh_public_key === null)) { - wizard.steps.push(availableSteps.addSSH); - } - - $rootScope.ice.loader.show = false; - wizard.setStep(wizard.steps[wizard.stepIndex]); - } - - initWizard(); - - wizard.getCurrentStep = function () { - return wizard.currentStep.name; - }; - - wizard.nextStep = function () { - wizard.clearMessage(); - wizard.stepIndex++; - - if (wizard.stepIndex === (wizard.steps.length)) { - wizard.closeWizard(); - return; - } - - wizard.setStep(wizard.steps[wizard.stepIndex]); - }; - - wizard.closeWizard = function () { - wizard.clearMessage(); - $uibModalInstance.close(); - - }; - - wizard.clearMessage = function () { - toastService.clearToast(); - }; - - wizard.onAddContactSubmit = function () { - $rootScope.ice.loader.show = true; - wizard.data.addContact.eng_uuid = wizard.eng_uuid; - - if (wizard.user.is_main_vendor_contact === true && !wizard.is_service_provider_internal) { - wizard.data.addContact.company = wizard.data.addContact.company; - } else if (!wizard.user.is_main_vendor_contact) { - wizard.data.addContact.company = wizard.data.attCompanyUuid; - } - - usersService.addVendorContact(wizard.data.addContact) - .then(function (response) { - if (response.status === 200) { - $rootScope.ice.loader.show = false; - wizard.nextStep(); - } - }, function (error) { - toastService.setToast(error.message, 'danger', {displayFor: 'modal'}); - $log.error(error.message); - $rootScope.ice.loader.show = false; - }) - .catch(function (error) { - wizard.Msg = error.status + " : " + error.statusText; - wizard.bgColor = "#FFEBEB"; // RED #FFEBEB green DFF0D9 - $log.error(error); - $rootScope.ice.loader.show = false; - }); - }; - - wizard.onInviteSubmit = function () { - $rootScope.ice.loader.show = true; - var is_service_provider_internal; - var jsonInviteMembers = []; - angular.forEach(wizard.inviteMembers.choices, function (value, key) { - wizard.item = []; - var jsonItem = new Object(); - jsonItem.email = value.email; - jsonItem.eng_uuid = wizard.eng_uuid; - jsonInviteMembers.push(jsonItem); - }); - - vfService.inviteMembers(JSON.stringify(jsonInviteMembers)) - .then(function (response) { - if (response.status === 200) { - wizard.nextStep(); - } - $rootScope.ice.loader.show = false; - }) - .catch(function (error) { - toastService.setToast(error.message.detail, 'danger', {displayFor: 'modal'}); - $rootScope.ice.loader.show = false; - $log.error(error.message); - }); - }; - - wizard.inviteMembers = { - choices: [ - { - email: '', - eng_uuid: '' - }] - }; - - wizard.addNewChoice = function () { - var newItemNo = wizard.inviteMembers.choices.length + 1; - wizard.inviteMembers.choices.push({'id': newItemNo}); - }; - - wizard.removeChoice = function () { - var lastItem = wizard.inviteMembers.choices.length - 1; - wizard.inviteMembers.choices.splice(lastItem); - }; - - wizard.onAddSSHSubmit = function () { - $rootScope.ice.loader.show = true; - usersService.setSSHKey(wizard.user.uuid, wizard.data.addSSH) - .then(function (response) { - if (response.status === 200) { - usersService.getIceUser() - .then(function (response) { - if (response.status === 200 && response.data && response.data !== '') { - wizard.user = response.data; - $rootScope.ice.loader.show = false; - $scope.$emit('onUpdateEngagements'); - } - }); - wizard.nextStep(); - } - - }).catch(function (error) { - toastService.setToast(error.message.detail, 'danger', {displayFor: 'modal'}); - $rootScope.ice.loader.show = false; - $log.error(error.message.detail); - }); - }; - - $scope.$on('moveWizardNextStep', function (event, args) { - wizard.is_service_provider_internal = args.is_service_provider_internal; - wizard.eng_uuid = args.engagement.uuid; - wizard.nextStep(); - }); - - function getCompanies() { - vfService.getCompanies() - .then(function (response) { - if (response.status === 200) { - wizard.companies = response.data; - if(wizard.companies!=undefined){ - for(var i=0; i diff --git a/d2ice.att.io/app/main/dashboard/get-started-modal/get-started-modal.less b/d2ice.att.io/app/main/dashboard/get-started-modal/get-started-modal.less deleted file mode 100755 index 81381198..00000000 --- a/d2ice.att.io/app/main/dashboard/get-started-modal/get-started-modal.less +++ /dev/null @@ -1,47 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. - -.getting-started-wizard { - - ul.step-indication { - li { - display: inline; - } - } -} diff --git a/d2ice.att.io/app/main/dashboard/get-started-modal/get-started-modal.module.js b/d2ice.att.io/app/main/dashboard/get-started-modal/get-started-modal.module.js deleted file mode 100755 index 6e54399a..00000000 --- a/d2ice.att.io/app/main/dashboard/get-started-modal/get-started-modal.module.js +++ /dev/null @@ -1,48 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. - -(function () { - - 'use strict'; - - angular - .module('ice.dashboard.get-started-modal', ['ngAnimate', 'ui.bootstrap', 'ice.activation.addVf']); - - -})(); diff --git a/d2ice.att.io/app/main/dashboard/get-started-modal/wizard/wizard-container.html b/d2ice.att.io/app/main/dashboard/get-started-modal/wizard/wizard-container.html deleted file mode 100755 index 97628a62..00000000 --- a/d2ice.att.io/app/main/dashboard/get-started-modal/wizard/wizard-container.html +++ /dev/null @@ -1,192 +0,0 @@ - - -
- - - - - -
diff --git a/d2ice.att.io/app/main/dashboard/get-started-modal/wizard/wizard.less b/d2ice.att.io/app/main/dashboard/get-started-modal/wizard/wizard.less deleted file mode 100755 index 4398d975..00000000 --- a/d2ice.att.io/app/main/dashboard/get-started-modal/wizard/wizard.less +++ /dev/null @@ -1,255 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -.dev-button { - position: absolute; - top: 0; - left: 0; -} - -.reject_large { - .actions-sprite; - .actions-sprite.reject_large; - cursor: pointer; -} - -.modal-content { - .getting-started-wizard { - .modal-header { - display: flex; - flex-direction: row; - - h2, h3 { - display: inline-block; - flex-grow: 10; - } - } - - .modal-body { - .btn { - width: 100%; - } - - .btn-primary { - border: 1px solid #8799A3; - border-radius: 6px; - background: #1E79B0; /* For browsers that do not support gradients */ - background: -webkit-linear-gradient(#1E79B0, #62ADD5); /* For Safari 5.1 to 6.0 */ - background: -o-linear-gradient(#1E79B0, #62ADD5); /* For Opera 11.1 to 12.0 */ - background: -moz-linear-gradient(#1E79B0, #62ADD5); /* For Firefox 3.6 to 15 */ - background: linear-gradient(#1E79B0, #62ADD5); /* Standard syntax (must be last) */ - } - } - } -} - -.getting-started-wizard { - - - - - - md-datepicker.btn.datepicker_btn { - .md-datepicker-input { - width: 100%; - text-align: center; - line-height: 32px; - } - } - #vf-name-title { - font-size: 16px; - } - #title-key-metadata{ - font-size: 16px; - position: relative; - top: 20px; - left: 30px; - background: white; - padding: 0 20px; - margin-top: -15px; - } - .fields_key_metadata{ - border:1px solid #ccc; - padding: 26px 10px; - - } - /* Override addVf pages styles */ - .container { - width: auto; - - .col-md-2 { width: 0; } - .col-md-8 { width: 100%; } - - .table-container-flex .flex-item { - padding: 5px 5px; - } - - .remove-button { - display: none; - } - } - - .table-container-flex { - - .flex-item:nth-child(1) { - padding-left: 0; - flex-grow: 33; - } - - .flex-item:nth-child(2) { - flex-grow: 33; - } - - .flex-item:nth-child(3) { - flex-grow: 33; - } - - } - - ul.step-indication { - list-style: none; - display: inline-block; - - li { - display: inline-block; - background-color: #DDDDDD; - width: 30px; - height: 30px; - margin-right: 10px; - padding: 6px 11px; - .m_14_m; - - &.selected { - .p_14_m; - background-color: #1370A3; - } - - &:last-child { - margin-right: 0; - } - } - } - - .addVendorContact-form { - padding: 20px 0 0 0; - - button { - margin-top: 10px; - } - } - - .inviteMembers-form { - padding: 20px 0 0 0; - - button { - margin-top: 10px; - } - - .add-button { - margin-top: 8px; - display: block; - .add-text { - .a_16_m; - vertical-align: top; - margin-left: 6px; - } - .add-icon { - .sprite; - .sprite.add; - display: inline-block; - } - } - - .remove-button { - vertical-align:middle; - .a_16_m; - cursor: pointer; - - .remove-icon { - display: inline-block; - vertical-align: text-top; - margin-right: 6px; - .sprite; - .sprite.delete-circle; - cursor: pointer; - } - } - - - .remove-button { - vertical-align:middle; - .a_16_m; - cursor: pointer; - - .reject-large { - display: inline-block; - vertical-align: text-top; - margin-right: 6px; - .sprite; - .sprite.delete-circle; - cursor: pointer; - } - } - - .input-wrapper { - margin-bottom: 10px; - } - - } - - .addVf-form { - padding: 0; - } - - .addSsh-form { - padding: 0; - - .form-group { - margin-top: 20px; - } - - button { - margin-top: 10px; - } - - textarea { - min-height: 80px; - } - } - -} diff --git a/d2ice.att.io/app/main/dashboard/main.module.js b/d2ice.att.io/app/main/dashboard/main.module.js deleted file mode 100755 index 01a34a84..00000000 --- a/d2ice.att.io/app/main/dashboard/main.module.js +++ /dev/null @@ -1,107 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - 'use strict'; - - angular - .module('ice.dashboard.main', ['ice.dashboard.get-started-modal']) - .config(config); - - function config($stateProvider) { - - $stateProvider - .state('app.dashboard', { - abstract: true, - views: { - 'navigation@app': { - templateUrl: 'core/navigation/layouts/horizontal-navigation/navigation.html', - controller: 'NavigationController as vm' - } - }, - bodyClass: 'dashboard' - }). - state('app.dashboard.dashboard', { - url: '/dashboard/dashboard', - views: { - 'content@app': { - templateUrl: 'main/dashboard/dashboard/dashboard.html', - controller: 'DashboardMainController as vm' - }, - }, - params: {engagement_uuid: null,engagement:null,messagePass: null}, - bodyClass: 'dashboard' - }). - state('app.dashboard.overview', { - url: '/dashboard/overview', - views: { - 'content@app': { - templateUrl: 'main/dashboard/overview/overview.html', - controller: 'OverviewMainController as vm' - }, - }, - params: {engagement_uuid: null,engagement:null,messagePass: null}, - bodyClass: 'dashboard' - }). - state('app.dashboard.detailedview', { - url: '/dashboard/detailedview', - views: { - 'content@app': { - templateUrl: 'main/dashboard/detailed-view/detailed-view.html', - controller: 'detailedViewController as vm' - }, - }, - params: {engagement_uuid: null,engagement:null}, - bodyClass: 'dashboard' - }). - state('app.dashboard.checklist', { - url: '/dashboard/checklist', - views: { - 'content@app': { - templateUrl: 'main/dashboard/checklist/checklist.html', - controller: 'DashboardChecklistController as vm' - }, - }, - params: {engagement_uuid: null,sub_id:null,engagement:null}, - bodyClass: 'dashboard' - }); - - } - -})(); diff --git a/d2ice.att.io/app/main/dashboard/main/main.html b/d2ice.att.io/app/main/dashboard/main/main.html deleted file mode 100755 index f768619e..00000000 --- a/d2ice.att.io/app/main/dashboard/main/main.html +++ /dev/null @@ -1,172 +0,0 @@ - -
- - -
-
- -

{{vm.name}}

-
- GIT: {{vm.git_repo_url}} -
- -
- -
-
-
-
-

Next Steps

- - Files - - States - - -
-
    -
  • -
    - -
    -
    - - {{step.last_updater && step.last_updater.full_name || step.creator.full_name}} -  {{step.last_update_type}}:  - - {{(step.last_update_time) | date2: 'EEEE MMMM doo yyyy'}} at {{(step.last_update_time) | date: 'hh:mm' : timeGapLocal }} {{ampm}} {{mom}} -
    -
    -
    -
    -
    - {{(step['due_date']) | date2: 'EEEE MMMM doo yyyy'}} - - -
      - -
    • -
    • -
    - Associated Files ({{step.files.length}}) - -
    -
    -
  • -
-
-
- -
-

Current Status

- - Last updated {{(vm.status.update_time) | date2: 'EEEE MMMM doo yyyy'}} at {{(vm.status.update_time) | date: 'hh:mm' : timeGapLocal }} {{ampm}} {{mom}} - by {{vm.status.creator.full_name}} - -

{{vm.status.description == undefined && 'No status update has been provided yet.' || vm.status.description }}

-
- -
-

Team Members

-
    -
  • - -
  • -
-
- -
-

Activity Log

-
    -
  • - -
  • -
-
- -
- -
-
diff --git a/d2ice.att.io/app/main/dashboard/overview/overview.controller.js b/d2ice.att.io/app/main/dashboard/overview/overview.controller.js deleted file mode 100755 index 19d9839f..00000000 --- a/d2ice.att.io/app/main/dashboard/overview/overview.controller.js +++ /dev/null @@ -1,833 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { -//test - 'use strict'; - - angular - .module('ice.dashboard.overview',[]) - .controller('OverviewMainController', ["$scope","$rootScope", "_","$stateParams", "statusService", "stepsService", "vfService", "usersService", "iceConstants", "$uibModal", "cmsService", "toastService", "$state", "$log", overviewMainController]); - - function overviewMainController($scope,$rootScope,_, $stateParams, statusService, stepsService, vfService, usersService, iceConstants, $uibModal, cmsService, toastService, $state, $log) { - var vm = this; - - vm.sortableOptions = { - handle: ' .order-nextstep', - axis: 'y', - update: function(e, ui) { - stepsService.order_next_steps(vm.engagement.uuid, vm.steps) - .then(function (response) { - if (response.status === 200) { - $log.debug('updated'); - } - }) - .catch(function (error) { - $log.error(error); - }); - } - }; - - var init = function () { - cmsService.setAnnouncementToast(); - $rootScope.timeGapLocal = moment().format("z");// timeGap(); - $rootScope.ampm = moment().format('A'); - $rootScope.mom =moment().tz( moment.tz.guess()).format('z'); - - vm.engagement = $stateParams.engagement; - - if (vm.engagement != undefined) - { - vm.me = usersService.getUserData(); - vfService.getSingleEngagement(vm.me.uuid,vm.engagement.uuid) - .then(function (response) { - $rootScope.ice.loader.show = false; - - if (response.status === 200 && response.data && response.data !== '') { - vm.vf = response.data; - vm.is_service_provider_internal = vm.vf.is_service_provider_internal; - vm.name = vm.vf.name; - vm.manual_id = vm.vf.engagement.engagement_manual_id; - if(!vm.vf.git_repo_url || vm.vf.git_repo_url==-1){ - vm.git_repo_url = false; - } - else { - vm.git_repo_url = vm.vf.git_repo_url; - } - vm.storage_bucket_url = vm.manual_id + '_' + vm.name.toLowerCase(); - vm.team = vm.vf.engagement.engagement_team; - vm.me = usersService.getUserData(); - vm.stages = iceConstants.stages; - vm.stage = vm.vf.engagement.engagement_stage; - vm.stage_num = 0; - vm.set_stage_num(vm.stage); - vm.in_overview_page = true; - vm.uuid = vm.engagement.uuid; - vm.progress = vm.vf.engagement.progress; - vm.completion_date = vm.vf.engagement.target_completion_date; - vm.starred = false; - vm.isEngagmentLead = usersService.isUserInRole('el'); - vm.isEngagementEL = usersService.isEngagementEL(vm.team); - vm.isAdmin = usersService.isAdmin(vm.me); - vm.does_user_role_allow_action_array = [vm.isAdmin, vm.isEngagementEL]; - vm.unremoveable_users_from_eng_team_array = [vm.vf.engagement.reviewer.uuid, vm.vf.engagement.peer_reviewer.uuid, - vm.vf.engagement.creator.uuid] - if (vm.vf.engagement.contact_user != null) { - vm.unremoveable_users_from_eng_team_array.push(vm.vf.engagement.contact_user.uuid); - } - vm.states = iceConstants.states; - vm.states_select = serializeStates(iceConstants.states); - vm.selected_state_filter = getSelectedStatesByUserType(); - vm.steps = []; - vm.vf_name = vm.vf.name; - vm.vf.engagement.starred_engagement.forEach(function(user) { - if (vm.me.uuid == user.uuid) - vm.starred = true; - }); - vm.all_states = false; - vm.all_files = true; - initSteps(); - vm.initActivityLogs(); - vm.files = vm.vf.files; - vm.files_filter_options = []; - vm.files_filter_options = vm.files_filter_options.concat(vm.files); - vm.files_filter_options.push("Any file"); - vm.chosen_files_filter = ["Any file"]; - vm.show_step = true; - vm.status = false; - statusService.get(vm.uuid) - .then(function (response) { - if (response.status === 200) - { - vm.status = response.data; - } else - { - $log.error(response); - } - }) - .catch(function (error) { - vm.status = false; - $log.error(error.message); - }); - vm.progress_needed_data = getEngagementProgressData(); - } - }) - .catch(function (error) { - $rootScope.ice.loader.show = false; - $log.error(error); - }); - - } - }; - - vm.set_stage_num = function(state) { - switch (state) { - case 'Intake': - vm.stage_num = 1; - break; - case 'Active': - vm.stage_num = 2; - break; - case 'Validated': - vm.stage_num = 3; - break; - case 'Completed': - vm.stage_num = 4; - break; - }; - }; - - vm.checkIfAdmin = function(user){ - return usersService.isAdmin(user); - }; - - - vm.is_user_allowed = function(){ - if(_.includes(vm.does_user_role_allow_action_array, true) == true){ - return true; - } - else { - return false; - } - } - - - vm.is_able_to_delete = function(requested_user){ - if(vm.is_user_allowed() && !_.includes(vm.unremoveable_users_from_eng_team_array, requested_user.uuid) - && !vm.checkIfAdmin(requested_user)) { - return true; - } - else { - return false; - } - }; - - - vm.remove_user_from_eng = function(requested_user){ - if(vm.is_able_to_delete(requested_user)) { - var modalInstance = $uibModal.open({ - templateUrl: 'main/modals/general-prompt-modal/general-prompt-modal.html', - controller: 'generalPromptModalController', - controllerAs: 'vm', - resolve: { - modalDetails: function () { - return { - "upper_headline": 'Remove user from engagement team: ', - "upper_headline_value": requested_user.full_name, - "headline": 'Are you sure you would like to remove the user out of the team members?', - "is_message":false, - "message": '', - "approve": 'Yes', - "cancelText": 'No', - "is_close_modal_button":true - }; - } - } - }); - //in order to close the ui-popover before opening the confirmation modal. - angular.element('body').click(); - - modalInstance.result.then(function (approve_deletion) { - if(approve_deletion) { - var data = {'eng_uuid': vm.vf.engagement.uuid, 'user_uuid': requested_user.uuid} - vfService.remove_user_from_eng(data).then(function (response) { - $rootScope.ice.loader.show = false; - if (response.status === 204) { - $rootScope.$broadcast('onUpdateEngagements',{select : {uuid:vm.engagement.uuid,page_type:'overview',sub_id:undefined}}); - } - }) - .catch(function (error) { - $rootScope.ice.loader.show = false; - $log.error(error); - }); - } - }); - } - else { - toastService.setToast('Action is not allowed.', 'danger'); - $rootScope.ice.loader.show = false; - return; - } - }; - - - $scope.is_match_both_filters = function () { - return function (step) { - - var result = false; - - if(vm.all_files && vm.all_states) { - result = true; - } - else if (vm.all_states && vm.is_contain_files(step)){ - result = true; - } - else if (vm.all_files && vm.is_same_state(step.state)){ - result = true; - } - else if (vm.is_contain_files(step) && vm.is_same_state(step.state)){ - result = true; - } - - if (result) { - return step; - } - return false; - } - } - - vm.is_all_files = function() { - vm.all_files = vm.chosen_files_filter.indexOf("Any file") !== -1; - } - - vm.is_contain_files = function(step) { - if (step.files) { - for (var i = 0; i < step.files.length; i++) { - if (vm.chosen_files_filter.indexOf(step.files[i]) !== -1) { - return true; - } - } - } - - return false; - }; - - vm.is_same_state = function(step_state){ - return vm.selected_state_filter.indexOf(step_state) !== -1; - }; - - vm.update_next_steps_choice = function(){ - if(vm.selected_state_filter.indexOf("All") !== -1){ - vm.all_states = true; - } - else { - vm.all_states = false; - } - }; - - vm.editStatus = function () { - var modalInstance = $uibModal.open({ - templateUrl: 'main/modals/status/status.html', - controller: 'StatusModalController', - controllerAs: 'vm', - size: 'lg', - resolve: { - - engagement_uuid: function () { - return vm.engagement.uuid; - }, - action: function () { - return 'edit'; - } - } - }); - - // Update the progress after modal closed. - modalInstance.result.then(function (data) { - if (data) { - vm.status = data; - } - }, function () { - $log.debug('Modal dismissed at: ' + new Date()); - }); - }; - - vm.addStatus = function () { - var modalInstance = $uibModal.open({ - templateUrl: 'main/modals/status/status.html', - controller: 'StatusModalController', - controllerAs: 'vm', - size: 'lg', - resolve: { - - engagement_uuid: function () { - return vm.engagement.uuid; - }, - action: function () { - return 'add'; - } - } - }); - - // Update the progress after modal closed. - modalInstance.result.then(function (data) { - if (data) { - vm.status = data; - } - }, function () { - $log.debug('Modal dismissed at: ' + new Date()); - }); - }; - - vm.deleteStep = function(step_uuid){ - var modalInstance = $uibModal.open({ - templateUrl: 'main/modals/general-prompt-modal/general-prompt-modal.html', - controller: 'generalPromptModalController', - controllerAs: 'vm', - resolve: { - modalDetails: function () { - return { - "headline": 'Delete Step', - "is_message":true, - "message": 'Are you sure you want to delete this step?', - "approve": 'Delete Step', - "is_close_modal_button":true - }; - } - } - }); - - modalInstance.result.then(function (deletionApproved) { - if(deletionApproved) { - stepsService.delete(step_uuid) - .then(function (response) { - if (response.status === 204) { - initSteps(); - initActivityLogs(); - } - }) - .catch(function (error) { - $log.error(error); - }); - } - }); - }; - - // next steps modal - vm.editStep = function (nextstep) { - var modalInstance = $uibModal.open({ - templateUrl: 'main/modals/next-steps/next-steps.html', - controller: 'NextStepsModalController', - controllerAs: 'vm', - size: 'lg', - resolve: { - - engagement_team: function () { - return vm.team; - }, - title: function () { - return vm.engagement.name; - }, - associated_files: function () { - return vm.files; - }, - engagement_uuid: function () { - return vm.engagement.uuid; - }, - checklist: function () { - return undefined; - }, - nextstep: function () { - return nextstep; - } - } - }); - - // Update the progress after modal closed. - modalInstance.result.then(function (data) { - if (data) { - initSteps(); - } - }, function () { - $log.debug('Modal dismissed at: ' + new Date()); - }); - }; - - vm.addStep = function () { - var modalInstance = $uibModal.open({ - templateUrl: 'main/modals/next-steps/next-steps.html', - controller: 'NextStepsModalController', - controllerAs: 'vm', - size: 'lg', - resolve: { - engagement_team: function () { - return vm.team; - }, - title: function () { - return vm.engagement.name; - }, - associated_files: function () { - return vm.files; - }, - engagement_uuid: function () { - return vm.engagement.uuid; - }, - checklist: function () { - return undefined; - }, - nextstep: function () { - return undefined; - } - } - }); - - // Update the progress after modal closed. - modalInstance.result.then(function (data) { - if (data) { - data.forEach(function (step) { - step['creator'] = vm.me; - vm.steps.push(step); - }); - initSteps(); - } - }, function () { - $log.debug('Modal dismissed at: ' + new Date()); - }); - }; - - $rootScope.$on('onUpdateNextSteps', function (event, args) { - if(args.eng_uuid && args.stage){ - vm.uuid = args.eng_uuid; - vm.stage = args.stage; - } - else{ - $log.error("onUpdateNextStep expecting args"); - return; - } - initSteps(); - }); - - vm.starEngagement = function () { - - vfService.putStarredEngagements(vm.engagement.uuid) - .then(function (response) { - $rootScope.ice.loader.show = false; - if (response.status === 200 && response.data && response.data !== '') { - if (vm.starred == true) - vm.starred = false - else - vm.starred = true - $rootScope.$broadcast('onUpdateEngagements',{select : {uuid:vm.engagement.uuid,page_type:'overview',sub_id:undefined}}); - - } - }) - .catch(function (error) { - $rootScope.ice.loader.show = false; - $log.error(error); - }); - } - - vm.updateStep = function (stepUuid, stepState) { - var data = {"state":stepState}; - stepsService.update(stepUuid, data) - .then(function (response) { - if (response.status === 200) { - var step = getStepByUuid(stepUuid); - if (step){ - initSteps(); - vm.initActivityLogs(); - } - } - }) - .catch(function (error) { - $log.error(error); - }); - }; - - vm.toggleCompleted = function (stepUuid) { - var step = getStepByUuid(stepUuid); - if (step){ - if(step.state == vm.states.incomplete){ - vm.updateStep(stepUuid, iceConstants.states.completed); - }else if(step.state == vm.states.completed){ - vm.updateStep(stepUuid, iceConstants.states.incomplete); - } - - } - }; - - vm.updateProgress = function(data) { - if (data && data.progress){ - vm.progress = data.progress; - } else if (data && data.target_date){ - vm.completion_date = data.target_date; - vm.target_completion_date = data.target_date; - } - }; - - vm.addPeople = function () { - - var args = { - user: vm.me, - eng_uuid: vm.engagement.uuid, - is_service_provider_internal: vm.is_service_provider_internal, - requiredStep: 'inviteMembers' - }; - - $rootScope.$broadcast('openGettingStartedWizard', args); - }; - - var initSteps = function() { - $rootScope.ice.loader.show = true; - stepsService.get(vm.uuid, vm.stage) - .then(function (response) { - $rootScope.ice.loader.show = false; - if (response.status === 200) { - vm.steps = []; - response.data.forEach(function (step) { - vm.steps.push(step); - }); - } - }) - .catch(function (error) { - $rootScope.ice.loader.show = false; - $log.error(error); - }); - }; - - vm.initActivityLogs = function() { - $rootScope.ice.loader.show = true; - vfService.getActivities(vm.uuid) - .then(function (response) { - $rootScope.ice.loader.show = false; - if (response.status === 200) { - vm.activities = response.data; - - } - }) - .catch(function (error) { - $rootScope.ice.loader.show = false; - $log.error(error); - }); - }; - - var getStepByUuid = function(stepUuid) { - var foundStep; - if (vm.steps) { - vm.steps.forEach(function (step) { - if (step.uuid === stepUuid) { - foundStep = step; - } - }); - } - return foundStep; - }; - - var serializeStates = function(states) { - var result = [] - for(var key in states) { - result.push(states[key]) - } - - return result; - }; - - var getSelectedStatesByUserType = function() { - var result = []; - -// if(vm.isEngagementEL || vm.isAdmin) { -// result.push("All","Completed","Incomplete"); -// } else { //For normal users: - result.push("Incomplete") -// } - - return result; - }; - - var getEngagementProgressData = function() { - var result = { - "enable_edit": ((vm.isEngagementEL || vm.isAdmin) && vm.in_overview_page), - "completion_date":vm.vf.engagement.target_completion_date, - "ecomp_release": vm.vf.ecomp_release.name, - "vnf_version": vm.vf.version, - "aic_version":vm.vf.deployment_target.version, - "aic_instantiation_time":vm.vf.engagement.aic_instantiation_time, - "asdc_onboarding_time":vm.vf.engagement.asdc_onboarding_time, - "heat_validated_time":vm.vf.engagement.heat_validated_time, - "image_scan_time":vm.vf.engagement.image_scan_time, - "engagement_uuid": vm.uuid, manual_id: vm.manual_id - }; - - return result; - }; - - vm.archiveEngagement = function() { - var modalInstance = $uibModal.open({ - templateUrl: 'main/modals/archive-engagement-modal/archive-engagement-modal.html', - controller: 'archiveEngagementModalController', - controllerAs: 'vm', - resolve: { - engagementDetails: function () { - return { - "manual_id": vm.manual_id, - "name": vm.name, - "engagement": vm.engagement - }; - } - } - }); - - modalInstance.result.then(function (archiveReason) { - if(archiveReason && vm.engagement && vm.engagement.uuid) { - vfService.archiveEngagement(vm.engagement.uuid, archiveReason) - .then(function() { - $state.go('app.dashboard.dashboard'); - toastService.setToast("Engagement '" + vm.engagement.name + "' archived successfully.", 'success'); - }) - .catch (function(error) { - toastService.setToast("Server failed archiving engagement.", 'danger'); - $rootScope.ice.loader.show = false; - $log.error(error); - }); - } else { - toastService.setToast("No reason was supplied, therefor engagement cannot be archived.", 'danger'); - } - }); - }; - - vm.changeReviewer = function() { - var modalInstance = $uibModal.open({ - templateUrl: 'main/modals/select-el-modal/select-el-modal.html', - controller: 'selectELModalController', - controllerAs: 'vm', - resolve: { - // We are not allow the reviewer and peer reviewer to be the same: - excludeUuids: function () { - return [vm.engagement.peer_reviewer_uuid]; - }, - selectedOption: function() { - return vm.engagement.reviewer_uuid; - } - } - }); - - modalInstance.result.then(function (userUuid) { - if(vm.engagement && vm.engagement.uuid) { - - if (userUuid == vm.engagement.peer_reviewer_uuid) { - vfService.switchEngagementReviewers(vm.engagement.uuid, userUuid, vm.engagement.reviewer_uuid) - .then(function (response) { - vm.engagement.reviewer_uuid = response.data.reviewer; - vm.engagement.peer_reviewer_uuid = response.data.peerreviewer; - toastService.setToast("Reviewer and peer reviewer updated successfully.", 'success'); - }) - .catch(function (error) { - toastService.setToast("Server failed to update engagement reviewers.", 'danger'); - $rootScope.ice.loader.show = false; - $log.error(error); - }); - } else { - vfService.updateEngagementReviewer(vm.engagement.uuid, userUuid) - .then(function(response){ - _.remove(vm.team, function(user) {return user.uuid === vm.engagement.reviewer_uuid;}); - vm.team.push(response.data); - vm.engagement.reviewer_uuid = response.data.uuid; - toastService.setToast("Reviewer updated successfully.", 'success'); - }) - .catch(function(error) { - toastService.setToast("Server failed to update engagement reviewer.", 'danger'); - $rootScope.ice.loader.show = false; - $log.error(error); - }); - }} else { - toastService.setToast("Problem occurred while updating reviewer - missing engagement uuid.", 'danger'); - } - }) - }; - - vm.changePeerReviewer = function() { - var modalInstance = $uibModal.open({ - templateUrl: 'main/modals/select-el-modal/select-el-modal.html', - controller: 'selectELModalController', - controllerAs: 'vm', - resolve: { - // We are not allow the reviewer and peer reviewer to be the same: - excludeUuids: function () { - return [vm.engagement.reviewer_uuid]; - }, - selectedOption: function() { - return vm.engagement.peer_reviewer_uuid; - } - } - }); - - modalInstance.result.then(function (userUuid) { - if(vm.engagement && vm.engagement.uuid) { - - if (userUuid == vm.engagement.reviewer_uuid) { - vfService.switchEngagementReviewers(vm.engagement.uuid, vm.engagement.peer_reviewer_uuid, userUuid) - .then(function (response) { - vm.engagement.reviewer_uuid = response.data.reviewer; - vm.engagement.peer_reviewer_uuid = response.data.peerreviewer; - toastService.setToast("Peer reviewer and reviewer updated successfully.", 'success'); - }) - .catch(function (error) { - toastService.setToast("Server failed to update engagement reviewers.", 'danger'); - $rootScope.ice.loader.show = false; - $log.error(error); - }); - } else { - vfService.updateEngagementPeerReviewer(vm.engagement.uuid, userUuid) - .then(function(response) { - $log.debug("vm.team", vm.team); - _.remove(vm.team, function(user) {return user.uuid === vm.engagement.peer_reviewer_uuid;}); - vm.team.push(response.data); - vm.engagement.peer_reviewer_uuid = response.data.uuid; - toastService.setToast("Peer reviewer updated successfully.", 'success'); - }) - .catch(function(error) { - toastService.setToast("Server failed to update engagement peer reviewer.", 'danger'); - $rootScope.ice.loader.show = false; - $log.error(error); - }); - }} else { - toastService.setToast("Problem occurred while updating peer reviewer - missing engagement uuid.", 'danger'); - } - }) - }; - - vm.updateEngagementStatus = function() { - vm.vf.engagement.progress = parseInt(vm.progress); - var modalInstance = $uibModal.open({ - templateUrl: 'main/modals/update-engagement-status-modal/update-engagement-status-modal.html', - controller: 'updateEngagementStatusModalController', - controllerAs: 'vm', - resolve: { - engagement: function () { - // We will deliver a copy of the engagement so if the user hit 'Cancel' we won't change the original: - return angular.copy(vm.vf.engagement); - } - } - }); - - modalInstance.result.then(function (result) { - vfService.updateEngagement(result.engagement, result.status) - .then(function(response) { - vm.vf.engagement = result.engagement; - vm.progress = vm.vf.engagement.progress; - vm.progress_needed_data = getEngagementProgressData(); - vm.status = response.data; - toastService.setToast("Engagement status updated successfully.", 'success'); - }) - .catch(function(error){ - toastService.setToast("Server failed to update engagement status.", 'danger'); - $rootScope.ice.loader.show = false; - $log.error(error); - }); - }) - }; - - vm.changeTargetCompletion = function(){ - var modalInstance = $uibModal.open({ - templateUrl: 'main/modals/change-date/change-date.html', - controller: 'ChangeDateModalController', - controllerAs: 'vm', - resolve: { - completionDate: function () { - return vm.vf.engagement.target_completion_date; - }, - engagementUuid: function () { - return vm.engagement.uuid; - } - } - }); - - modalInstance.result.then(function (data) { - if (!data){ - return; - } - vm.completion_date = data.target_date || vm.vf.engagement.target_completion_date; - vm.vf.engagement.target_completion_date = vm.completion_date; - }, function () { - $log.debug('Modal dismissed at: ' + new Date()); - }); - }; - - init(); - } -})(); diff --git a/d2ice.att.io/app/main/dashboard/overview/overview.html b/d2ice.att.io/app/main/dashboard/overview/overview.html deleted file mode 100755 index d1b3fc40..00000000 --- a/d2ice.att.io/app/main/dashboard/overview/overview.html +++ /dev/null @@ -1,212 +0,0 @@ - -
- -
- - -
-
- -

- {{vm.manual_id}}: {{vm.name}} -

- - - -
-
- GIT: {{vm.git_repo_url}} - - STORAGE BUCKET: {{vm.storage_bucket_url}} -
-
- -
- - -
- -
-
-
-

Next Steps

- - Files - - States - - -
-
    -
  • - -
    - -
    -
    - - - {{step.engagement ? (step.last_updater && step.last_updater.full_name || step.creator.full_name) : "System Next Step"}} -  {{step.last_update_type}}:  - - {{(step.last_update_time) | date2: 'EEEE MMMM doo yyyy'}} at {{(step.last_update_time) | date: 'hh:mm' : timeGapLocal }} {{ampm}} {{mom}} -
    -
    -
    -
    -
    - {{(step['due_date']) | date2: 'EEEE MMMM doo yyyy'}} -
      -
    • -
    • -
    - Associated Files - -
    -
    -
  • -

    No next steps matching filtered results.

    -
-
-
-
-
- Target Completion - -
-
-

{{vm.completion_date | date:'shortDate'}}

-
-
-
-
- Current Status - -
-
- -
-
-
-
- Team Members - -
- -
- -
-
Activity Log
-
    -
  • - -
  • -
-
-
-
-
diff --git a/d2ice.att.io/app/main/dashboard/overview/overview.less b/d2ice.att.io/app/main/dashboard/overview/overview.less deleted file mode 100755 index 48f76a47..00000000 --- a/d2ice.att.io/app/main/dashboard/overview/overview.less +++ /dev/null @@ -1,575 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -.dashboard { - - .remove-user-from-eng { - .x_16_r; - float: right; - cursor: pointer; - .remove-icon { - .sprite; - .sprite.red-delete; - display: inline-block; - margin-left: 8px; - position: relative; - top: 3px; - } - } - - .popover-title-name { - .a_18_m; - } - - .popover-title-company { - .a_18_r; - } - - .popover-role-title { - .n_16_i; - } - - .popover-details { - .popover-details-topic { - .m_16_m; - } - .popover-details-detail { - word-wrap: break-word; - - .m_16_r; - } - } - - .content-container #content .main-wrapper { - height: 100%; - overflow-y: auto; - overflow-x: hidden; - padding: 10px ; - } - - .no-display-text{ - .a_36_m; - } - - .no-display{ - display: none; - } - - .overview { - #engagement-title { - color: @toolbar_background_color; - } - .manual-id { - .m_36_m; - color: @toolbar_background_color; - } - - .filter-wrapper { - text-align: right; - padding:0px; - span { - padding: 0px; - margin-left: 5px; - - } - .form-control-main-view{ - margin-left: 5px; - display: inline; - padding: 6px; - font-size: 14px; - line-height: 1.42857143; - color: #555; - background-color: #fff; - background-image: none; - border: 1px solid #ccc; - border-radius: 4px; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); - transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; - } - } - - .state-filter { - button { - padding: 0px 5px 0px 8px; - margin-bottom: 1px; - } - - span { - right: 6px !important; - top: 9px !important; - } - - a { - font-size: 14px; - } - } - - .steps-progress-wrapper { - margin-top: 10px; - } - - h1 { - display: inline-block; - .a_36; - margin: 0 0 30px 0; - } - - h2 { - display: inline-block; - margin: 0 0 10px 0; - .a_24_m; - position: relative; - .add-people, - .add-step { - display: inline-block; - margin-left: 8px; - cursor: pointer; - position: relative; - top: 2px; - } - } - - .main-section { - margin-top: 30px; - } - - .steps-header { - background-color: @toolbar_background_color; - color: @main_color_p; - padding: 10px 0px 0px 0px; - margin: 0px 0px 0px -5px; - - h2 { - font-size: 20px; - color: @main_color_p; - } - - .steps-filter { - display: inline-block; - float: right; - .a_16_m; - .todo { - .sprite; - .sprite.todo; - display: inline-block; - cursor: pointer; - } - .completed { - .sprite; - .sprite.pending; - display: inline-block; - cursor: pointer; - } - .confirmed { - .sprite; - .sprite.approved; - display: inline-block; - cursor: pointer; - } - } - } - - #engagement-target-completion { - border: 1px solid @target_completion_color; - padding:0px; - margin-bottom: 20px; - - #target-completion-header { - background-color: @target_completion_color; - .p_18_m; - padding: 5px 5px 0; - line-height: 35px; - - .edit-target-completion { - font-size: 21px; - vertical-align: middle; - padding-left: 6px; - cursor:pointer; - } - } - - .target-completion-content { - .f-type._16_r; - margin: 15px; - } - } - - #engagement-status { - border: 1px solid @engagement_status_color; - padding:0px; - margin-bottom: 20px; - - #engagement-status-header { - background-color: @engagement_status_color; - .p_18_m; - padding: 5px 5px 0; - line-height: 35px; - - .add-engagement-status { - font-size: 21px; - vertical-align: middle; - padding-left: 6px; - cursor:pointer; - } - } - - .engagement-status-content { - .f-type._16_r; - margin: 15px; - - #status-update-details { - display:block; - .m_12_r; - } - - #status-description { - margin: 3px 0px 0px 0px; - .m_16_r; - } - - .edit-engagement-status { - font-size: 21px; - padding-left: 6px; - cursor:pointer; - color: @main_color_m; - } - } - } - - #engagement-team { - border: 1px solid @engagement_team_color; - padding:0px; - margin-bottom: 20px; - - #engagement-team-header { - background-color: @engagement_team_color; - .p_18_m; - padding: 5px 5px 0; - line-height: 35px; - - .add-team-member { - font-size: 21px; - vertical-align: middle; - padding-left: 6px; - cursor:pointer; - } - } - - .engagement-team-content { - .f-type._16_r; - margin: 15px; - - ul.team-avatars { - li.team-member-avatar { - font-size: 40px; - cursor:pointer; - color: @engagement_team_color; - } - - li { - list-style: none; - display: inline-block; - margin-right: 10px; - } - } - } - } - - #star-engagement-action { - display: inline-block; - cursor:pointer; - position: relative; - bottom: 3px; - margin-right: 5px; - } - - #star-engagement-action.not_starred{ - .sprite.starred; - } - - #star-engagement-action.is_starred { - .sprite.starred-selected; - } - - #star-engagement-action.not_starred:hover{ - .sprite.starred-selected; - } - - #star-engagement-action.is_starred:hover { - .sprite.starred; - } - - .steps { - padding-bottom: 140px; - padding-right: 20px; - padding-left: 20px; - - ul { - li.step { - border-bottom: dashed 1px @main_color_n; - .step-wrapper { - border-left: 2px solid transparent; - margin: 7px 0px 7px 1px; - &:hover { - border-left: 2px solid @main_color_a; - background-color: #DEF3FF; - - .description { - .step-state { - &.incomplete { - color: @main_color_d; - opacity: 0.7; - } - } - } - } - } - .next-step-actions { - display:none; - height: 100%; - width: 20px; - position: relative; - padding-top: 10px; - float: left; - left: -18px; - margin-right: -20px; - - > span { - margin-bottom: 3px; - cursor: pointer; - display:block; - } - .order-nextstep { - color: @main_color_o; - cursor:pointer; - } - .edit-next-step { - cursor:pointer; - color: @main_color_o; - } - .moveto-confirmed { - .actions-sprite; - .actions-sprite.approve_large; - - } - .moveto-todo { - .actions-sprite; - .actions-sprite.reject_large; - } - .moveto-delete { - cursor:pointer; - color: @main_color_o; - } - - } - &:hover { - .next-step-actions { - display:block; - } - .details { - .actions { - span { - visibility: visible; - } - } - } - } - - div.completed { - opacity: 0.7; - } - div.confirmed { - opacity: 0.7; - } - - .details { - text-align: right; - .next-step-due-date { - color: @main_color_m; - font-weight: bold; - - .icon { - display: inline-block; - margin-right: 5px; - position: relative; - } - } - - .associated-files { - color: @main_color_m; - font-weight: bold; - cursor: pointer; - } - - ul.next-step-team-mates { - li { - list-style: none; - display: inline-block; - font-size: 27px; - padding-left: 5px; - color: @engagement_team_color; - - &.me { - color: @main_color_a; - } - } - - } - - } - list-style: none; - position: relative; - - .description { - .m_16_r; - - padding:5px; - - input { - position: absolute; - top: 10px; - left: 0; - margin-right: 20px; - } - - .step-text { - margin-left: 35px; - } - .last-action-details { - .m_12_r; - .name { - font-weight: bold; - .m_12_m; - - } - } - .step-state { - position: absolute; - top: 25px; - font-size: 25px; - - &.incomplete { - color: @main_color_o; - display: inline-block; - } - &.completed { - color: @main_color_d; - display: inline-block; - } - } - } - } - } - } - - .team-and-logs { - border-left: dashed 1px @main_color_a; - padding-left: 20px; - padding-right: 20px; - - .activity-log { - - border: 1px solid @engagement_team_color; - padding:0px; - margin-bottom: 20px; - - #activity-log-header { - background-color: @engagement_team_color; - .p_18_m; - padding: 5px 5px 0; - line-height: 35px; - } - ul.activity-log-details { - margin:15px; - li { - list-style: none; - position: relative; - margin: 0 0 10px; - - } - } - } - - } - - .admin-actions-dropdown { - .sprite.admin-dropdown; - color: @main_color_a; - font-size: 20px; - vertical-align: 4px; - margin-left: 5px; - cursor: pointer; - display: inline-block; - } - } - - .add-next-step-form { - .ice-wysiwyg { - height: 200px; - .wysiwyg-menu > div { - background-color: #f1f1f1; - padding: 2px; - } - } - } - - .git-repo-url{ - text-align: left; - .m_16_m; - } - - .storage-bucket-url{ - text-align: left; - .m_16_m; - } - - .line-separator { - border-bottom: solid thin; - margin-top: 5px; - margin-bottom: 7px; - align-items: left; - } -} - -.intl-tel-input { - width: 100%; -} - -.iti-flag { - background-image: url(images/flags.png); -} diff --git a/d2ice.att.io/app/main/documentation/documentation.controller.js b/d2ice.att.io/app/main/documentation/documentation.controller.js deleted file mode 100755 index 6e3ebb27..00000000 --- a/d2ice.att.io/app/main/documentation/documentation.controller.js +++ /dev/null @@ -1,74 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - 'use strict'; - - angular - .module('ice.documentation') - .controller('documentationController', ["cmsService", "$stateParams", "$log", documentationController]); - - function documentationController(cmsService, $stateParams, $log) { - var vm = this; - - var init = function() - { - loadPageData(); - }; - - function loadPageData() { - if($stateParams.page_id) { - cmsService.getPage($stateParams.page_id) - .then(function(response) { - if(response && response.data) { - vm.pageId = $stateParams.page_id; - vm.pageTitle = response.data["title"]; - vm.pageContent = response.data["content"]; - vm.publishDate = response.data["publish_date"]; - } - }) - .catch(function(error) { - $log.error(error); - }); - } - } - - init(); - } -})(); diff --git a/d2ice.att.io/app/main/documentation/documentation.html b/d2ice.att.io/app/main/documentation/documentation.html deleted file mode 100755 index 44b7c0d8..00000000 --- a/d2ice.att.io/app/main/documentation/documentation.html +++ /dev/null @@ -1,47 +0,0 @@ - - -
-
-

{{vm.pageTitle}}

- Updated at {{vm.publishDate | date2: 'EEEE MMMM doo yyyy'}} -
-
-
- diff --git a/d2ice.att.io/app/main/documentation/documentation.less b/d2ice.att.io/app/main/documentation/documentation.less deleted file mode 100755 index 7b7f188b..00000000 --- a/d2ice.att.io/app/main/documentation/documentation.less +++ /dev/null @@ -1,96 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -.documentation-container { - .page-title { - .a_26_m; - margin:0px; - } - - .page-publish { - .f-type._14_m; - - bottom: 10px; - } - - .page-content{ - .f-type._16_r; - margin-top: 10px; - - ul { - padding-left: 30px; - } - - h1 { - font-weight: bold; - } - - h2 { - font-weight: bold; - } - - h3 { - font-weight: bold; - } - - table { - border-right: 1px solid @main_color_c; - border-left: 1px solid @main_color_c; - - tr { - border-bottom: 1px solid @main_color_c; - border-top: 1px solid @main_color_c; - border-collapse: collapse; - - td { - padding: 0 0 0 7px; - } - } - - thead { - background-color: @main_color_c; - color: @main_color_p; - font-weight: bold; - } - } - } -} - -#documentation-side-panel { - border-left: dashed 1px @main_color_a; -} diff --git a/d2ice.att.io/app/main/documentation/documentation.module.js b/d2ice.att.io/app/main/documentation/documentation.module.js deleted file mode 100755 index fb944e0d..00000000 --- a/d2ice.att.io/app/main/documentation/documentation.module.js +++ /dev/null @@ -1,74 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - 'use strict'; - - angular - .module('ice.documentation') - .config(config); - - function config($stateProvider) { - $stateProvider - .state('app.documentation', { - views: { - 'navigation@app': { - templateUrl: 'core/navigation/layouts/documentation-navigation/navigation.html', - controller: 'documentationNavigationController as vm' - }, - 'sidebar@app': { - templateUrl: 'main/documentation/sidebar/documentation.sidebar.html' - } - }, - bodyClass: 'documentation', - params: {displaySidebar: true} - }) - .state('app.documentation.page', { - url: '/documentation', - views: { - 'content@app': { - templateUrl: 'main/documentation/documentation.html', - controller: 'documentationController as vm' - } - }, - bodyClass: 'documentation', - params: {displaySidebar: true, page_id: undefined} - }); - } -})(); diff --git a/d2ice.att.io/app/main/documentation/sidebar/documentation.sidebar.html b/d2ice.att.io/app/main/documentation/sidebar/documentation.sidebar.html deleted file mode 100755 index c6381a7d..00000000 --- a/d2ice.att.io/app/main/documentation/sidebar/documentation.sidebar.html +++ /dev/null @@ -1,41 +0,0 @@ - - diff --git a/d2ice.att.io/app/main/documentation/sidebar/documentation.sidebar.less b/d2ice.att.io/app/main/documentation/sidebar/documentation.sidebar.less deleted file mode 100755 index 51694fe9..00000000 --- a/d2ice.att.io/app/main/documentation/sidebar/documentation.sidebar.less +++ /dev/null @@ -1,61 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -#documentation-side-panel { - .tooltip-title { - font-size: 18px; - } - - #tooltip-description { - font-size: 16px; - } - - #news-and-announcements-header { - font-size: 18px; - } - - #news-and-announcements-list { - .news-and-announcements-details { - .news-and-announcements-details-header { - .news-and-announcements-details-title { - font-size: 16px; - } - } - } - } -} diff --git a/d2ice.att.io/app/main/errors/404.html b/d2ice.att.io/app/main/errors/404.html deleted file mode 100755 index 62309745..00000000 --- a/d2ice.att.io/app/main/errors/404.html +++ /dev/null @@ -1,190 +0,0 @@ - - - - - - Page Not Found :( - - - -
-

Not found :(

-

Sorry, but the page you were trying to view does not exist.

-

It looks like this was the result of either:

-
    -
  • a mistyped address
  • -
  • an out-of-date link
  • -
- - -
- - diff --git a/d2ice.att.io/app/main/main.controller.js b/d2ice.att.io/app/main/main.controller.js deleted file mode 100755 index 9c91aae9..00000000 --- a/d2ice.att.io/app/main/main.controller.js +++ /dev/null @@ -1,60 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - 'use strict'; - - angular - .module('ice.main',[]) - .controller('MainController', MainController)//; - .config(function($mdDateLocaleProvider) { - $mdDateLocaleProvider.formatDate = function (date) { - return date ? moment(date).format('MMMM Do YYYY') : ''; - }; - - $mdDateLocaleProvider.parseDate = function (dateString) { - var m = moment(dateString, 'YYYY-MM-DD', true); - return m.isValid() ? m.toDate() : new Date(NaN); - }; - }); - - function MainController($scope, $rootScope) { - - } - -})(); \ No newline at end of file diff --git a/d2ice.att.io/app/main/modals/archive-engagement-modal/archive-engagement-modal.controller.js b/d2ice.att.io/app/main/modals/archive-engagement-modal/archive-engagement-modal.controller.js deleted file mode 100755 index 3c1226cb..00000000 --- a/d2ice.att.io/app/main/modals/archive-engagement-modal/archive-engagement-modal.controller.js +++ /dev/null @@ -1,66 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. - -(function () { - 'use strict'; - - angular - .module('ice.modals') - .controller('archiveEngagementModalController', ['$uibModalInstance','engagementDetails',archiveEngagementModalController]); - - function archiveEngagementModalController($uibModalInstance, engagementDetails) { - - var vm = this; - var init = function () { - if(engagementDetails) { - vm.engagement = engagementDetails; - } - }; - - vm.closeModal = function () { - $uibModalInstance.dismiss(); - }; - - vm.archiveEngagement = function() { - $uibModalInstance.close(vm.reason); - }; - - init(); - } -})(); diff --git a/d2ice.att.io/app/main/modals/archive-engagement-modal/archive-engagement-modal.html b/d2ice.att.io/app/main/modals/archive-engagement-modal/archive-engagement-modal.html deleted file mode 100755 index 7d4b5b07..00000000 --- a/d2ice.att.io/app/main/modals/archive-engagement-modal/archive-engagement-modal.html +++ /dev/null @@ -1,56 +0,0 @@ - -
- - -
diff --git a/d2ice.att.io/app/main/modals/archive-engagement-modal/archive-engagement-modal.less b/d2ice.att.io/app/main/modals/archive-engagement-modal/archive-engagement-modal.less deleted file mode 100755 index da2f8503..00000000 --- a/d2ice.att.io/app/main/modals/archive-engagement-modal/archive-engagement-modal.less +++ /dev/null @@ -1,54 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -.archive-engagement-modal { - padding: 0px 15px 0px 15px; - - .archive-engagement-title { - .a_24_m;; - } - - .archive-engagement-reason { - .m_16_r; - } - - .modal-body { - top: 10px; - } -} - diff --git a/d2ice.att.io/app/main/modals/audit-log/audit-log.controller.js b/d2ice.att.io/app/main/modals/audit-log/audit-log.controller.js deleted file mode 100755 index 84e7fbc6..00000000 --- a/d2ice.att.io/app/main/modals/audit-log/audit-log.controller.js +++ /dev/null @@ -1,95 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - 'use strict'; - - angular - .module('ice.modals') - .controller('AuditLogModalController', ['$rootScope', '$uibModalInstance', 'checklistService', 'wizardData', - 'toastService', '$log', AuditLogModalController]); - - function AuditLogModalController($rootScope, $uibModalInstance, checklistService, wizardData, toastService, $log) { - var vm = this; - - var init = function() - { - var arr = []; - var i; - var region = moment().tz( moment.tz.guess()).format('z'); - var dt = ""; - vm.name = wizardData.name; - vm.checklistAuditLogs = wizardData.checklistAuditLogs; - vm.checklistAuditLogs.forEach(function (cl) - { - dt = moment(cl.create_time).local().format('YYYY-MM-DD hh:mm:ss A') + " " + region; - arr.push({"name":cl.creator.full_name,"dt":dt,"desc":cl.description}); - }); - vm.checklistAuditLogs = arr; - } - - init(); - - vm.submitForm = function () - { - var jsonPost = {"description":vm.description}; - checklistService.createAuditlogChecklist(wizardData.uuid, jsonPost) - .then(function (response) { - if (response.status === 200) - { - $uibModalInstance.close(response.data); - vm.closeModal(); - } - else - { - toastService.setToast(response.error, 'danger', {displayFor: 'modal'}); - $rootScope.ice.loader.show = false; - } - }) - .catch(function (error) { - toastService.setToast(error.message, 'danger', {displayFor: 'modal'}); - $log.error(error.message); - }); - }; - - vm.closeModal = function(){ - toastService.clearToast(); - $uibModalInstance.close(); - }; - } -})(); diff --git a/d2ice.att.io/app/main/modals/audit-log/audit-log.html b/d2ice.att.io/app/main/modals/audit-log/audit-log.html deleted file mode 100755 index a4ad06f7..00000000 --- a/d2ice.att.io/app/main/modals/audit-log/audit-log.html +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - diff --git a/d2ice.att.io/app/main/modals/audit-log/audit-log.less b/d2ice.att.io/app/main/modals/audit-log/audit-log.less deleted file mode 100755 index 7ba728e6..00000000 --- a/d2ice.att.io/app/main/modals/audit-log/audit-log.less +++ /dev/null @@ -1,49 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -.auditlog { - - .audit-log-items { - border-bottom: 1px solid; - margin-bottom: 5px; - } - - .textarea-checklist-audit { - resize: none; - } -} diff --git a/d2ice.att.io/app/main/modals/change-date/change-date.controller.js b/d2ice.att.io/app/main/modals/change-date/change-date.controller.js deleted file mode 100755 index 35290c99..00000000 --- a/d2ice.att.io/app/main/modals/change-date/change-date.controller.js +++ /dev/null @@ -1,75 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - 'use strict'; - - angular - .module('ice.modals') - .controller('ChangeDateModalController', ["$uibModalInstance", "completionDate", "engagementUuid", "vfService", "$rootScope", "toastService", changeDateModalController]); - - function changeDateModalController($uibModalInstance, completionDate, engagementUuid, vfService, $rootScope, toastService) { - - var vm = this; - //vm.completionDate = new Date(completionDate); - vm.completionDate = completionDate; - - vm.dateOptions = { - minDate: new Date(), - showWeeks: true - }; - - vm.closeModal = function(){ - $uibModalInstance.close(); - }; - - vm.submitForm = function(){ - var postData={"target_date": moment(vm.completionDate).format("YYYY-MM-DD")}; - vfService.updateDaysLeft(engagementUuid, postData) - .then(function (response) { - if (response.status === 200) { - $uibModalInstance.close(postData); - } - }) - .catch(function (error) { - toastService.setToast(error.status + ': Error changing completion date!', 'danger'); - }); - }; - } -})(); diff --git a/d2ice.att.io/app/main/modals/change-date/change-date.html b/d2ice.att.io/app/main/modals/change-date/change-date.html deleted file mode 100755 index 4d3e0b59..00000000 --- a/d2ice.att.io/app/main/modals/change-date/change-date.html +++ /dev/null @@ -1,62 +0,0 @@ - -
- - - -
diff --git a/d2ice.att.io/app/main/modals/change-progress/change-progress.controller.js b/d2ice.att.io/app/main/modals/change-progress/change-progress.controller.js deleted file mode 100755 index e28b2528..00000000 --- a/d2ice.att.io/app/main/modals/change-progress/change-progress.controller.js +++ /dev/null @@ -1,71 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - 'use strict'; - - angular - .module('ice.modals',[]) - .controller('ChangeProgressModalController', ["$uibModalInstance", "progress", "engagementUuid", "vfService", - "$log", "toastService", ChangeProgressModalController]); - - function ChangeProgressModalController($uibModalInstance, progress, engagementUuid, vfService, $log, toastService) { - - var vm = this; - vm.progress = progress; - - vm.closeModal = function(){ - $uibModalInstance.close(); - }; - - vm.submitForm = function(){ - var postData={"progress": vm.progress}; - vfService.updateProgress(engagementUuid, postData) - .then(function (response) { - if (response.status === 202) { - $uibModalInstance.close(postData); - } - }) - .catch(function (error) { - $log.error(error); - toastService.setToast(error.status + ': Error changing progress!', 'danger'); - }); - }; - } -})(); diff --git a/d2ice.att.io/app/main/modals/change-progress/change-progress.html b/d2ice.att.io/app/main/modals/change-progress/change-progress.html deleted file mode 100755 index adfb7e7a..00000000 --- a/d2ice.att.io/app/main/modals/change-progress/change-progress.html +++ /dev/null @@ -1,65 +0,0 @@ - -
- - - - -
diff --git a/d2ice.att.io/app/main/modals/checklist/checklist.controller.js b/d2ice.att.io/app/main/modals/checklist/checklist.controller.js deleted file mode 100755 index 4a20b53d..00000000 --- a/d2ice.att.io/app/main/modals/checklist/checklist.controller.js +++ /dev/null @@ -1,238 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - 'use strict'; - - angular - .module('ice.modals') - .controller('ChecklistModalController', ['toastService', '$rootScope', '$uibModalInstance', 'checklistService', - 'engagementUuid', 'modal_type', 'wizardData', '$log', ChecklistModalController]); - - function ChecklistModalController(toastService, $rootScope, $uibModalInstance, checklistService, engagementUuid, - modal_type, wizardData, $log) { - var vm = this; - vm.checkListAssociatedFiles = []; - vm.selectedCheckListAssociatedFiles = []; - vm.isDisabled = false; - - var init = function() { - switch(modal_type) { - case 'create': - vm.create = true; - vm.createUpadeTitle = "Create"; - vm.modalType = 'create'; - vm.modalTitle = "Create"; - checklistService.getDataForCreateChecklist(engagementUuid) - .then(function (response) { - if (response.status === 200) { - vm.checkListTemplatesLists = []; - vm.checkListTemplates = response.data.checkListTemplates; - angular.forEach(response.data.checkListAssociatedFiles, function (value, key) { - vm.checkListAssociatedFiles.push({File: value}); - }); - $rootScope.ice.loader.show = false; - } - }) - .catch(function (error) { - toastService.setToast(error.message, 'danger', {displayFor: 'modal'}); - $rootScope.ice.loader.show = false; - $log.error(error.message); - }); - break; - case 'update': - vm.update = true; - vm.createUpadeTitle = "Update"; - vm.modalType = 'udpate'; - vm.modalTitle = "Update"; - vm.checklistUuid = wizardData.uuid; - vm.checkListName = wizardData.name; - checklistService.getDataForCreateChecklist(engagementUuid) - .then(function (response) { - if (response.status === 200) { - vm.checkListAssociatedFiles = [] - angular.forEach(response.data.checkListAssociatedFiles, function (value, key) { - vm.checkListAssociatedFiles.push({File: value}); - }); - $rootScope.ice.loader.show = false; - - vm.selectedCheckListAssociatedFiles =[] - - angular.forEach(wizardData.associatedFiles, function(val, key1) { - vm.selectedCheckListAssociatedFiles.push({File: val}); - }); - - } - }) - .catch(function (error) { - toastService.setToast(error.message, 'danger', {displayFor: 'modal'}); - $rootScope.ice.loader.show = false; - $log.error(error.message); - }); - vm.selectedTemplateUuid = wizardData.selectedTemplateUuid; - vm.selectedTemplateName = wizardData.selectedTemplateName; - - break; - } - } - init(); - - vm.addFile = function () - { - var newItemNo = vm.selectedCheckListAssociatedFiles.length + 1; - vm.selectedCheckListAssociatedFiles.push({'id': newItemNo}); - }; - - vm.removeFile = function (index) - { - vm.selectedCheckListAssociatedFiles.splice(index,1); - }; - - vm.closeModal = function(){ - toastService.clearToast(); - $rootScope.$emit('onChecklistUpdate'); - $uibModalInstance.close(vm.checkListName); - $uibModalInstance.close(); - }; - - - vm.submitForm = function () - { - vm.isDisabled = true; - var checklist_files = []; - switch(modal_type){ - case 'create': - angular.forEach(vm.selectedCheckListAssociatedFiles, function(val, key1) { - checklist_files.push(val.File); - }); - var jsonPost = { - "checkListAssociatedFiles": checklist_files, - "checkListName": vm.checkListName, - "checkListTemplateUuid" : vm.selectedTemplateUuid - }; - - checklistService.createChecklist(engagementUuid, jsonPost) - .then(function (response) { - if (response.status === 200) { - $uibModalInstance.close(response.data); - $rootScope.ice.loader.show = false; - vm.closeModal(); - } - }) - .catch(function (error) { - toastService.setToast(error.message || 'Error creating check list.', 'danger', {displayFor: 'modal'}); - $rootScope.ice.loader.show = false; - vm.isDisabled = false; - $log.error(error.message); - }); - break; - case 'update': - - var updated_file_list = []; - angular.forEach(vm.selectedCheckListAssociatedFiles, function(val, key1) { - updated_file_list.push(val.File); - }); - $log.debug("update", updated_file_list); - var jsonPut = { - "checklistUuid": vm.checklistUuid, - "checkListAssociatedFiles": updated_file_list, - "checkListName": vm.checkListName, - "checkListTemplateUuid" : vm.selectedTemplateUuid - }; - checklistService.putDataForChecklist(vm.checklistUuid, jsonPut) - .then(function (response) { - if (response.status === 200) { - $rootScope.$broadcast('onUpdateEngagements',{select:{uuid: engagementUuid, view_type : 'checklist', sub_id: vm.checklistUuid}}); - $rootScope.ice.loader.show = false; - - var response_data = {}; - response_data.checklist_name = vm.checkListName; - response_data.associated_files = updated_file_list; - var array1 = vm.checkListAssociatedFiles.sort(); - var array2 = updated_file_list.sort(); - - var is_same_files = (array1.length == array2.length) && array1.every(function(element, index) { - return element === array2[index]; - }); - // if file list changed reject checklist - if (!is_same_files && wizardData.state != 'pending') - { - var postData = {}; - postData["description"] = "Rejected due to file list change"; - postData["decline"] = "True"; - - checklistService.setState(vm.checklistUuid, postData) - .then(function (response) { - if (response.status === 200) { - $rootScope.$broadcast('onUpdateEngagements'); - } - else { - toastService.setToast(response.error, 'danger', {displayFor: 'modal'}); - $rootScope.ice.loader.show = false; - vm.isDisabled = false; - return; - } - }) - .catch(function (error) { - $log.error(error); - toastService.setToast(error.status + ': Error changing progress!', 'danger'); - vm.isDisabled = false; - return; - }); - } - - $uibModalInstance.close(response_data); - vm.closeModal(); - } - }) - .catch(function (error) { - toastService.setToast(error.message, 'danger', {displayFor: 'modal'}); - $rootScope.ice.loader.show = false; - $log.error(error.message); - vm.isDisabled = false; - - }); - break; - default: - $log.debug('no submit action found'); - vm.isDisabled = false; - break; - } - } - } -})(); diff --git a/d2ice.att.io/app/main/modals/checklist/checklist.html b/d2ice.att.io/app/main/modals/checklist/checklist.html deleted file mode 100755 index d308c9d2..00000000 --- a/d2ice.att.io/app/main/modals/checklist/checklist.html +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - - diff --git a/d2ice.att.io/app/main/modals/checklist/state-approve-or-reject/state-approve-or-reject.controller.js b/d2ice.att.io/app/main/modals/checklist/state-approve-or-reject/state-approve-or-reject.controller.js deleted file mode 100755 index 160b57cc..00000000 --- a/d2ice.att.io/app/main/modals/checklist/state-approve-or-reject/state-approve-or-reject.controller.js +++ /dev/null @@ -1,105 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. - -(function () { - 'use strict'; - - angular - .module('ice.modals') - .controller('stateDecisionModalController', ['$rootScope','$uibModalInstance', 'checklistService', - 'toastService', 'action', 'checklist', '$log', stateDecisionModalController]); - - function stateDecisionModalController($rootScope, $uibModalInstance, checklistService, toastService, action, - checklist, $log) { - - var vm = this; - - var init = function () { - vm.description = null; - vm.checklist_name = checklist.name; - vm.state = checklist.state; - vm.action = action; - vm.modalText = (vm.state == 'pending') ? "Are you sure you want to move the checklist state to Automation?": - "Please use the button below to either approve or reject the " + - "checklist.
You can also add a log entry comment."; - }; - - vm.submitForm = function(decision) { - var postData = {}; - if (vm.description != null) { - postData["description"] = vm.description; - } - else{ - postData["description"] = ''; - } - - if (decision === true) { - postData["decline"] = "False"; - } - else { - postData["decline"] = "True"; - } - - - - checklistService.setState(checklist.uuid, postData) - .then(function (response) { - if (response.status === 200) { - $uibModalInstance.close(response.data); - vm.closeModal(); - } - else { - toastService.setToast(response.error, 'danger'); - $rootScope.ice.loader.show = false; - } - }) - .catch(function (error) { - $log.error(error); - toastService.setToast(error.status + ': Error changing progress!', 'danger'); - }); - - }; - - vm.closeModal = function () { - $uibModalInstance.close(); - }; - - init(); - } -})(); diff --git a/d2ice.att.io/app/main/modals/checklist/state-approve-or-reject/state-approve-or-reject.html b/d2ice.att.io/app/main/modals/checklist/state-approve-or-reject/state-approve-or-reject.html deleted file mode 100755 index 4db81b1f..00000000 --- a/d2ice.att.io/app/main/modals/checklist/state-approve-or-reject/state-approve-or-reject.html +++ /dev/null @@ -1,58 +0,0 @@ - - -
- -
- -
- -
-
- Inserted text should not include any special chars such as: \%_*." -
- -
diff --git a/d2ice.att.io/app/main/modals/checklist/state-approve-or-reject/state-approve-or-reject.less b/d2ice.att.io/app/main/modals/checklist/state-approve-or-reject/state-approve-or-reject.less deleted file mode 100755 index 08bf14e9..00000000 --- a/d2ice.att.io/app/main/modals/checklist/state-approve-or-reject/state-approve-or-reject.less +++ /dev/null @@ -1,173 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -.modal-open .modal { - z-index: 30000 !important; -} - -#approve-or-reject-state { - - .modal-title { - .a_22_m; - } - - .decision-modal-body { - margin-bottom: 8px; - margin-top: 10px; - } - - .decision-comment { - .m_14_r;; - } - - .modal_buttons { - .custom-button { - position: relative; - width: 30%; - float: left; - display: inline-block; - } - .custom-space { - position: relative; - width: 5%; - float: left; - min-height: 1px; - } - } - - .state-title .bold { - .m_18_m; - } - .state-title { - .m_18_r; - } - .state-title-border { - border-bottom: dashed 1px; - border-color: @main_color_q; - margin-left: 0px; - } - - .comment-textarea { - resize: vertical; - } - - .btn-gradient-success { - font-weight: bold; - color: #FFFFFF; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); - background-color: #41A02C; - *background-color: #41A02C; - background-image: -moz-linear-gradient(top, #A2E652, #41A02C); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#A2E652), to(#41A02C)); - background-image: -webkit-linear-gradient(top, #A2E652, #41A02C); - background-image: -o-linear-gradient(top, #A2E652, #41A02C); - background-image: linear-gradient(to bottom, #A2E652, #41A02C); - background-repeat: repeat-x; - border-color: #41A02C; - border-color: #888; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#A2E652', endColorstr='#41A02C', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); - } - .btn-sample:hover, - .btn-sample:focus, - .btn-sample:active, - .btn-sample.active, - .btn-sample.disabled, - .btn-sample[disabled] { - color: #FFFFFF; - background-color: #41A02C; - *background-color: #003bb3; - } - - .btn-gradient-danger { - font-weight: bold; - color: #FFFFFF; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); - background-color: #AE0020; - *background-color: #AE0020; - background-image: -moz-linear-gradient(top, #F74658, #AE0020); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#F74658), to(#AE0020)); - background-image: -webkit-linear-gradient(top, #F74658, #AE0020); - background-image: -o-linear-gradient(top, #F74658, #AE0020); - background-image: linear-gradient(to bottom, #F74658, #AE0020); - background-repeat: repeat-x; - border-color: #AE0020; - border-color: #888; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#F74658', endColorstr='#AE0020', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); - } - .btn-sample:hover, - .btn-sample:focus, - .btn-sample:active, - .btn-sample.active, - .btn-sample.disabled, - .btn-sample[disabled] { - color: #FFFFFF; - background-color: #AE0020; - *background-color: #003bb3; - } - - .btn-gradient-default { - font-weight: bold; - color: #B3B3B3; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); - background-color: #D0D0D0; - *background-color: #D0D0D0; - background-image: -moz-linear-gradient(top, #FCFCFC, #D0D0D0); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#FCFCFC), to(#D0D0D0)); - background-image: -webkit-linear-gradient(top, #FCFCFC, #D0D0D0); - background-image: -o-linear-gradient(top, #FCFCFC, #D0D0D0); - background-image: linear-gradient(to bottom, #FCFCFC, #D0D0D0); - background-repeat: repeat-x; - border-color: #D0D0D0; - border-color: #888; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FCFCFC', endColorstr='#D0D0D0', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); - } - .btn-sample:hover, - .btn-sample:focus, - .btn-sample:active, - .btn-sample.active, - .btn-sample.disabled, - .btn-sample[disabled] { - color: #FFFFFF; - background-color: #D0D0D0; - *background-color: #003bb3; - } - -} diff --git a/d2ice.att.io/app/main/modals/cms-post-modal/cms-post-modal.controller.js b/d2ice.att.io/app/main/modals/cms-post-modal/cms-post-modal.controller.js deleted file mode 100755 index 09773283..00000000 --- a/d2ice.att.io/app/main/modals/cms-post-modal/cms-post-modal.controller.js +++ /dev/null @@ -1,92 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - 'use strict'; - - angular - .module('ice.modals') - .controller('cmsPostModalController', ['$uibModalInstance', 'cmsService','post', '$log', cmsPostModalController]); - - function cmsPostModalController($uibModalInstance, cmsService, post, $log) { - - var vm = this; - var init = function () { - if(post) { - vm.post = post; - } else { - cmsService.getLastAnnouncementPost() - .then(function(response) { - if(response && response.data && response.data.length === 1) { - vm.post = response.data[0]; - } - }) - .catch(function(error) { - $log.error(error); - }); - } - - loadRecentPosts(); - }; - - vm.closeModal = function (bool) { - $uibModalInstance.close(bool); - }; - - vm.loadSelectedPostData = function(post) { - if(post) { - vm.post = post; - } - }; - - function loadRecentPosts() { - var limit = 5; - var fromLastDays = ""; - - cmsService.getPosts(limit, fromLastDays, ['Announcement', 'News']) - .then(function(response) { - vm.recentPosts = response.data; - }) - .catch(function(error) { - $log.error(error); - }); - } - - init(); - } -})(); diff --git a/d2ice.att.io/app/main/modals/cms-post-modal/cms-post-modal.html b/d2ice.att.io/app/main/modals/cms-post-modal/cms-post-modal.html deleted file mode 100755 index cd51c5e3..00000000 --- a/d2ice.att.io/app/main/modals/cms-post-modal/cms-post-modal.html +++ /dev/null @@ -1,55 +0,0 @@ - -
- - -
-
- Most recent news & announcements -
    -
  • - {{post.title}}Posted at {{post.publish_date | date2: 'EEEE MMMM doo yyyy'}} by {{post.user.username}} -
  • -
-
-
diff --git a/d2ice.att.io/app/main/modals/cms-post-modal/cms-post-modal.less b/d2ice.att.io/app/main/modals/cms-post-modal/cms-post-modal.less deleted file mode 100755 index 832ef012..00000000 --- a/d2ice.att.io/app/main/modals/cms-post-modal/cms-post-modal.less +++ /dev/null @@ -1,106 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -.toast-read-more-container { - padding: 0 20px; - word-wrap: break-word; - - .recent-cms-posts-container { - .line-separator { - border-bottom: solid 1px @main_color_m; - margin: 20px 0; - } - - .recent-cms-posts-title { - .a_16_m; - - } - - ul.recent-cms-posts { - margin-top: 3px; - - li { - .f-type._16_m; - list-style: none; - position: relative; - line-height: 28px; - cursor: pointer; - - .post-creation { - .f-type._12_r; - } - - &:before { - content: ''; - display: inline-block; - position: absolute; - top: 0; - } - } - - li.selected { - background-color: @func_color_r; - } - } - } -} - -.toast-read-more-title { - .a_26_m; - line-height: 26px; -} - -.toast-read-more-creation { - display: block; -} - -.toast-read-more-content { - .m_18_r; - line-height: 20px; - padding: 10px 20px 0; -} - -.modal-cms-post-read-more { - width: 70%; - margin: 0px auto; - height: 100%; - - .modal-content { - height: 100%; - } -} diff --git a/d2ice.att.io/app/main/modals/detailed-view/dtsite/detailed-view-dtsites-modal.controller.js b/d2ice.att.io/app/main/modals/detailed-view/dtsite/detailed-view-dtsites-modal.controller.js deleted file mode 100755 index e14a9f88..00000000 --- a/d2ice.att.io/app/main/modals/detailed-view/dtsite/detailed-view-dtsites-modal.controller.js +++ /dev/null @@ -1,100 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - 'use strict'; - - angular - .module('ice.modals') - .controller('detailedViewDtsitesModalController', ["$rootScope", "$uibModalInstance", "$stateParams", - "dtsiteService", "toastService", "vf_uuid", "$log", detailedViewDtsitesModalController]); - - function detailedViewDtsitesModalController($rootScope, $uibModalInstance, $stateParams, dtsiteService, toastService, - vf_uuid, $log) { - - var vm = this; - - var init = function () { - if($stateParams.engagement != undefined) { - vm.vf = $stateParams.engagement.vf; - } - getDTsites(); - - }; - - vm.closeModal = function(){ - $uibModalInstance.close(); - }; - - vm.json = ''; - - vm.submitForm = function(){ - var postData={ - "name": vm.json, - "vf_uuid": vf_uuid - }; - - dtsiteService.add(postData) - .then(function (response) { - $uibModalInstance.close(response.status); - }) - .catch(function (error) { - $log.error(error); - toastService.setToast(error.status + ': Error changing progress!', 'danger'); - }); - }; - - var getDTsites = function() { - $rootScope.ice.loader.show = true; - dtsiteService.get() - .then(function (response) { - $rootScope.ice.loader.show = false; - if (response.status === 200) { - vm.dtsites = response.data; - } - }) - .catch(function (error) { - $rootScope.ice.loader.show = false; - $log.error(error); - }); - }; - - init(); - } - -})(); diff --git a/d2ice.att.io/app/main/modals/detailed-view/dtsite/detailed-view-dtsites-modal.html b/d2ice.att.io/app/main/modals/detailed-view/dtsite/detailed-view-dtsites-modal.html deleted file mode 100755 index 901cd624..00000000 --- a/d2ice.att.io/app/main/modals/detailed-view/dtsite/detailed-view-dtsites-modal.html +++ /dev/null @@ -1,62 +0,0 @@ - -
- - - - - -
diff --git a/d2ice.att.io/app/main/modals/detailed-view/vfc/detailed-view-vfc-modal.controller.js b/d2ice.att.io/app/main/modals/detailed-view/vfc/detailed-view-vfc-modal.controller.js deleted file mode 100755 index 983d8d99..00000000 --- a/d2ice.att.io/app/main/modals/detailed-view/vfc/detailed-view-vfc-modal.controller.js +++ /dev/null @@ -1,124 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - - 'use strict'; - - angular - .module('ice.modals') - .controller('detailedViewVFCModalController', ["$rootScope", "$uibModalInstance", "vfcService", "toastService", - "vf_uuid", "usersService", "$log", detailedViewVFCModalController]); - - function detailedViewVFCModalController($rootScope, $uibModalInstance, vfcService, toastService, vf_uuid, usersService, $log) { - - var vm = this; - - var init = function () { - vm.me = usersService.getUserData(); - - getVendors() - }; - - vm.vfcs = [{name:'',external_ref_id:'',company:''}]; - vm.companies = []; - - vm.closeModal = function(){ - $uibModalInstance.close(); - }; - - vm.addNewChoice = function () { - var newItemNo = vm.vfcs.length + 1; - vm.vfcs.push({'id': newItemNo}); - }; - - vm.removeChoice = function (index) { - vm.vfcs.splice(index,1); - }; - - vm.submitForm = function(){ - var jsonAddVfc = []; - angular.forEach(vm.vfcs, function (value, key) { - vm.item = []; - var jsonItem = new Object(); - jsonItem.name = value.name; - jsonItem.external_ref_id = value.external_ref_id; - jsonItem.company = value.company; - jsonAddVfc.push(jsonItem); - }); - - var postData={ - "vfcs": jsonAddVfc, - "vf_uuid": vf_uuid, - "creator": vm.me, - }; - - vfcService.add(postData) - .then(function (response) { - if (response.status === 200) { - $uibModalInstance.close(response.status); - } - }) - .catch(function (error) { - $log.error(error); - toastService.setToast(error.status + ': Error changing progress!', 'danger'); - }); - }; - - var getVendors = function() { - $rootScope.ice.loader.show = true; - vfcService.getCompanies() - .then(function (response) { - $rootScope.ice.loader.show = false; - if (response.status === 200) { - vm.companies = response.data; - if(vm.companies.length === 0 ){ - console.warn("No vendors pulled, request was successfull") - } - } - }) - .catch(function (error) { - $rootScope.ice.loader.show = false; - $log.error(error); - }); - }; - - init(); - } -})(); diff --git a/d2ice.att.io/app/main/modals/detailed-view/vfc/detailed-view-vfc-modal.html b/d2ice.att.io/app/main/modals/detailed-view/vfc/detailed-view-vfc-modal.html deleted file mode 100755 index 7ac2097f..00000000 --- a/d2ice.att.io/app/main/modals/detailed-view/vfc/detailed-view-vfc-modal.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - diff --git a/d2ice.att.io/app/main/modals/detailed-view/vfc/detailed-view-vfc-modal.less b/d2ice.att.io/app/main/modals/detailed-view/vfc/detailed-view-vfc-modal.less deleted file mode 100755 index 5ce9098d..00000000 --- a/d2ice.att.io/app/main/modals/detailed-view/vfc/detailed-view-vfc-modal.less +++ /dev/null @@ -1,68 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -.vfc-remove-button { - width: 20px; - height: 40px; - float: right; - .a_16_m; - cursor: pointer; - margin: 14px 0 0 0; - - .remove-icon { - .sprite; - .sprite.delete-circle; - cursor: pointer; - display: block; - } -} - -.modal-add-vfc { - margin-top: 8px; - display: block; - .add-text { - .a_16_m; - vertical-align: top; - margin-left: 6px; - } - .add-icon { - .sprite; - .sprite.add; - display: inline-block; - } -} diff --git a/d2ice.att.io/app/main/modals/feedback/feedback.controller.js b/d2ice.att.io/app/main/modals/feedback/feedback.controller.js deleted file mode 100755 index acee617b..00000000 --- a/d2ice.att.io/app/main/modals/feedback/feedback.controller.js +++ /dev/null @@ -1,82 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - 'use strict'; - - angular - .module('ice.modals') - .controller('FeedbackModalController', ['$rootScope','$uibModalInstance', 'feedbackService', - 'action', 'toastService', '$log', FeedbackModalController]); - - function FeedbackModalController($rootScope, $uibModalInstance, feedbackService, action, toastService, $log) { - var vm = this; - - var init = function() { - vm.action = action; - vm.feedback_modal_description = ''; - }; - - init(); - - vm.submitForm = function () - { - var feedbackPostData = {"description":vm.feedback_modal_description}; - if (action == 'add') { - feedbackService.add(feedbackPostData) - .then(function (response) { - if (response.status === 200) { - $uibModalInstance.close(response.data); - toastService.setToast('Feedback was sent successfully.', 'success'); - } else { - toastService.setToast(response.error, 'danger'); - $rootScope.ice.loader.show = false; - } - }) - .catch(function (error) { - toastService.setToast(error.message, 'danger'); - $log.error(error.message); - }); - } - }; - - vm.closeModal = function(){ - $uibModalInstance.close(); - }; - } -})(); diff --git a/d2ice.att.io/app/main/modals/feedback/feedback.html b/d2ice.att.io/app/main/modals/feedback/feedback.html deleted file mode 100755 index 88912c84..00000000 --- a/d2ice.att.io/app/main/modals/feedback/feedback.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - diff --git a/d2ice.att.io/app/main/modals/feedback/feedback.less b/d2ice.att.io/app/main/modals/feedback/feedback.less deleted file mode 100755 index 5d7fd8b3..00000000 --- a/d2ice.att.io/app/main/modals/feedback/feedback.less +++ /dev/null @@ -1,44 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -.feedback-modal-body { - .feedback-modal-description { - border-color: @main_color_q; - margin-bottom:15px; - } -} diff --git a/d2ice.att.io/app/main/modals/general-log-modal/general-log-modal.controller.js b/d2ice.att.io/app/main/modals/general-log-modal/general-log-modal.controller.js deleted file mode 100755 index 98fb2c14..00000000 --- a/d2ice.att.io/app/main/modals/general-log-modal/general-log-modal.controller.js +++ /dev/null @@ -1,63 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - 'use strict'; - - angular - .module('ice.modals') - .controller('GeneralLogModalController', ['$uibModalInstance', 'modalDetails', GeneralLogModalController]); - - function GeneralLogModalController($uibModalInstance, modalDetails) { - - var vm = this; - - var init = function() { - if(modalDetails) { - vm.headline = modalDetails.headline || 'General log modal'; - vm.body = modalDetails.body || 'There is no body'; - } - }; - - init(); - - vm.closeModal = function(){ - $uibModalInstance.close(); - }; - } -})(); diff --git a/d2ice.att.io/app/main/modals/general-log-modal/general-log-modal.html b/d2ice.att.io/app/main/modals/general-log-modal/general-log-modal.html deleted file mode 100755 index f87a8ac7..00000000 --- a/d2ice.att.io/app/main/modals/general-log-modal/general-log-modal.html +++ /dev/null @@ -1,45 +0,0 @@ - -
- - -
diff --git a/d2ice.att.io/app/main/modals/general-log-modal/general-log-modal.less b/d2ice.att.io/app/main/modals/general-log-modal/general-log-modal.less deleted file mode 100755 index e48ed525..00000000 --- a/d2ice.att.io/app/main/modals/general-log-modal/general-log-modal.less +++ /dev/null @@ -1,72 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. - - -.general-log-containter { - height: inherit; - padding: 0 20px 30px; - word-wrap: break-word; - - .general-log-subtitle { - padding-bottom: 10px; - } - - .general-log-body { - height: inherit; - overflow:scroll; - padding: 0px 20px 0; - .m_18_r; - line-height: 20px; - } -} - -.general-log-modal-title { - .a_26_m; - line-height: 26px; -} - -.modal-general-log-modal { - width: 70%; - margin: 0px auto; - height: 100%; - - .modal-content { - height: 100%; - } -} diff --git a/d2ice.att.io/app/main/modals/general-prompt-modal/general-prompt-modal.controller.js b/d2ice.att.io/app/main/modals/general-prompt-modal/general-prompt-modal.controller.js deleted file mode 100755 index f887a5ee..00000000 --- a/d2ice.att.io/app/main/modals/general-prompt-modal/general-prompt-modal.controller.js +++ /dev/null @@ -1,74 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. - -(function () { - 'use strict'; - - angular - .module('ice.modals') - .controller('generalPromptModalController', ['$uibModalInstance','modalDetails',generalPromptModalController]); - - function generalPromptModalController($uibModalInstance, modalDetails) { - - var vm = this; - var init = function () { - if(modalDetails) { - vm.upper_headline = modalDetails.upper_headline; - vm.upper_headline_value = modalDetails.upper_headline_value; - vm.headline = modalDetails.headline || 'D2ICE'; - vm.message = modalDetails.message || 'Are you sure?'; - vm.closeCallback = modalDetails.closeCallback; - vm.approveText = modalDetails.approve || 'Approve'; - vm.cancelText = modalDetails.cancel || 'Cancel'; - vm.is_close_modal_button = modalDetails.is_close_modal_button; - vm.is_message = modalDetails.is_message; - } - }; - - vm.closeModal = function (bool) { - if(vm.closeCallback) { - vm.closeCallback(bool); - } - - $uibModalInstance.close(bool); - }; - - init(); - } -})(); diff --git a/d2ice.att.io/app/main/modals/general-prompt-modal/general-prompt-modal.html b/d2ice.att.io/app/main/modals/general-prompt-modal/general-prompt-modal.html deleted file mode 100755 index 3bd31887..00000000 --- a/d2ice.att.io/app/main/modals/general-prompt-modal/general-prompt-modal.html +++ /dev/null @@ -1,52 +0,0 @@ - - - diff --git a/d2ice.att.io/app/main/modals/general-prompt-modal/general-prompt-modal.less b/d2ice.att.io/app/main/modals/general-prompt-modal/general-prompt-modal.less deleted file mode 100755 index d367cdaa..00000000 --- a/d2ice.att.io/app/main/modals/general-prompt-modal/general-prompt-modal.less +++ /dev/null @@ -1,151 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -.general-prompt-text-details { - .l_14_r; - padding: 3% 0% 3% 0%; -} - -.general-prompt-upper-headline { - .l_14_m; -} -.general-prompt-upper-dash { - border-bottom: dashed 1px #5a5a5a; - margin-bottom: 15px; -} -.upper-headline-value{ - .l_14_i; -} - -.general-prompt-body{ - margin: 0px; -} - -.general-prompt-title { - .m_18_r; - - .bold { - .a_18_m; - } - -} - - -.btn-gradient-success { - font-weight: bold; - color: #FFFFFF; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); - background-color: #41A02C; - *background-color: #41A02C; - background-image: -moz-linear-gradient(top, #A2E652, #41A02C); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#A2E652), to(#41A02C)); - background-image: -webkit-linear-gradient(top, #A2E652, #41A02C); - background-image: -o-linear-gradient(top, #A2E652, #41A02C); - background-image: linear-gradient(to bottom, #A2E652, #41A02C); - background-repeat: repeat-x; - border-color: #41A02C; - border-color: #888; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#A2E652', endColorstr='#41A02C', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); -} -.btn-sample:hover, -.btn-sample:focus, -.btn-sample:active, -.btn-sample.active, -.btn-sample.disabled, -.btn-sample[disabled] { - color: #FFFFFF; - background-color: #41A02C; - *background-color: #003bb3; -} - -.btn-gradient-danger { - font-weight: bold; - color: #FFFFFF; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); - background-color: #AE0020; - *background-color: #AE0020; - background-image: -moz-linear-gradient(top, #F74658, #AE0020); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#F74658), to(#AE0020)); - background-image: -webkit-linear-gradient(top, #F74658, #AE0020); - background-image: -o-linear-gradient(top, #F74658, #AE0020); - background-image: linear-gradient(to bottom, #F74658, #AE0020); - background-repeat: repeat-x; - border-color: #AE0020; - border-color: #888; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#F74658', endColorstr='#AE0020', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); -} -.btn-sample:hover, -.btn-sample:focus, -.btn-sample:active, -.btn-sample.active, -.btn-sample.disabled, -.btn-sample[disabled] { - color: #FFFFFF; - background-color: #AE0020; - *background-color: #003bb3; -} - -.btn-gradient-default { - font-weight: bold; - color: #B3B3B3; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); - background-color: #D0D0D0; - *background-color: #D0D0D0; - background-image: -moz-linear-gradient(top, #FCFCFC, #D0D0D0); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#FCFCFC), to(#D0D0D0)); - background-image: -webkit-linear-gradient(top, #FCFCFC, #D0D0D0); - background-image: -o-linear-gradient(top, #FCFCFC, #D0D0D0); - background-image: linear-gradient(to bottom, #FCFCFC, #D0D0D0); - background-repeat: repeat-x; - border-color: #D0D0D0; - border-color: #888; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FCFCFC', endColorstr='#D0D0D0', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); -} -.btn-sample:hover, -.btn-sample:focus, -.btn-sample:active, -.btn-sample.active, -.btn-sample.disabled, -.btn-sample[disabled] { - color: #FFFFFF; - background-color: #D0D0D0; - *background-color: #003bb3; -} diff --git a/d2ice.att.io/app/main/modals/next-steps/next-steps.controller.js b/d2ice.att.io/app/main/modals/next-steps/next-steps.controller.js deleted file mode 100755 index b90921ff..00000000 --- a/d2ice.att.io/app/main/modals/next-steps/next-steps.controller.js +++ /dev/null @@ -1,278 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - 'use strict'; - - angular - .module('ice.modals') - .controller('NextStepsModalController', ['$rootScope', '$uibModalInstance', 'stepsService', 'engagement_team', - 'title', 'associated_files', 'engagement_uuid', 'checklist', 'nextstep', 'toastService', '$log', NextStepsModalController]); - - function NextStepsModalController($rootScope, $uibModalInstance, stepsService, engagement_team, title, - associated_files, engagement_uuid, checklist, nextstep, toastService, $log) { - - var vm = this; - vm.nextSteps = [{assigneesUuids: '',description: '', files: '', duedate: ''}]; - - var init = function() { - - vm.myDate = new Date(); - vm.minDate = new Date( - vm.myDate.getFullYear(), - vm.myDate.getMonth(), - vm.myDate.getDate()); - vm.maxDate = new Date( - vm.myDate.getFullYear() + 2, - vm.myDate.getMonth(), - vm.myDate.getDate()); - vm.onlyWeekendsPredicate = function (date) { - var day = date.getDay(); - return day === 0 || day === 6; - }; - - vm.wysiwyg_menu = [ - ['bold', 'italic', 'strikethrough', 'underline'], - ['unordered-list', 'ordered-list', 'outdent', 'indent'] - ]; - vm.select_str = {File: 'Select All'}; - vm.select_all_flag = false; - vm.associated_files = []; - vm.associated_files.push( vm.select_str); - vm.assigness = []; - vm.title = title; - if (checklist == undefined) - { - vm.checklist = {}; - vm.checklist.uuid = undefined; - } else { - vm.checklist = checklist; - } - - var unique_files = []; - angular.forEach(associated_files, function (value, key) { - if (unique_files.indexOf(value) == -1) { - unique_files.push(value); - vm.associated_files.push({File: value}); - } - }); - angular.forEach(engagement_team, function (value, key) { - vm.assigness.push({name: value.full_name, id: value.uuid}); - }); - vm.edit = false; - - if (nextstep != undefined) - { - vm.edit = true; - var current = {}; - current.description = nextstep.description; - current.files = []; - current.duedate = new Date(nextstep.due_date); - var unique_files = []; - angular.forEach(nextstep.files, function(val, key1) { - if (unique_files.indexOf(value) == -1) { - unique_files.push(value); - current.files.push({File: val}); - } - }); - - current.assigneesUuids = []; - angular.forEach(nextstep.assignees, function(val, key1) { - current.assigneesUuids.push({name : val.full_name, id :val.uuid}); - - }); - vm.nextSteps = [current]; - } - }; - - init(); - - vm.get_chosen_files_num = function(ns){ - if (ns.files.length == associated_files.length+1) { - return ns.files.length - 1; - } - return ns.files.length - } - - vm.add_all_associated_files = function (ns , choose_option){ - if (choose_option == true) { - ns.files = []; - ns.files.push({File: 'Select All'}); - _.forEach(associated_files, function (value, key) { - ns.files.push({File: value}); - }); - } - else { - vm.select_all_flag = false; - ns.files = []; - } - return; - } - - vm.pull_select_all_from_list = function(ns){ - var shortened_files_list = []; - _.forEach(ns.files, function(item) { - if (!_.isEqual(item, vm.select_str)) { - shortened_files_list.push(item); - } - }); - ns.files = shortened_files_list; - } - - vm.verify_files_choice = function(ns){ - _.forEach(ns.files, function(item) { - if (ns.files.length == associated_files.length && vm.select_all_flag) { - if (item === vm.select_str) { - vm.select_all_flag = false; - vm.pull_select_all_from_list(ns); - } - else { - vm.add_all_associated_files(ns, false) - } - } - else if (ns.files.length == associated_files.length && !vm.select_all_flag) { - ns.files.push({File: 'Select All'}); - vm.select_all_flag = true; - } - else if (item === vm.select_str) { - vm.select_all_flag = true; - vm.add_all_associated_files(ns, true) - } - }) - } - - vm.addNewStep = function () { - var newItemNo = vm.nextSteps.length + 1; - vm.nextSteps.push({'id': newItemNo}); - }; - - vm.removeStep = function (index) { - vm.nextSteps.splice(index,1); - }; - - vm.closeModal = function(){ - $rootScope.ice.loader.show = false; - toastService.clearToast(); - $uibModalInstance.close(); - }; - - vm.submitForm = function () { - - var jsonNextSteps = []; - - var objDate; - var strDate; - angular.forEach(vm.nextSteps, function(value, key) { - var next_step = {}; - next_step.files = []; - if (value.files.length > associated_files.length) { - vm.pull_select_all_from_list(value); - } - angular.forEach(value.files, function(val, key1) { - next_step.files.push(val.File); - }); - next_step.assigneesUuids = []; - angular.forEach(value.assigneesUuids, function(val, key1) { - next_step.assigneesUuids.push(val.id); - }); - - // TODO exho correct format in one command - objDate = new Date(Date.parse((value.duedate) + moment().format("z"))); - next_step.duedate = objDate.getFullYear() + "-" + addZero(objDate.getMonth()+1) + "-" + addZero(objDate.getDate()); - next_step.description = value.description; - jsonNextSteps.push(next_step); - }); - var checklist_uuid = vm.checklist.uuid; - var engUuid = engagement_uuid; - if (vm.edit){ - stepsService.edit(engagement_uuid, nextstep.uuid,jsonNextSteps[0]) - .then(function (response) { - if (response.status === 202) { - $uibModalInstance.close(response.data); - } - }) - .catch(function (error) { - $log.error(error); - toastService.setToast(error.status + ': Error adding next step!', 'danger', {displayFor: 'modal'}); - }); - } else if (vm.checklist.uuid == undefined) { - - stepsService.add(engagement_uuid, jsonNextSteps) - .then(function (response) { - if (response.status === 200) { - $uibModalInstance.close(response.data); - } - }) - .catch(function (error) { - $log.error(error); - toastService.setToast(error.status + ': Error adding next step!', 'danger', {displayFor: 'modal'}); - }); - } else { - stepsService.createChecklistNextStep(checklist_uuid, engUuid, jsonNextSteps) - .then(function (response) { - if (response.status === 200) { - $uibModalInstance.close(response.status); - vm.closeModal(); - } - else - { - toastService.setToast(error.message, 'danger', {displayFor: 'modal'}); - $rootScope.ice.loader.show = false; - $log.error(error); - } - }) - .catch(function (error) { - toastService.setToast(error.message, 'danger', {displayFor: 'modal'}); - $rootScope.ice.loader.show = false; - $log.error(error); - }); - } - }; - - var addZero = function(x) - { - if (x<10) - { - return("0"+x); - } else - { - return(x); - } - } - } -})(); diff --git a/d2ice.att.io/app/main/modals/next-steps/next-steps.html b/d2ice.att.io/app/main/modals/next-steps/next-steps.html deleted file mode 100755 index 588247e8..00000000 --- a/d2ice.att.io/app/main/modals/next-steps/next-steps.html +++ /dev/null @@ -1,138 +0,0 @@ - - - - diff --git a/d2ice.att.io/app/main/modals/next-steps/next-steps.less b/d2ice.att.io/app/main/modals/next-steps/next-steps.less deleted file mode 100755 index faf3eb9e..00000000 --- a/d2ice.att.io/app/main/modals/next-steps/next-steps.less +++ /dev/null @@ -1,307 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -.md-datepicker-calendar-pane { - z-index:30001; -} -md-datepicker.btn { - width:100%; - padding: 0px; - position: relative; - - .md-button.md-icon-button.md-datepicker-button { - float:left; - min-height: 0px; - height: 32px; - z-index: 2; - width: 100%; - padding: 0px; - margin: 0px; - md-icon { - display:none; - } - } - - .md-datepicker-input-container{ - - line-height: 28px; - border-bottom:none; - margin-left: 0px; - position: absolute; - left: 0px; - padding-left: 0px; - width: 100% - } - - .md-datepicker-input { - width: 100%; - text-align: left; - line-height: 32px; - padding-left: 10px; - margin: 0px; - } - .md-datepicker-input::-webkit-input-placeholder { - color: #555; - } - .md-datepicker-triangle-button { - top: 7px; - } - .md-datepicker-triangle-button .md-datepicker-expand-triangle { - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-top: 4px solid transparent; - border-bottom: 4px solid transparent; - } - - .md-datepicker-triangle-button .md-datepicker-expand-triangle:before { - position: absolute; - top: -13px; - left: -3px; - display: inline-block; - border-left: 3.8px solid transparent; - border-right: 3.8px solid transparent; - border-top: 7px solid transparent; - border-bottom: 5.9px solid #555555; - content: ''; - } - - .md-datepicker-triangle-button .md-datepicker-expand-triangle:after { - position: absolute; - top: 1px; - left: -3px; - display: inline-block; - border-left: 3.8px solid transparent; - border-right: 3.8px solid transparent; - border-top: 5.9px solid #555555; - border-bottom: 7px solid transparent; - content: ''; - } - -} - -.dropdown-menu li[data-ng-if="modelValue().length > 0"] { - display:none; -} -.next-steps -{ - md-datepicker .md-datepicker-input { - text-align: center; - } - -} - -.next-steps { - - .checklist-name - { - padding-left:0px; - border-bottom:1px dashed; - } - - .addNextSteps - { - - margin-bottom:10px;margin-top:10px; - } - - .repeaterNextStep - { - - margin-bottom:10px; - padding-left:10px; - padding-right:10px; - padding-left:10px; - padding-top:10px; - padding-bottom:10px; - border:1px solid; - border-color:#CCCCCC; - } - - .padTop4 - { - padding-top:4px; - } - - .padTop10 - { - padding-top:10px; - } - - .padLeft0 - { - padding-left:0px; - } - - .add-header - { - .a_16_m; - } - - .ice-wysiwyg { - height: 200px; - .wysiwyg-menu > div { - background-color: #f1f1f1; - padding: 2px; - } - } - - .font-deco { - text-decoration-line: underline; - text-decoration-style: dashed; - } - - .text-right - { - text-align:right; - } - - .font_header - { - margin_top:0px; - .m_18_m; - } - - .font_header_add_next - { - .a_24_m; - } - - .font_header_chk_name - { - .m_18_r; - } - - .margin_btm - { - margin-bottom:12px; - } - - .ms - { - background-color:yellow; - } - - multiselect > .btn-group - { - width:100%; - } - multiselect > .btn-group > .btn - { - width:100%; - } - multiselect > .btn-group > .dropdown-menu - { - width:100%; - } - - form > .lineColor - { - background-color:#F6F3F3; - } - - .add-icon { - .sprite; - .sprite.add; - display: inline-block; - } - - .add-button { - margin-top: 8px; - display: block; - .add-text { - .a_16_m; - vertical-align: top; - margin-left: 6px; - } - } - - .remove-icon { - cursor: pointer; - vertical-align: text-top; - //.sprite; - //.sprite.delete;//-circle; - .actions-sprite; - .actions-sprite.delete_large; - - display:block; - position:relative; - top:11px; - } - - .posRelative - { - position:relative; - } - - .posAbsDelBtn - { - position:absolute; - top:10px; - right:20px; - z-index:40000; - } - - #btn-submit { - width: 100%; - } - - .btn-primary { - border: 1px solid #8799A3; - border-radius: 6px; - background: #1E79B0; /* For browsers that do not support gradients */ - background: -webkit-linear-gradient(#1E79B0, #62ADD5); /* For Safari 5.1 to 6.0 */ - background: -o-linear-gradient(#1E79B0, #62ADD5); /* For Opera 11.1 to 12.0 */ - background: -moz-linear-gradient(#1E79B0, #62ADD5); /* For Firefox 3.6 to 15 */ - background: linear-gradient(#1E79B0, #62ADD5); /* Standard syntax (must be last) */ - } - - - - .datepickerdemoBasicUsage { - /** Demo styles for mdCalendar. */ } - .datepickerdemoBasicUsage md-content { - padding-bottom: 200px; } - .datepickerdemoBasicUsage .validation-messages { - font-size: 12px; - color: #dd2c00; - margin-left: 15px; } - - - - -} diff --git a/d2ice.att.io/app/main/modals/select-el-modal/select-el-modal.controller.js b/d2ice.att.io/app/main/modals/select-el-modal/select-el-modal.controller.js deleted file mode 100755 index 9b73e706..00000000 --- a/d2ice.att.io/app/main/modals/select-el-modal/select-el-modal.controller.js +++ /dev/null @@ -1,78 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. - -(function () { - 'use strict'; - - angular - .module('ice.modals') - .controller('selectELModalController', ['$uibModalInstance', 'excludeUuids', 'selectedOption', 'usersService', - '_', '$log', selectELModalController]); - - function selectELModalController($uibModalInstance, excludeUuids, selectedOption, usersService, _, $log) { - var vm = this; - vm.show_warning = false; - var init = function () { - usersService.getEngagementLeads() - .then(function(response) { - vm.engagementLeads = _.filter(response.data, function(el) { - return el.uuid; - }); - - vm.selectedUserUuid = _.find(vm.engagementLeads, ['uuid', selectedOption]); - }) - .catch(function(error) { - $log.error(error); - vm.closeModal(); - }); - }; - - vm.closeModal = function () { - $uibModalInstance.dismiss(); - }; - - vm.onUserSelect = function() { - if(vm.selectedUserUuid) { - $uibModalInstance.close(vm.selectedUserUuid); - } - }; - - init(); - } -})(); diff --git a/d2ice.att.io/app/main/modals/select-el-modal/select-el-modal.html b/d2ice.att.io/app/main/modals/select-el-modal/select-el-modal.html deleted file mode 100755 index fa285a6d..00000000 --- a/d2ice.att.io/app/main/modals/select-el-modal/select-el-modal.html +++ /dev/null @@ -1,56 +0,0 @@ - -
- - -
diff --git a/d2ice.att.io/app/main/modals/select-el-modal/select-el-modal.less b/d2ice.att.io/app/main/modals/select-el-modal/select-el-modal.less deleted file mode 100755 index 6371cf7e..00000000 --- a/d2ice.att.io/app/main/modals/select-el-modal/select-el-modal.less +++ /dev/null @@ -1,54 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -.select-engagement-lead-modal { - padding: 0px 15px 0px 15px; - - .select-engagement-lead-title { - .a_24_m;; - } - - .select-engagement-lead-description { - .m_16_r; - } - - .modal-body { - top: 10px; - } -} - diff --git a/d2ice.att.io/app/main/modals/set-eng-stage/set-eng-stage-modal.controller.js b/d2ice.att.io/app/main/modals/set-eng-stage/set-eng-stage-modal.controller.js deleted file mode 100755 index 3824870d..00000000 --- a/d2ice.att.io/app/main/modals/set-eng-stage/set-eng-stage-modal.controller.js +++ /dev/null @@ -1,63 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. - -(function () { - 'use strict'; - - angular - .module('ice.modals') - .controller('setEngStageModalController', ['$rootScope','$uibModalInstance','stage','eng_name','current_stage', setEngStageModalController]); - - function setEngStageModalController($rootScope, $uibModalInstance,stage, eng_name, current_stage) { - - var vm = this; - var init = function () { - vm.stage = stage; - vm.current_stage = current_stage; - vm.modalText = "Are you sure you want to set the Engagement's stage to "+vm.stage+"?"; - vm.eng_name = eng_name; - } - - vm.closeModal = function (bool) { - $uibModalInstance.close(bool); - }; - - init(); - } -})(); diff --git a/d2ice.att.io/app/main/modals/set-eng-stage/set-eng-stage-modal.html b/d2ice.att.io/app/main/modals/set-eng-stage/set-eng-stage-modal.html deleted file mode 100755 index 362eb93b..00000000 --- a/d2ice.att.io/app/main/modals/set-eng-stage/set-eng-stage-modal.html +++ /dev/null @@ -1,49 +0,0 @@ - - - diff --git a/d2ice.att.io/app/main/modals/set-eng-stage/set-eng-stage-modal.less b/d2ice.att.io/app/main/modals/set-eng-stage/set-eng-stage-modal.less deleted file mode 100755 index af7d5ba1..00000000 --- a/d2ice.att.io/app/main/modals/set-eng-stage/set-eng-stage-modal.less +++ /dev/null @@ -1,135 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -.set-stage-modal-text-details { - .m_18_r; - padding: 3% 0% 3% 0%; -} - -.set-stage-title { - .m_18_r; - - .bold { - .a_18_m; - } - -} - -.btn-gradient-success { - font-weight: bold; - color: #FFFFFF; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); - background-color: #41A02C; - *background-color: #41A02C; - background-image: -moz-linear-gradient(top, #A2E652, #41A02C); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#A2E652), to(#41A02C)); - background-image: -webkit-linear-gradient(top, #A2E652, #41A02C); - background-image: -o-linear-gradient(top, #A2E652, #41A02C); - background-image: linear-gradient(to bottom, #A2E652, #41A02C); - background-repeat: repeat-x; - border-color: #41A02C; - border-color: #888; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#A2E652', endColorstr='#41A02C', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); -} -.btn-sample:hover, -.btn-sample:focus, -.btn-sample:active, -.btn-sample.active, -.btn-sample.disabled, -.btn-sample[disabled] { - color: #FFFFFF; - background-color: #41A02C; - *background-color: #003bb3; -} - -.btn-gradient-danger { - font-weight: bold; - color: #FFFFFF; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); - background-color: #AE0020; - *background-color: #AE0020; - background-image: -moz-linear-gradient(top, #F74658, #AE0020); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#F74658), to(#AE0020)); - background-image: -webkit-linear-gradient(top, #F74658, #AE0020); - background-image: -o-linear-gradient(top, #F74658, #AE0020); - background-image: linear-gradient(to bottom, #F74658, #AE0020); - background-repeat: repeat-x; - border-color: #AE0020; - border-color: #888; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#F74658', endColorstr='#AE0020', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); -} -.btn-sample:hover, -.btn-sample:focus, -.btn-sample:active, -.btn-sample.active, -.btn-sample.disabled, -.btn-sample[disabled] { - color: #FFFFFF; - background-color: #AE0020; - *background-color: #003bb3; -} - -.btn-gradient-default { - font-weight: bold; - color: #B3B3B3; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); - background-color: #D0D0D0; - *background-color: #D0D0D0; - background-image: -moz-linear-gradient(top, #FCFCFC, #D0D0D0); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#FCFCFC), to(#D0D0D0)); - background-image: -webkit-linear-gradient(top, #FCFCFC, #D0D0D0); - background-image: -o-linear-gradient(top, #FCFCFC, #D0D0D0); - background-image: linear-gradient(to bottom, #FCFCFC, #D0D0D0); - background-repeat: repeat-x; - border-color: #D0D0D0; - border-color: #888; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FCFCFC', endColorstr='#D0D0D0', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); -} -.btn-sample:hover, -.btn-sample:focus, -.btn-sample:active, -.btn-sample.active, -.btn-sample.disabled, -.btn-sample[disabled] { - color: #FFFFFF; - background-color: #D0D0D0; - *background-color: #003bb3; -} diff --git a/d2ice.att.io/app/main/modals/set-eng-stage/set_eng_stage_modal.html b/d2ice.att.io/app/main/modals/set-eng-stage/set_eng_stage_modal.html deleted file mode 100755 index adf81be3..00000000 --- a/d2ice.att.io/app/main/modals/set-eng-stage/set_eng_stage_modal.html +++ /dev/null @@ -1,58 +0,0 @@ - - -
- - - -
- -
-
- - -
diff --git a/d2ice.att.io/app/main/modals/status/status.controller.js b/d2ice.att.io/app/main/modals/status/status.controller.js deleted file mode 100755 index 9a90ec52..00000000 --- a/d2ice.att.io/app/main/modals/status/status.controller.js +++ /dev/null @@ -1,125 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - 'use strict'; - - angular - .module('ice.modals') - .controller('StatusModalController', ['$rootScope', '$uibModalInstance', 'statusService', 'engagement_uuid', - 'action', 'toastService', '$log', StatusModalController]); - - function StatusModalController($rootScope, $uibModalInstance, statusService, engagement_uuid, action, toastService, $log) { - var vm = this; - - var init = function() { - vm.engagement_uuid = engagement_uuid; - vm.action = action; - if (action == 'edit') { - statusService.get(engagement_uuid) - .then(function (response) { - if (response.status === 200) - { - vm.status = response.data; - vm.status_modal_description = vm.status.description; - vm.eng_status_uuid = vm.status.uuid; - } else - { - $log.error(response); - } - }) - .catch(function (error) { - vm.status = false; - $log.error(error.message); - }); - } else { - vm.status_modal_description = ''; - } - }; - - init(); - - vm.submitForm = function () - { - var jsonPost = {"description":vm.status_modal_description}; - if (action == 'edit') { - jsonPost.eng_status_uuid = vm.eng_status_uuid; - statusService.update(vm.engagement_uuid, jsonPost) - .then(function (response) { - if (response.status === 200) - { - $uibModalInstance.close(response.data); - vm.closeModal(); - } - else - { - toastService.setToast(response.error, 'danger'); - $rootScope.ice.loader.show = false; - } - }) - .catch(function (error) { - toastService.setToast(error.message, 'danger'); - $log.error(error.message); - }); - } else { - statusService.add(vm.engagement_uuid, jsonPost) - .then(function (response) { - if (response.status === 200) - { - - $uibModalInstance.close(response.data); - vm.closeModal(); - } - else - { - toastService.setToast(response.error, 'danger'); - $rootScope.ice.loader.show = false; - } - }) - .catch(function (error) { - toastService.setToast(error.message, 'danger'); - $log.error(error.message); - }); - } - }; - - vm.closeModal = function(){ - $uibModalInstance.close(); - }; - } -})(); diff --git a/d2ice.att.io/app/main/modals/status/status.html b/d2ice.att.io/app/main/modals/status/status.html deleted file mode 100755 index 83c50d2b..00000000 --- a/d2ice.att.io/app/main/modals/status/status.html +++ /dev/null @@ -1,59 +0,0 @@ - - - - - diff --git a/d2ice.att.io/app/main/modals/status/status.less b/d2ice.att.io/app/main/modals/status/status.less deleted file mode 100755 index ae5f7945..00000000 --- a/d2ice.att.io/app/main/modals/status/status.less +++ /dev/null @@ -1,44 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -.status-modal-body { - .status-modal-description { - border-color: @main_color_q; - margin-bottom:15px; - } -} diff --git a/d2ice.att.io/app/main/modals/target-lab-entry/change-lab-entry-date.controller.js b/d2ice.att.io/app/main/modals/target-lab-entry/change-lab-entry-date.controller.js deleted file mode 100755 index a300d3da..00000000 --- a/d2ice.att.io/app/main/modals/target-lab-entry/change-lab-entry-date.controller.js +++ /dev/null @@ -1,78 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - 'use strict'; - - angular - .module('ice.modals') - .controller('ChangeLabEntryDateModalController', ["$uibModalInstance", "targetLabDate", "engagementUuid", "vfService", "$rootScope", "toastService", changeLabEntryDateModalController]); - - function changeLabEntryDateModalController($uibModalInstance, targetLabDate, engagementUuid, vfService, $rootScope, toastService) { - - var vm = this; - //vm.completionDate = new Date(completionDate); - vm.targetLabDate = targetLabDate; - vm.dateOptions = { - minDate: new Date(), - showWeeks: true - }; - - vm.closeModal = function(){ - $uibModalInstance.close(); - }; - - vm.myDate = new Date(); - vm.minDate = moment(vm.myDate).format("YYYY-MM-DD") - vm.maxDate = moment(vm.myDate).add(2, 'years').format("YYYY-MM-DD"); - - vm.submitForm = function(){ - var postData={"target_date": moment(vm.targetLabDate).format("YYYY-MM-DD")}; - vfService.updateLabEntryDaysLeft(engagementUuid, postData) - .then(function (response) { - if (response.status === 200) { - $uibModalInstance.close(postData); - } - }) - .catch(function (error) { - toastService.setToast(error.status + ': Error changing completion date!', 'danger'); - }); - }; - } -})(); diff --git a/d2ice.att.io/app/main/modals/target-lab-entry/change-lab-entry-date.html b/d2ice.att.io/app/main/modals/target-lab-entry/change-lab-entry-date.html deleted file mode 100755 index cfd30f79..00000000 --- a/d2ice.att.io/app/main/modals/target-lab-entry/change-lab-entry-date.html +++ /dev/null @@ -1,55 +0,0 @@ - -
- - -
- - diff --git a/d2ice.att.io/app/main/modals/target-lab-entry/change-lab-entry-date.less b/d2ice.att.io/app/main/modals/target-lab-entry/change-lab-entry-date.less deleted file mode 100755 index 8aa6f3be..00000000 --- a/d2ice.att.io/app/main/modals/target-lab-entry/change-lab-entry-date.less +++ /dev/null @@ -1,49 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. - .edit-target-lab-date-modal { - .md-datepicker-input-container { - .md-datepicker-input { - width: 100%; - text-align: left; - line-height: 32px; - padding-left: 95px; - margin: 0px; - } - } - } \ No newline at end of file diff --git a/d2ice.att.io/app/main/modals/update-engagement-status-modal/update-engagement-status-modal.controller.js b/d2ice.att.io/app/main/modals/update-engagement-status-modal/update-engagement-status-modal.controller.js deleted file mode 100755 index f9afa320..00000000 --- a/d2ice.att.io/app/main/modals/update-engagement-status-modal/update-engagement-status-modal.controller.js +++ /dev/null @@ -1,73 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. - -(function () { - 'use strict'; - - angular - .module('ice.modals') - .controller('updateEngagementStatusModalController', ['$uibModalInstance', 'engagement', updateEngagementStatusModalController]); - - function updateEngagementStatusModalController($uibModalInstance, engagement) { - var vm = this; - var init = function () { - vm.engagement = engagement; - formatDates(); - }; - - vm.closeModal = function () { - $uibModalInstance.dismiss(); - }; - - vm.updateEngagement = function() { - formatDates(); - $uibModalInstance.close({"engagement": vm.engagement, "status": vm.status}); - }; - - var formatDates = function() { - if(vm.engagement.target_completion_date){ vm.engagement.target_completion_date = new Date(vm.engagement.target_completion_date); } - if(vm.engagement.heat_validated_time){ vm.engagement.heat_validated_time = new Date(vm.engagement.heat_validated_time); } - if(vm.engagement.image_scan_time){ vm.engagement.image_scan_time = new Date(vm.engagement.image_scan_time); } - if(vm.engagement.aic_instantiation_time){ vm.engagement.aic_instantiation_time = new Date(vm.engagement.aic_instantiation_time); } - if(vm.engagement.asdc_onboarding_time){ vm.engagement.asdc_onboarding_time = new Date(vm.engagement.asdc_onboarding_time); } - }; - - init(); - } -})(); diff --git a/d2ice.att.io/app/main/modals/update-engagement-status-modal/update-engagement-status-modal.html b/d2ice.att.io/app/main/modals/update-engagement-status-modal/update-engagement-status-modal.html deleted file mode 100755 index 29abb24e..00000000 --- a/d2ice.att.io/app/main/modals/update-engagement-status-modal/update-engagement-status-modal.html +++ /dev/null @@ -1,97 +0,0 @@ - -
- - -
diff --git a/d2ice.att.io/app/main/modals/update-engagement-status-modal/update-engagement-status-modal.less b/d2ice.att.io/app/main/modals/update-engagement-status-modal/update-engagement-status-modal.less deleted file mode 100755 index 8bce9da3..00000000 --- a/d2ice.att.io/app/main/modals/update-engagement-status-modal/update-engagement-status-modal.less +++ /dev/null @@ -1,61 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -.update-engagement-status-modal { - padding: 0px 15px 0px 15px; - - .update-engagement-status-title { - .a_24_m;; - } - - .update-engagement-status-description { - .m_16_r; - } - - .form-field-title{ - .m_16_r; - } - - .modal-body { - top: 10px; - } - - .md-datepicker-input { - max-width: none; - } -} diff --git a/d2ice.att.io/app/main/modals/validation-details/detailed-view-validation-details-modal.controller.js b/d2ice.att.io/app/main/modals/validation-details/detailed-view-validation-details-modal.controller.js deleted file mode 100755 index 1370e367..00000000 --- a/d2ice.att.io/app/main/modals/validation-details/detailed-view-validation-details-modal.controller.js +++ /dev/null @@ -1,202 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - - 'use strict'; - - angular - .module('ice.modals') - .controller('validationDetailsModalController', ["$rootScope", "$uibModalInstance", "vfcService", "vfService", "$stateParams", "toastService", "vf_uuid", "usersService", "$log", "_", validationDetailsModalController]); - - function validationDetailsModalController($rootScope, $uibModalInstance, vfcService,vfService, $stateParams,toastService, vf_uuid, usersService,$log,_) { - - var vm = this; - var init = function () { - if($stateParams.engagement) { - vm.engagement = $stateParams.engagement; - } - vm.me = usersService.getUserData(); - vfService.getSingleEngagement(vm.me.uuid,vm.engagement.uuid) - .then(function (response) { - $rootScope.ice.loader.show = false; - - if (response.status === 200 && response.data && response.data !== '') { - var vf_data = response.data; - vm.engagement_manual_id = vf_data.engagement.engagement_manual_id; - vm.vf_name = vf_data.name; - vm.vf_uuid = vf_data.uuid; - vm.ecomp_release = vf_data.ecomp_release; - vm.target_lab = new Date(vf_data.target_lab_entry_date); - vm.dtversion = vf_data.deployment_target; - vm.selected_dt_uuid = vm.dtversion.uuid; - vm.selected_ecomp_uuid = vm.ecomp_release.uuid; - vm.me = usersService.getUserData(); - vm.name = vm.engagement.name; - vm.isEngagementEL = usersService.isEngagementEL(vf_data.engagement.engagement_team); - vm.isAdmin = usersService.isAdmin(vm.me); - vm.choices = [{TargetLab: '', TargetAic: ''}]; - getDeployTargets(); - getECOMPReleases(); - getVFVersion(); - } - }) - .catch(function (error) { - $rootScope.ice.loader.show = false; - $log.error(error); - }); - }; - - vm.closeModal = function(){ - $uibModalInstance.close(); - }; - - vm.addNewChoice = function () { - var newItemNo = vm.choices.length + 1; - vm.choices.push({'id': newItemNo}); - }; - - function getDeployTargets() { - vfService.getDeployTargets() - .then(function (response) { - $rootScope.ice.loader.show = false; - if (response.status === 200) { - vm.deployTargets = response.data; - if (_.filter(vm.deployTargets, {'uuid': vm.dtversion.uuid}).length === 0) { - vm.dtversion.disabled = true; - vm.deployTargets.push(vm.dtversion); - } - } - }).catch(function (error) { - $rootScope.ice.loader.show = false; - $log.error(error); - }); - } - function getECOMPReleases(){ - vfService.getECOMPReleases() - .then(function (response) { - if (response.status === 200) { - vm.ECOMPReleases = response.data; - if (_.filter(vm.ECOMPReleases, {'uuid':vm.ecomp_release.uuid}).length === 0) { - vm.ecomp_release.disabled = true; - vm.ECOMPReleases.push(vm.ecomp_release); - } - } - }).catch(function (error) { - $rootScope.ice.loader.show = false; - $log.error(error); - }); - } - function getVFVersion(){ - vfService.getVFVersion(vf_uuid) - .then(function (response) { - $rootScope.ice.loader.show = false; - if (response.status === 200) { - vm.VFVersion = response.data; - } - }).catch(function (error) { - $rootScope.ice.loader.show = false; - $log.debug(error); - }); - } - vm.removeChoice = function (index) { - vm.choices.splice(index,1); - }; - - vm.submitForm = function(){ - var validationDetailsSelection = { - "vf_uuid": vm.vf_uuid, - "version": vm.VFVersion, - "target_aic_uuid": vm.TargetAic, - "ecomp_release": vm.ECOMPRelease - }; - - vfService.updateVfs(validationDetailsSelection,vm.vf_uuid) - .then(function (response) { - if (response.status === 200) { - $uibModalInstance.close(response.status); - } - }) - .catch(function (error) { - $log.error(error); - toastService.setToast(error.status + ': Error changing progress!', 'danger'); - }); - }; - - vm.update_deployment_target = function(){ - if(vm.dtversion.uuid == vm.selected_dt_uuid){ - return - } - angular.forEach(vm.dt_AIC_versions, function (value, key) { - if (value.uuid === vm.selected_dt_uuid) { - vm.dtversion = value; - }; - }); - vfService.updateDeployTargets(vm.engagement.uuid, vm.selected_dt_uuid) - .then(function (response) { - $rootScope.ice.loader.show = false; - }).catch(function (error) { - $rootScope.ice.loader.show = false; - $log.error(error); - }); - vm.set_edit_mode('aic'); - }; - vm.update_ECOMP_release = function(){ - if( vm.ecomp_release.uuid == vm.selected_ecomp_uuid){ - return; - } - _.each(vm.ECOMPReleases, function (value, key) { - if (value.uuid === vm.selected_ecomp_uuid) { - vm.ecomp_release = value; - }; - }); - vfService.updateECOMPReleases(vm.engagement.uuid, vm.selected_ecomp_uuid) - .then(function (response) { - $rootScope.ice.loader.show = false; - }).catch(function (error) { - $rootScope.ice.loader.show = false; - $log.error(error); - }); - vm.set_edit_mode('ecomp'); - }; - - init(); - } - -})(); diff --git a/d2ice.att.io/app/main/modals/validation-details/detailed-view-validation-details-modal.html b/d2ice.att.io/app/main/modals/validation-details/detailed-view-validation-details-modal.html deleted file mode 100755 index 48e3fe2a..00000000 --- a/d2ice.att.io/app/main/modals/validation-details/detailed-view-validation-details-modal.html +++ /dev/null @@ -1,101 +0,0 @@ - - - diff --git a/d2ice.att.io/app/main/modals/validation-details/detailed-view-validation-details-modal.less b/d2ice.att.io/app/main/modals/validation-details/detailed-view-validation-details-modal.less deleted file mode 100755 index 08fd5ea8..00000000 --- a/d2ice.att.io/app/main/modals/validation-details/detailed-view-validation-details-modal.less +++ /dev/null @@ -1,49 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -#validation-details-form { - #edit-validation-setails-save-button { - margin-top: 15px; - } - - .field-title { - .m_16_m; - margin-bottom: 2px; - margin-top: 5px; - } -} diff --git a/d2ice.att.io/app/robots.txt b/d2ice.att.io/app/robots.txt deleted file mode 100755 index 4d521f95..00000000 --- a/d2ice.att.io/app/robots.txt +++ /dev/null @@ -1,4 +0,0 @@ -# robotstxt.org - -User-agent: * -Disallow: diff --git a/d2ice.att.io/app/services/cache.service.js b/d2ice.att.io/app/services/cache.service.js deleted file mode 100755 index 6897e785..00000000 --- a/d2ice.att.io/app/services/cache.service.js +++ /dev/null @@ -1,89 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - 'use strict'; - - angular - .module('ice.services.cacheService', []) - .service('cacheService', function () { - - var data = {}; - - this.get = function (key) { - return data[key]; - }; - - this.delete = function (key) { - return data[key] = undefined; - }; - - this.deleteAll = function () { - return data = {}; - }; - - this.set = function (key, value) { - if (data[key] === undefined) { - data[key] = value; - } else { - data[key] = $.extend({}, value, data[key]); - } - }; - - this.toString = function() { - return data; - }; - - }) - - .factory('pageService', function () { - var page = ''; - return { - getPage: function () { - return page; - }, - setPage: function (new_page) { - page = new_page; - } - }; - }); - - - -})(); diff --git a/d2ice.att.io/app/services/checklist.service.js b/d2ice.att.io/app/services/checklist.service.js deleted file mode 100755 index c2aae9ee..00000000 --- a/d2ice.att.io/app/services/checklist.service.js +++ /dev/null @@ -1,213 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - 'use strict'; - var current_checklist; - - angular.module('ice.services.checklist', []) - - .factory('checklistService', ['$rootScope', '$http', '$q', 'cacheService', '$log', - function ($rootScope,$http, $q, cacheService, $log) { - - var urls = cacheService.get("configuration").urls; - - var vm = this; - - this.setState = function (clUuid, postData) { - var deferred = $q.defer(); - $http.put(urls.checklist.state.put.replace('@cl_uuid',clUuid) ,postData). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.createChecklist = function (engUuid, postData) { - var deferred = $q.defer(); - $http.post(urls.checklist.createChecklist.replace("@engUuid", engUuid), postData). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.getDataForCreateChecklist = function (engUuid) { - var deferred = $q.defer(); - $http.get(urls.checklist.getDataForChecklist.replace('@engUuid',engUuid)). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.getChecklist = function (checklistUuid) { - var deferred = $q.defer(); - $http.get(urls.checklist.getChecklist.replace('@checklistUuid',checklistUuid)). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.putDataForChecklist = function (checklist_uuid,putData) { - var deferred = $q.defer(); - $http.put(urls.checklist.putDataForChecklist.replace('@checklist_uuid',checklist_uuid),putData). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - this.putChecklistDecision = function (decisionUuid, putData) { - var deferred = $q.defer(); - $http.put(urls.checklist.checklistDecision.replace('@decisionUuid',decisionUuid),putData). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.createAuditlogChecklist = function (checklist_uuid, postData) { - var deferred = $q.defer(); - $http.post(urls.checklist.createAuditlogChecklist.replace('@checklist_uuid',checklist_uuid),postData). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.createAuditlogDecisionChecklist = function (decision_uuid,postData) { - var deferred = $q.defer(); - $http.post(urls.checklist.createAuditlogDecisionChecklist.replace('@decision_uuid',decision_uuid),postData). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - - this.setChecklistExitEntity = function(checklist_data) { - current_checklist = checklist_data; - $log.debug("set checklist"); - } - - - this.callChecklistExit = function(page_view) { - if (current_checklist != undefined && page_view == 'checklist') { - - var modal_type = 'set_state'; - angular.forEach(current_checklist.data.checklistDecisions, function (section,key) { - angular.forEach(section.decisions, function (decision,key) { - if (decision['view_value'] != 'approved' && decision['view_value'] != 'not_relevant' || decision['view_value'] == '') { - modal_type = 'next_step'; - } - }); - }); - if (modal_type == 'next_step') - this.openNextSteps(); - else if (modal_type == 'set_state') - this.openSetState(); - } - } - - this.getChecklistTemplates = function () { - var deferred = $q.defer(); - $http.get(urls.checklist.getChecklistTemplates). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.getChecklistTemplate = function (templateUuid) { - var deferred = $q.defer(); - $http.get(urls.checklist.getChecklistTemplate.replace('@templateUuid', templateUuid)). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.saveChecklistTemplate = function (putData) { - var deferred = $q.defer(); - $http.put(urls.checklist.saveChecklistTemplate, putData). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - return this; - - }]); - -})(); diff --git a/d2ice.att.io/app/services/cms.service.js b/d2ice.att.io/app/services/cms.service.js deleted file mode 100755 index 15a3ac32..00000000 --- a/d2ice.att.io/app/services/cms.service.js +++ /dev/null @@ -1,162 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -/** - * Created by almog on 17/01/2017. - */ -(function () { - 'use strict'; - - angular.module('ice.services.cms', []) - .service('cmsService', ['$http', '$q', 'cacheService', 'localStorageService', '$uibModal', '$rootScope', '$log', cmsService]); - - function cmsService($http, $q, cacheService, localStorageService, $uibModal, $rootScope, $log) { - var urls = cacheService.get("configuration").urls; - var lastAnnouncementStorageKey = 'lastAnnouncement'; - var lastAnnouncementMessage; - - this.getPosts = function(limit, fromLastDays, categories) { - var deferred = $q.defer(); - var categoriesParam = categories && categories instanceof Array ? categories.join() : ''; - - $http.get(urls.cms.posts.get.replace('@limit',limit).replace('@offset',0).replace('@fromLastDays',fromLastDays).replace('@category',categoriesParam)). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - - return deferred.promise; - }; - - this.getLastAnnouncementPost = function() { - var deferred = $q.defer(); - var limit = 1; - - $http.get(urls.cms.posts.get.replace('@limit', limit).replace('@offset',0).replace('@fromLastDays','').replace('@category','Announcement')). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - - return deferred.promise; - }; - - this.setAnnouncementToast = function() { - var openCMSPostModal = function() { - $uibModal.open({ - templateUrl: 'main/modals/cms-post-modal/cms-post-modal.html', - controller: 'cmsPostModalController', - controllerAs: 'vm', - size: 'cms-post-read-more', - resolve: { - post: function () { - return undefined; - } - } - }); - }; - - this.getLastAnnouncementPost() - .then(function(response) { - if(response && response.data && response.data.length === 1) { - var lastAnnouncement = localStorageService.getJson(lastAnnouncementStorageKey); - if(!lastAnnouncement || lastAnnouncement.id != response.data[0].id || !lastAnnouncement.closed) { - localStorageService.setJson(lastAnnouncementStorageKey, {"id": response.data[0].id, "closed": false}); - var toastMessage = "Important announcement: " + response.data[0].title + "."; - lastAnnouncementMessage = {message: toastMessage, readMore: openCMSPostModal, type: 'warning', show: true, displayFor: 'all', publishDate: response.data[0].publish_date}; - $rootScope.showAnnouncement = !$rootScope.showAnnouncement; - } - } - }) - .catch(function(error) { - $log.error(error); - }); - }; - - this.getAnnouncement = function() { - return lastAnnouncementMessage; - }; - - this.getPages = function(title) { - var deferred = $q.defer(); - - if(!title) { title = ''; } - $http.get(urls.cms.pages.get.replace('@title',title)) - .success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }) - .error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - - return deferred.promise; - }; - - this.getPage = function(id) { - var deferred = $q.defer(); - - $http.get(urls.cms.pages.getById.replace('@id',id)) - .success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }) - .error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - - return deferred.promise; - }; - - this.searchPages = function(keyword) { - var deferred = $q.defer(); - - $http.get(urls.cms.pages.search.replace('@keyword',keyword)) - .success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }) - .error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - - return deferred.promise; - } - }; -})(); diff --git a/d2ice.att.io/app/services/dtsite.service.js b/d2ice.att.io/app/services/dtsite.service.js deleted file mode 100755 index 26fca386..00000000 --- a/d2ice.att.io/app/services/dtsite.service.js +++ /dev/null @@ -1,100 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - 'use strict'; - - angular.module('ice.services.dtsite', []) - - .service('dtsiteService', ['$http', '$q', 'cacheService', function ($http, $q, cacheService) { - - var urls = cacheService.get("configuration").urls; - - - this.getVFSites = function (vfUuid) { - var deferred = $q.defer(); - $http.get(urls.dtsite.getVFSites.replace('@vfUuid',vfUuid)). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.get = function () { - var deferred = $q.defer(); - $http.get(urls.dtsite.get). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.delete = function (vfUuid, dtsUuid) { - var deferred = $q.defer(); - $http.delete(urls.dtsite.delete.replace('@vfUuid',vfUuid).replace('@dtsUuid',dtsUuid)). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.add = function (postData) { - var deferred = $q.defer(); - $http.post(urls.dtsite.add ,postData). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - }]); - -})(); diff --git a/d2ice.att.io/app/services/feedback.service.js b/d2ice.att.io/app/services/feedback.service.js deleted file mode 100755 index 4d8e8ae7..00000000 --- a/d2ice.att.io/app/services/feedback.service.js +++ /dev/null @@ -1,63 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - 'use strict'; - - angular.module('ice.services.feedback', []) - - .service('feedbackService', ['$http', '$q', 'cacheService', function ($http, $q, cacheService) { - - var urls = cacheService.get("configuration").urls; - - this.add = function ( postData) { - var deferred = $q.defer(); - $http.post(urls.feedback.add.replace(), postData). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - }]); - -})(); \ No newline at end of file diff --git a/d2ice.att.io/app/services/localstorage.service.js b/d2ice.att.io/app/services/localstorage.service.js deleted file mode 100755 index f17d8009..00000000 --- a/d2ice.att.io/app/services/localstorage.service.js +++ /dev/null @@ -1,63 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -'use strict'; - -angular.module('ice.services.localStorage', []) - - .service('localStorageService', function ($window) { - - this.setJson = function (key, val) { - $window.localStorage && $window.localStorage.setItem(key, JSON.stringify(val)); - return this; - }; - - this.getJson = function (key) { - var val = $window.localStorage && $window.localStorage.getItem(key); - var returnVal; - try { - returnVal = val ? JSON.parse(val) : undefined; - } catch(err){} - return returnVal; - }; - - this.delete = function (key) { - return $window.localStorage && $window.localStorage.removeItem(key); - }; - - }); diff --git a/d2ice.att.io/app/services/sessionStorage.service.js b/d2ice.att.io/app/services/sessionStorage.service.js deleted file mode 100755 index da3a91de..00000000 --- a/d2ice.att.io/app/services/sessionStorage.service.js +++ /dev/null @@ -1,65 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - 'use strict'; - - angular.module('ice.services.sessionStorage', []) - .service('sessionStorageService', ['$window', sessionStorageService]); - - function sessionStorageService($window) { - this.setJson = function (key, val) { - $window.sessionStorage && $window.sessionStorage.setItem(key, JSON.stringify(val)); - return this; - }; - - this.getJson = function (key) { - var val = $window.sessionStorage && $window.sessionStorage.getItem(key); - var returnVal; - try { - returnVal = val ? JSON.parse(val) : undefined; - } catch (err) { - } - return returnVal; - }; - - this.delete = function (key) { - return $window.sessionStorage && $window.sessionStorage.removeItem(key); - }; - } -})(); diff --git a/d2ice.att.io/app/services/status.service.js b/d2ice.att.io/app/services/status.service.js deleted file mode 100755 index 985b1898..00000000 --- a/d2ice.att.io/app/services/status.service.js +++ /dev/null @@ -1,87 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - 'use strict'; - - angular.module('ice.services.status', []) - - .service('statusService', ['$http', '$q', 'cacheService', function ($http, $q, cacheService) { - - var urls = cacheService.get("configuration").urls; - - this.get = function (engagement) { - var deferred = $q.defer(); - $http.get(urls.status.get.replace('@engagement',engagement)). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.update = function (engagement, postData) { - var deferred = $q.defer(); - $http.put(urls.status.update.replace('@engagement',engagement), postData). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.add = function (engagement, postData) { - var deferred = $q.defer(); - $http.post(urls.status.update.replace('@engagement',engagement), postData). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - }]); - -})(); \ No newline at end of file diff --git a/d2ice.att.io/app/services/steps.service.js b/d2ice.att.io/app/services/steps.service.js deleted file mode 100755 index eef4dc99..00000000 --- a/d2ice.att.io/app/services/steps.service.js +++ /dev/null @@ -1,162 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - 'use strict'; - - angular.module('ice.services.steps', []) - - .service('stepsService', ['$http', '$q', 'cacheService', function ($http, $q, cacheService) { - - var urls = cacheService.get("configuration").urls; - - this.getByUser = function() { - var deferred = $q.defer(); - - $http.get(urls.steps.getByUser) - .success(function(data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }) - .error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - - return deferred.promise; - }; - - this.get = function (engagement, progress) { - var deferred = $q.defer(); - $http.get(urls.steps.get.replace('@engagement',engagement).replace('@progress',progress)). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.update = function (stepUuid, postData) { - var deferred = $q.defer(); - $http.put(urls.steps.update.replace('@stepUuid',stepUuid), postData). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.delete = function (stepUuid) { - var deferred = $q.defer(); - $http.delete(urls.steps.delete.replace('@stepUuid',stepUuid)). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.add = function (engagement, postData) { - var deferred = $q.defer(); - $http.post(urls.steps.add.replace('@engagement',engagement), postData). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.edit = function (engagement_uuid, nextstep_uuid,postData) { - var deferred = $q.defer(); - $http.put(urls.steps.edit.replace('@stepUuid',nextstep_uuid).replace('@engUuid',engagement_uuid), postData). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.order_next_steps = function (engagement_uuid, postData) { - var deferred = $q.defer(); - $http.put(urls.steps.order_next_steps.replace('@engUuid',engagement_uuid), postData). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.createNextStep = function (checklist_uuid, engUuid, postData) { - var deferred = $q.defer(); - $http.post(urls.steps.createNextStep.replace('@engUuid',engUuid),postData). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.createChecklistNextStep = function (checklist_uuid, engUuid, postData) { - var deferred = $q.defer(); - $http.post(urls.steps.createChecklistNextStep.replace('@checkListUuid',checklist_uuid).replace('@engUuid',engUuid),postData). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - - }]); - -})(); diff --git a/d2ice.att.io/app/services/toast.service.js b/d2ice.att.io/app/services/toast.service.js deleted file mode 100755 index 15c2e12a..00000000 --- a/d2ice.att.io/app/services/toast.service.js +++ /dev/null @@ -1,92 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - 'use strict'; - - angular.module('ice.services.toast', []) - .service('toastService', ['$rootScope', function ($rootScope) { - var message; - var messageType; - var sticky; - var showMessage = false; - var readMore; - var displayFor = 'all'; - - var setToast = function(incomingMessage, incomingType, options) { - if (incomingMessage && incomingMessage.detail != undefined) - incomingMessage = incomingMessage.detail - if(incomingMessage && incomingType) { - message = incomingMessage; - messageType = incomingType; - sticky = options && options.sticky ? options.sticky : false; - readMore = options && options.readMoreCallback ? options.readMoreCallback : undefined; - displayFor = options && options.displayFor ? options.displayFor : 'all'; - showMessage = true; - $rootScope.showToast = true; - } else { - throw "You must provide both message an type in order to set new message toast" - } - }; - - var clearToast = function() { - message = undefined; - messageType = undefined; - showMessage = false; - displayFor = 'all'; - $rootScope.showToast = false; - }; - - var getToast = function() { - return { - "message": message, - "type": messageType, - "show": showMessage, - "sticky": sticky, - "readMore": readMore, - "displayFor": displayFor - }; - }; - - return { - setToast: setToast, - clearToast: clearToast, - getToast: getToast - }; - }]); -})(); diff --git a/d2ice.att.io/app/services/users.service.js b/d2ice.att.io/app/services/users.service.js deleted file mode 100755 index 7d8afcc7..00000000 --- a/d2ice.att.io/app/services/users.service.js +++ /dev/null @@ -1,322 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - 'use strict'; - - angular.module('ice.services.users', []) - .service('usersService', ['$http', '$q', 'cacheService','iceConstants', 'localStorageService', '$state', - 'sessionStorageService', '_', '$log', userService]); - - function userService ($http, $q, cacheService, iceConstants, localStorageService, $state, sessionStorageService, - _, $log) { - var urls = cacheService.get("configuration").urls; - var userDataSessionStorageKey = 'user'; - var userData = sessionStorageService.getJson(userDataSessionStorageKey); - - this.isEngagementEL = function(engagement_team) { - var found_uuid = _.find(engagement_team, {'uuid': userData.uuid}); - if (found_uuid == undefined) - return false; - if (userData && userData.role.name === iceConstants.roles.el) - return true; - return false; - } - - this.isUserInRole = function(role) { - return userData && userData.role && userData.role.name === role; - } - - this.isReviewer = function(user, reviewer_uuid) { - return user && reviewer_uuid && user.uuid == reviewer_uuid; - } - - this.isPeerReviewer = function(user, peer_reviewer_uuid) { - return user && peer_reviewer_uuid && user.uuid == peer_reviewer_uuid; - } - - this.isAdmin = function(user) { - return user && user.role && user.role.name === iceConstants.roles.admin; - }; - - this.updatePassword = function (userUuid, postData) { - var deferred = $q.defer(); - $http.put(urls.auth.updatePassword, postData). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.sendResetPwdInstructions = function (postData) { - var deferred = $q.defer(); - $http.post(urls.auth.sendResetPwdInstructions, postData). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.login = function (postData, t) { - var deferred = $q.defer(); - $http.post(urls.auth.login.replace("/@t", t), postData). - success(function (data, status, headers, config) { - userData = data; - delete userData.password; - userData.jwtToken = data.token; - sessionStorageService.setJson(userDataSessionStorageKey, userData); - - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.register = function (postData) { - var deferred = $q.defer(); - $http.post(urls.auth.register, postData). - success(function (data, status, headers, config) { - userData = data; - userData.jwtToken = data.token; - sessionStorageService.setJson(userDataSessionStorageKey, userData); - - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.addVendorContact = function (postData) { - var deferred = $q.defer(); - $http.post(urls.auth.addVendorContact, postData). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.resendActivationMail = function (user_uuid) { - var deferred = $q.defer(); - $http.get(urls.auth.resendActivationMail.replace("@user_uuid", user_uuid), {skipAuth: true}). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.getNotifications = function (userUuid) { - var deferred = $q.defer(); - $http.get(urls.notifications.getNotifications). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.resetNotificationNum = function (userUuid) { - var deferred = $q.defer(); - $http.put(urls.notifications.resetNotificationNum). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.notificationsDelete = function (uuid) { - var deferred = $q.defer(); - $http.delete(urls.notifications.notificationsDelete.replace("@uuid", uuid)). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.getNotificationsDescription = function (userUuid,offset,limit) { - var deferred = $q.defer(); - $http.get(urls.notifications.getNotificationsDescription.replace("@userUuid", userUuid).replace("@offset", offset).replace("@limit", limit)). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.getIceUser = function () { - var deferred = $q.defer(); - $http.get(urls.auth.getIceUser). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.updateAccount = function (userUuid, putData) { - var deferred = $q.defer(); - $http.put(urls.auth.account, putData). - success(function (data, status, headers, config) { - var oldToken = userData.jwtToken; - userData = data; - userData.jwtToken = oldToken; - sessionStorageService.setJson(userDataSessionStorageKey, userData); - - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.setSSHKey = function (userUuid, postData) { - var deferred = $q.defer(); - $http.post(urls.auth.setSSHKey, postData). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.getUserData = function(undefinedCallback) { - if(!userData) { - if(undefinedCallback) { - $log.debug("There is no user data, will invoke callback pass as argument."); - undefinedCallback(); - } else { - $log.debug("There is no user data, will be redirected into /login page."); - $state.go('app.login'); - } - } - - return userData; - }; - - this.resetUserData = function() { - $log.debug('Clearing user from cache...'); - userData = undefined; - sessionStorageService.delete(userDataSessionStorageKey); - localStorageService.setJson("ice.settings.view_type", undefined); - localStorageService.setJson("ice.settings.eng_uuid", undefined); - localStorageService.setJson("ice.settings.sub_id", undefined); - }; - - this.setUserActivationSuccess = function(activationSuccess) { - if(userData) { - userData.activationSuccess = activationSuccess; - sessionStorageService.setJson(userDataSessionStorageKey, userData); - } - }; - - this.getEngagementLeads = function() { - var deferred = $q.defer(); - var user = this.getUserData(); - if(this.isAdmin(user)) { - $http.get(urls.users.engagementleads.get) - .success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }) - .error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - } else { - deferred.reject("Just admin allowed to get engagement leads list."); - } - - return deferred.promise; - }; - - this.activateUser = function(userId, token) { - var deferred = $q.defer(); - - $http.get(urls.users.activate.replace("@userid", userId).replace("@token", token), {skipAuth: true}) - .success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }) - .error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - - return deferred.promise; - }; - - this.getRGWASecret = function () { - var deferred = $q.defer(); - $http.get(urls.auth.getRGWASecret). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - }; -})(); diff --git a/d2ice.att.io/app/services/vf.service.js b/d2ice.att.io/app/services/vf.service.js deleted file mode 100755 index 8207562a..00000000 --- a/d2ice.att.io/app/services/vf.service.js +++ /dev/null @@ -1,403 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - 'use strict'; - - angular.module('ice.services.vf', []) - - .service('vfService', ['$http', '$q', 'cacheService', function ($http, $q, cacheService) { - - var urls = cacheService.get("configuration").urls; - - this.addVfs = function (postData) { - var deferred = $q.defer(); - $http.post(urls.auth.addVfs, postData). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.updateVfs = function (putData,vf_uuid) { - var deferred = $q.defer(); - $http.put(urls.vf.updateVfs.put.replace('@vf_uuid',vf_uuid),putData). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.inviteMembers = function (postData) { - var deferred = $q.defer(); - $http.post(urls.auth.inviteMembers, postData). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.getCompanies = function () { - var deferred = $q.defer(); - $http.get(urls.auth.getCompanies). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.getDeployTargets = function () { - var deferred = $q.defer(); - $http.get(urls.vf.deployment_target.getDeployTargets). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.getECOMPReleases = function () { - var deferred = $q.defer(); - $http.get(urls.vf.ecomp.getECOMPReleases). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - this.getVFVersion = function (vfUuid) { - var deferred = $q.defer(); - $http.get(urls.vf.version.getVFVersion.replace('@vfUuid',vfUuid)). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.getEngagements = function (userUuid) { - var deferred = $q.defer(); - $http.get(urls.auth.engagements). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.getExpandedEngagements = function (postData) { - var deferred = $q.defer(); - $http.post(urls.engagement.engagementsExpanded, postData). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.getSingleEngagement = function (userUuid,engagementUuid) { - var deferred = $q.defer(); - $http.get(urls.auth.single_engagement.replace('@engagementUuid',engagementUuid)). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.getStarredEngagements = function(){ - var deferred = $q.defer(); - $http.get(urls.engagement.starred_engagement.get). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.putStarredEngagements = function(engagementUuid){ - var deferred = $q.defer(); - var data = {} - data['engagement_uuid'] = engagementUuid; - $http.put(urls.engagement.starred_engagement.put,data). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.getRecentEngagements = function(){ - var deferred = $q.defer(); - $http.get(urls.engagement.recent_engagement.get). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.getActivities = function (engagementUuid) { - var deferred = $q.defer(); - $http.get(urls.auth.activities.replace('@engagementUuid',engagementUuid)). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.updateProgress = function (engagementUuid, postData) { - var deferred = $q.defer(); - $http.put(urls.engagement.updateProgress.replace('@engagementUuid',engagementUuid), postData). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.updateDeployTargets = function (engagementUuid, dt_uuid) { - var deferred = $q.defer(); - $http.put(urls.vf.deployment_target.updateDeployTargets.replace('@engagementUuid',engagementUuid). - replace('@deployment_target_uuid',dt_uuid)). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.updateECOMPReleases = function (engagementUuid, ECOMP_uuid) { - var deferred = $q.defer(); - $http.put(urls.vf.ecomp.updateECOMPReleases.replace('@engagementUuid',engagementUuid). - replace('@ecomp_uuid', ECOMP_uuid)). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.updateDaysLeft = function (engagementUuid, postData) { - var deferred = $q.defer(); - $http.post(urls.auth.updateDaysLeft.replace('@engagementUuid',engagementUuid), postData). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.updateLabEntryDaysLeft = function (engagementUuid, postData) { - var deferred = $q.defer(); - $http.post(urls.auth.updateLabEntryDaysLeft.replace('@engagementUuid',engagementUuid), postData). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - - this.set_engagement_stage = function(engagementUuid, requested_stage){ - var deferred = $q.defer(); - $http.put(urls.engagement.setStage.replace('@engagementUuid',engagementUuid).replace('@stage',requested_stage)). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.exportEngagementsCSV = function (stage, keyword) { - var deferred = $q.defer(); - - if(stage == null || keyword == null) { - deferred.reject("Invalid arguments on engagements export csv.") - } else { - $http({method: 'GET', url: urls.engagement.exportEngagementsCSV.replace('@stage',stage).replace("@keyword", keyword), - headers: {'Content-Type': "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"}, responseType: "arraybuffer"}). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - } - - return deferred.promise; - }; - - this.archiveEngagement = function(engagementUuid, reason) { - var deferred = $q.defer(); - var putData = {"reason": reason}; - $http.put(urls.engagement.archive.put.replace('@engagementUuid',engagementUuid), putData) - .success(function (data, status, headers, config) { - deferred.resolve(); - }) - .error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - - return deferred.promise; - }; - - this.updateEngagementReviewer = function(engagementUuid, userUuid) { - var deferred = $q.defer(); - var putData = {"reviewer": userUuid}; - - $http.put(urls.engagement.reviewer.put.replace('@engagementUuid',engagementUuid), putData) - .success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }) - .error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - - return deferred.promise; - }; - - this.updateEngagementPeerReviewer = function(engagementUuid, userUuid) { - var deferred = $q.defer(); - var putData = {"peerreviewer": userUuid}; - - $http.put(urls.engagement.peerreviewer.put.replace('@engagementUuid',engagementUuid), putData) - .success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }) - .error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - - return deferred.promise; - }; - - this.switchEngagementReviewers = function(engagementUuid, reviewer_uuid, peer_reviewer_uuid) { - var deferred = $q.defer(); - var putData = {"reviewer": reviewer_uuid, "peerreviewer": peer_reviewer_uuid}; - - $http.put(urls.engagement.switchReviewers.put.replace('@engagementUuid',engagementUuid), putData) - .success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }) - .error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - - return deferred.promise; - }; - - this.updateEngagement = function(engagement, status) { - var deferred = $q.defer(); - var putData = {"engagement": engagement, "status": status}; - - $http.put(urls.engagement.put.replace('@engagementUuid',engagement.uuid), putData) - .success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }) - .error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - - return deferred.promise; - }; - - - this.remove_user_from_eng = function(postData) { - var deferred = $q.defer(); - if (postData == null) { - deferred.reject("Invalid arguments on remove_user_from_eng.") - } - else { - $http.put(urls.engagement.engagement_team.put, postData).success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }).error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - } - return deferred.promise; - }; - }]); - -})(); diff --git a/d2ice.att.io/app/services/vfc.service.js b/d2ice.att.io/app/services/vfc.service.js deleted file mode 100755 index a6ab0f9f..00000000 --- a/d2ice.att.io/app/services/vfc.service.js +++ /dev/null @@ -1,99 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -(function () { - - 'use strict'; - - angular.module('ice.services.vfc', []) - - .service('vfcService', ['$http', '$q', 'cacheService', function ($http, $q, cacheService) { - - var urls = cacheService.get("configuration").urls; - - this.get = function (vfUuid) { - var deferred = $q.defer(); - $http.get(urls.vfcs.get.replace('@vfUuid',vfUuid)). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.delete = function (vfcUuid,vfUuid) { - var deferred = $q.defer(); - $http.delete(urls.vfcs.delete.replace('@vfUuid',vfUuid).replace('@vfcUuid',vfcUuid)). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.add = function (postData) { - var deferred = $q.defer(); - $http.post(urls.vfcs.add ,postData). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - this.getCompanies = function () { - var deferred = $q.defer(); - $http.get(urls.auth.getCompanies). - success(function (data, status, headers, config) { - deferred.resolve({data: data, status: status}); - }). - error(function (data, status, headers, config) { - deferred.reject({message: data, status: status}); - }); - return deferred.promise; - }; - - }]); - -})(); diff --git a/d2ice.att.io/app/styles/buttons.less b/d2ice.att.io/app/styles/buttons.less deleted file mode 100755 index 9b3c10e8..00000000 --- a/d2ice.att.io/app/styles/buttons.less +++ /dev/null @@ -1,38 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. diff --git a/d2ice.att.io/app/styles/fonts.less b/d2ice.att.io/app/styles/fonts.less deleted file mode 100755 index 822a9606..00000000 --- a/d2ice.att.io/app/styles/fonts.less +++ /dev/null @@ -1,110 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -//Omnes_ATT W02 Italic -@font-face { - font-family: omnes-italic; - src: url('fonts/OmnesATT/Omnes_ATTW02Italic.eot'); - src: url('fonts/OmnesATT/Omnes_ATTW02Italic.eot?#iefix') format('embedded-opentype'), - url('fonts/OmnesATT/Omnes_ATTW02Italic.ttf'); -} - -//Omnes_ATT W02 Light -@font-face { - font-family: omnes-light; - src: url('fonts/OmnesATT/Omnes_ATTW02Light.eot'); - src: url('fonts/OmnesATT/Omnes_ATTW02Light.eot?#iefix') format('embedded-opentype'), - url('fonts/OmnesATT/Omnes_ATTW02Light.ttf'); -} - -//Omnes_ATT W02 Light Italic -@font-face { - font-family: omnes-light-italic; - src: url('fonts/OmnesATT/Omnes_ATTW02LightItalic.eot'); - src: url('fonts/OmnesATT/Omnes_ATTW02LightItalic.eot?#iefix') format('embedded-opentype'), - url('fonts/OmnesATT/Omnes_ATTW02LightItalic.ttf'); -} - -//Omnes_ATT W02 Medium -@font-face { - font-family: omnes-medium; - src: url('fonts/OmnesATT/Omnes_ATTW02Medium.eot'); - src: url('fonts/OmnesATT/Omnes_ATTW02Medium.eot?#iefix') format('embedded-opentype'), - url('fonts/OmnesATT/Omnes_ATTW02Medium.ttf'); -} - -//Omnes_ATT W02 Medium Italic -@font-face { - font-family: omnes-medium-italic; - src: url('fonts/OmnesATT/Omnes_ATTW02MediumItalic.eot'); - src: url('fonts/OmnesATT/Omnes_ATTW02MediumItalic.eot?#iefix') format('embedded-opentype'), - url('fonts/OmnesATT/Omnes_ATTW02MediumItalic.ttf'); -} - -//Omnes_ATT W02 Regular -@font-face { - font-family: omnes-regular; - src: url('fonts/OmnesATT/Omnes_ATTW02.eot'); - src: url('fonts/OmnesATT/Omnes_ATTW02.eot?#iefix') format('embedded-opentype'), - url('fonts/OmnesATT/Omnes_ATTW02.ttf'); -} - -//Omnes_ATT W02 Bold -@font-face { - font-family: omnes-bold; - src: url('fonts/OmnesATT/Omnes_ATTW02Bold.eot'); - src: url('fonts/OmnesATT/Omnes_ATTW02Bold.eot?#iefix') format('embedded-opentype'), - url('fonts/OmnesATT/Omnes_ATTW02Bold.ttf'); -} - -//Omnes_ATT W02 Bold Italic -@font-face { - font-family: omnes-bold-italic; - src: url('fonts/OmnesATT/OmnesATTW02BoldItalic.eot'); - src: url('fonts/OmnesATT/OmnesATTW02BoldItalic.eot?#iefix') format('embedded-opentype'), - url('fonts/OmnesATT/OmnesATTW02BoldItalic.ttf'); -} - - -//ClearviewATT Book -@font-face { - font-family: clearview-book; - src: url('fonts/ClearviewATT/ClearviewATT-Bk.eot'); - src: url('fonts/ClearviewATT/ClearviewATT-Bk.eot?#iefix') format('embedded-opentype'), - url('fonts/ClearviewATT/ClearviewATT-Bk.ttf'); -} diff --git a/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-Bd.eot b/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-Bd.eot deleted file mode 100755 index 83074fbe..00000000 Binary files a/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-Bd.eot and /dev/null differ diff --git a/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-Bd.svg b/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-Bd.svg deleted file mode 100755 index 564f750d..00000000 --- a/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-Bd.svg +++ /dev/null @@ -1,424 +0,0 @@ - - - - -1.0 -ClearviewATT Bd -Monotype Imaging Inc. - -Fonts.com WebFonts -http://webfonts.fonts.com -Home of the Web fonts - - -http://webfonts.fonts.com/Legal - -Copyright (c) Terminal Design, Inc, 2005. All rights reserved. -Clearview is a trademark of Terminal Design, Inc. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz AÁÀÂÄÅÃÆ CÇ DÐ EÉÈÊË I Í Ì Î Ï NÑ -OÓÒÔÖÕØŒ SŠ UÚÙÛÜ YÝŸ ZŽ Þ aáàâäåãæ cç dð eéèêë i ı í ì î ï nñ oóòôöõøœ sšß uúùûü yýÿ zž -þ 1234567890 ½ ¼ ¾ % ‰ $¢£¥ƒ€¤ † ‡ § ¶ # ^~µ +×± < = > ÷¬ !¡?¿ " & ' * ° . , : ; () [ \ ] {} / | -¦ _ ‚ „ … ‹› «» ‘ ’ “ ” • ­ - – — @ © ® ™ ªº ¹²³ ´ ` ˆ ˜ ¨ ¯ · ¸ - diff --git a/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-Bd.ttf b/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-Bd.ttf deleted file mode 100755 index 7bfb9d5c..00000000 Binary files a/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-Bd.ttf and /dev/null differ diff --git a/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-Bd.woff b/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-Bd.woff deleted file mode 100755 index b1f00eea..00000000 Binary files a/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-Bd.woff and /dev/null differ diff --git a/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-BdIt.eot b/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-BdIt.eot deleted file mode 100755 index 22646213..00000000 Binary files a/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-BdIt.eot and /dev/null differ diff --git a/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-BdIt.svg b/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-BdIt.svg deleted file mode 100755 index 0996bb5e..00000000 --- a/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-BdIt.svg +++ /dev/null @@ -1,425 +0,0 @@ - - - - -1.0 -ClearviewATT BdIt -Monotype Imaging Inc. - -Fonts.com WebFonts -http://webfonts.fonts.com -Home of the Web fonts - - -http://webfonts.fonts.com/Legal - -Copyright (c) Terminal Design, Inc, 2005. All rights reserved. -Clearview is a trademark of Terminal Design, Inc. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz AÁÀÂÄÅÃÆ CÇ DÐ EÉÈÊË I Í Ì Î Ï NÑ -OÓÒÔÖÕØŒ SŠ UÚÙÛÜ YÝŸ ZŽ Þ aáàâäåãæ cç dð eéèêë i ı í ì î ï nñ oóòôöõøœ sšß uúùûü yýÿ zž -þ 1234567890 ½ ¼ ¾ % ‰ $¢£¥ƒ€¤ † ‡ § ¶ # ^~µ +×± < = > ÷¬ !¡?¿ " & ' * ° . , : ; () [ \ ] {} / | -¦ _ ‚ „ … ‹› «» ‘ ’ “ ” • ­ - – — @ © ® ™ ªº ¹²³ ´ ` ˆ ˜ ¨ ¯ · ¸ - diff --git a/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-BdIt.ttf b/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-BdIt.ttf deleted file mode 100755 index 69b3c834..00000000 Binary files a/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-BdIt.ttf and /dev/null differ diff --git a/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-BdIt.woff b/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-BdIt.woff deleted file mode 100755 index f2850a6f..00000000 Binary files a/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-BdIt.woff and /dev/null differ diff --git a/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-Bk.eot b/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-Bk.eot deleted file mode 100755 index a945fb35..00000000 Binary files a/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-Bk.eot and /dev/null differ diff --git a/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-Bk.svg b/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-Bk.svg deleted file mode 100755 index 27920494..00000000 --- a/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-Bk.svg +++ /dev/null @@ -1,425 +0,0 @@ - - - - -1.0 -ClearviewATT Bk -Monotype Imaging Inc. - -Fonts.com WebFonts -http://webfonts.fonts.com -Home of the Web fonts - - -http://webfonts.fonts.com/Legal - -Copyright (c) Terminal Design, Inc, 2005. All rights reserved. -Clearview is a trademark of Terminal Design, Inc. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz AÁÀÂÄÅÃÆ CÇ DÐ EÉÈÊË I Í Ì Î Ï NÑ -OÓÒÔÖÕØŒ SŠ UÚÙÛÜ YÝŸ ZŽ Þ aáàâäåãæ cç dð eéèêë i ı í ì î ï nñ oóòôöõøœ sšß uúùûü yýÿ zž -þ 1234567890 ½ ¼ ¾ % ‰ $¢£¥ƒ€¤ † ‡ § ¶ # ^~µ +×± < = > ÷¬ !¡?¿ " & ' * ° . , : ; () [ \ ] {} / | -¦ _ ‚ „ … ‹› «» ‘ ’ “ ” • ­ - – — @ © ® ™ ªº ¹²³ ´ ` ˆ ˜ ¨ ¯ · ¸ - diff --git a/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-Bk.ttf b/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-Bk.ttf deleted file mode 100755 index b4390461..00000000 Binary files a/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-Bk.ttf and /dev/null differ diff --git a/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-Bk.woff b/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-Bk.woff deleted file mode 100755 index 53735678..00000000 Binary files a/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-Bk.woff and /dev/null differ diff --git a/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-BkIt.eot b/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-BkIt.eot deleted file mode 100755 index 4ab66957..00000000 Binary files a/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-BkIt.eot and /dev/null differ diff --git a/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-BkIt.svg b/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-BkIt.svg deleted file mode 100755 index c2337a7f..00000000 --- a/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-BkIt.svg +++ /dev/null @@ -1,425 +0,0 @@ - - - - -1.0 -ClearviewATT BkIt -Monotype Imaging Inc. - -Fonts.com WebFonts -http://webfonts.fonts.com -Home of the Web fonts - - -http://webfonts.fonts.com/Legal - -Copyright (c) Terminal Design, Inc, 2005. All rights reserved. -Clearview is a trademark of Terminal Design, Inc. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz AÁÀÂÄÅÃÆ CÇ DÐ EÉÈÊË I Í Ì Î Ï NÑ -OÓÒÔÖÕØŒ SŠ UÚÙÛÜ YÝŸ ZŽ Þ aáàâäåãæ cç dð eéèêë i ı í ì î ï nñ oóòôöõøœ sšß uúùûü yýÿ zž -þ 1234567890 ½ ¼ ¾ % ‰ $¢£¥ƒ€¤ † ‡ § ¶ # ^~µ +×± < = > ÷¬ !¡?¿ " & ' * ° . , : ; () [ \ ] {} / | -¦ _ ‚ „ … ‹› «» ‘ ’ “ ” • ­ - – — @ © ® ™ ªº ¹²³ ´ ` ˆ ˜ ¨ ¯ · ¸ - diff --git a/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-BkIt.ttf b/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-BkIt.ttf deleted file mode 100755 index 7e7aa057..00000000 Binary files a/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-BkIt.ttf and /dev/null differ diff --git a/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-BkIt.woff b/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-BkIt.woff deleted file mode 100755 index 55fbfd68..00000000 Binary files a/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-BkIt.woff and /dev/null differ diff --git a/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-Lt.eot b/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-Lt.eot deleted file mode 100755 index 06a4bf99..00000000 Binary files a/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-Lt.eot and /dev/null differ diff --git a/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-Lt.svg b/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-Lt.svg deleted file mode 100755 index 40656e14..00000000 --- a/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-Lt.svg +++ /dev/null @@ -1,425 +0,0 @@ - - - - -1.0 -ClearviewATT Lt -Monotype Imaging Inc. - -Fonts.com WebFonts -http://webfonts.fonts.com -Home of the Web fonts - - -http://webfonts.fonts.com/Legal - -Copyright (c) Terminal Design, Inc, 2005. All rights reserved. -Clearview is a trademark of Terminal Design, Inc. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz AÁÀÂÄÅÃÆ CÇ DÐ EÉÈÊË I Í Ì Î Ï NÑ -OÓÒÔÖÕØŒ SŠ UÚÙÛÜ YÝŸ ZŽ Þ aáàâäåãæ cç dð eéèêë i ı í ì î ï nñ oóòôöõøœ sšß uúùûü yýÿ zž -þ 1234567890 ½ ¼ ¾ % ‰ $¢£¥ƒ€¤ † ‡ § ¶ # ^~µ +×± < = > ÷¬ !¡?¿ " & ' * ° . , : ; () [ \ ] {} / | -¦ _ ‚ „ … ‹› «» ‘ ’ “ ” • ­ - – — @ © ® ™ ªº ¹²³ ´ ` ˆ ˜ ¨ ¯ · ¸ - diff --git a/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-Lt.ttf b/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-Lt.ttf deleted file mode 100755 index c9a45c0e..00000000 Binary files a/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-Lt.ttf and /dev/null differ diff --git a/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-Lt.woff b/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-Lt.woff deleted file mode 100755 index 521ee2e9..00000000 Binary files a/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-Lt.woff and /dev/null differ diff --git a/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-LtIt.eot b/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-LtIt.eot deleted file mode 100755 index 06772919..00000000 Binary files a/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-LtIt.eot and /dev/null differ diff --git a/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-LtIt.svg b/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-LtIt.svg deleted file mode 100755 index bff63e55..00000000 --- a/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-LtIt.svg +++ /dev/null @@ -1,424 +0,0 @@ - - - - -1.0 -ClearviewATT LtIt -Monotype Imaging Inc. - -Fonts.com WebFonts -http://webfonts.fonts.com -Home of the Web fonts - - -http://webfonts.fonts.com/Legal - -Copyright (c) Terminal Design, Inc, 2005. All rights reserved. -Clearview is a trademark of Terminal Design, Inc. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz AÁÀÂÄÅÃÆ CÇ DÐ EÉÈÊË I Í Ì Î Ï NÑ -OÓÒÔÖÕØŒ SŠ UÚÙÛÜ YÝŸ ZŽ Þ aáàâäåãæ cç dð eéèêë i ı í ì î ï nñ oóòôöõøœ sšß uúùûü yýÿ zž -þ 1234567890 ½ ¼ ¾ % ‰ $¢£¥ƒ€¤ † ‡ § ¶ # ^~µ +×± < = > ÷¬ !¡?¿ " & ' * ° . , : ; () [ \ ] {} / | -¦ _ ‚ „ … ‹› «» ‘ ’ “ ” • ­ - – — @ © ® ™ ªº ¹²³ ´ ` ˆ ˜ ¨ ¯ · ¸ - diff --git a/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-LtIt.ttf b/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-LtIt.ttf deleted file mode 100755 index bd7ac471..00000000 Binary files a/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-LtIt.ttf and /dev/null differ diff --git a/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-LtIt.woff b/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-LtIt.woff deleted file mode 100755 index 7f8a2741..00000000 Binary files a/d2ice.att.io/app/styles/fonts/ClearviewATT/ClearviewATT-LtIt.woff and /dev/null differ diff --git a/d2ice.att.io/app/styles/fonts/OmnesATT/AT&T Variation ID.tab b/d2ice.att.io/app/styles/fonts/OmnesATT/AT&T Variation ID.tab deleted file mode 100755 index e0085fd9..00000000 --- a/d2ice.att.io/app/styles/fonts/OmnesATT/AT&T Variation ID.tab +++ /dev/null @@ -1,9 +0,0 @@ - Variation ID tier -602 24875 1243116 Omnes_ATT W02 Italic 1243117 38 CUS24875W02 -602 24872 1243119 Omnes_ATT W02 Light 1243120 38 CUS24872W02 -602 24873 1243122 Omnes_ATT W02 Light Italic 1243123 38 CUS24873W02 -602 24876 1243125 Omnes_ATT W02 Medium 1243126 38 CUS24876W02 -602 24877 1243128 Omnes_ATT W02 Medium Italic 1243129 38 CUS24877W02 -602 24874 1243131 Omnes_ATT W02 Regular 1243132 38 CUS24874W02 -602 26730 1418220 Omnes_ATT W02 Bold 1418221 38 CUS26730W02 -602 26731 1418223 Omnes_ATT W02 Bold Italic 1418224 38 CUS26731W02 diff --git a/d2ice.att.io/app/styles/fonts/OmnesATT/OmnesATTW02BoldItalic.eot b/d2ice.att.io/app/styles/fonts/OmnesATT/OmnesATTW02BoldItalic.eot deleted file mode 100755 index da1c1d1e..00000000 Binary files a/d2ice.att.io/app/styles/fonts/OmnesATT/OmnesATTW02BoldItalic.eot and /dev/null differ diff --git a/d2ice.att.io/app/styles/fonts/OmnesATT/OmnesATTW02BoldItalic.svg b/d2ice.att.io/app/styles/fonts/OmnesATT/OmnesATTW02BoldItalic.svg deleted file mode 100755 index 916075aa..00000000 --- a/d2ice.att.io/app/styles/fonts/OmnesATT/OmnesATTW02BoldItalic.svg +++ /dev/null @@ -1,3671 +0,0 @@ - - - - -1.0 -Omnes_ATT W02 Bold Italic -Monotype Imaging Inc. - -Fonts.com WebFonts -http://webfonts.fonts.com -Home of the Web fonts - - -http://webfonts.fonts.com/Legal - -Generated in 2010 by FontLab Studio. Copyright info pending. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz AÁÀÂÄÅÃÆ CÇ DÐ EÉÈÊË I Í Ì Î Ï NÑ -OÓÒÔÖÕØŒ SŠ UÚÙÛÜ YÝŸ ZŽ Þ aáàâäåãæ cç dð eéèêë i ı í ì î ï nñ oóòôöõøœ sšß uúùûü yýÿ zž -þ 1234567890 ½ ¼ ¾ % ‰ $¢£¥ƒ€¤ † ‡ § ¶ # ^~µ +×± < = > ÷¬ !¡?¿ " & ' * ° . , : ; () [ \ ] {} / | -¦ _ ‚ „ … ‹› «» ‘ ’ “ ” • ­ - – — @ © ® ™ ªº ¹²³ ´ ` ˆ ˜ ¨ ¯ · ¸ - diff --git a/d2ice.att.io/app/styles/fonts/OmnesATT/OmnesATTW02BoldItalic.ttf b/d2ice.att.io/app/styles/fonts/OmnesATT/OmnesATTW02BoldItalic.ttf deleted file mode 100755 index 4f35e1f9..00000000 Binary files a/d2ice.att.io/app/styles/fonts/OmnesATT/OmnesATTW02BoldItalic.ttf and /dev/null differ diff --git a/d2ice.att.io/app/styles/fonts/OmnesATT/OmnesATTW02BoldItalic.woff b/d2ice.att.io/app/styles/fonts/OmnesATT/OmnesATTW02BoldItalic.woff deleted file mode 100755 index 1722dce9..00000000 Binary files a/d2ice.att.io/app/styles/fonts/OmnesATT/OmnesATTW02BoldItalic.woff and /dev/null differ diff --git a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02.eot b/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02.eot deleted file mode 100755 index 39e1eae7..00000000 Binary files a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02.eot and /dev/null differ diff --git a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02.svg b/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02.svg deleted file mode 100755 index 73923de0..00000000 --- a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02.svg +++ /dev/null @@ -1,3694 +0,0 @@ - - - - -1.0 -Omnes_ATT W02 -Monotype Imaging Inc. - -Fonts.com WebFonts -http://webfonts.fonts.com -Home of the Web fonts - - -http://webfonts.fonts.com/Legal - -Generated by RoboFog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz AÁÀÂÄÅÃÆ CÇ DÐ EÉÈÊË I Í Ì Î Ï NÑ -OÓÒÔÖÕØŒ SŠ UÚÙÛÜ YÝŸ ZŽ Þ aáàâäåãæ cç dð eéèêë i ı í ì î ï nñ oóòôöõøœ sšß uúùûü yýÿ zž -þ 1234567890 ½ ¼ ¾ % ‰ $¢£¥ƒ€¤ † ‡ § ¶ # ^~µ +×± < = > ÷¬ !¡?¿ " & ' * ° . , : ; () [ \ ] {} / | -¦ _ ‚ „ … ‹› «» ‘ ’ “ ” • ­ - – — @ © ® ™ ªº ¹²³ ´ ` ˆ ˜ ¨ ¯ · ¸ - diff --git a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02.ttf b/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02.ttf deleted file mode 100755 index 2342be4b..00000000 Binary files a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02.ttf and /dev/null differ diff --git a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02.woff b/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02.woff deleted file mode 100755 index 0acf1f02..00000000 Binary files a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02.woff and /dev/null differ diff --git a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Bold.eot b/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Bold.eot deleted file mode 100755 index 0e5892d1..00000000 Binary files a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Bold.eot and /dev/null differ diff --git a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Bold.svg b/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Bold.svg deleted file mode 100755 index 9670981b..00000000 --- a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Bold.svg +++ /dev/null @@ -1,4365 +0,0 @@ - - - - -1.0 -Omnes_ATT W02 Bold -Monotype Imaging Inc. - -Fonts.com WebFonts -http://webfonts.fonts.com -Home of the Web fonts - - -http://webfonts.fonts.com/Legal - -Generated in 2010 by FontLab Studio. Copyright info pending. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz AÁÀÂÄÅÃÆ CÇ DÐ EÉÈÊË I Í Ì Î Ï NÑ -OÓÒÔÖÕØŒ SŠ UÚÙÛÜ YÝŸ ZŽ Þ aáàâäåãæ cç dð eéèêë i ı í ì î ï nñ oóòôöõøœ sšß uúùûü yýÿ zž -þ 1234567890 ½ ¼ ¾ % ‰ $¢£¥ƒ€¤ † ‡ § ¶ # ^~µ +×± < = > ÷¬ !¡?¿ " & ' * ° . , : ; () [ \ ] {} / | -¦ _ ‚ „ … ‹› «» ‘ ’ “ ” • ­ - – — @ © ® ™ ªº ¹²³ ´ ` ˆ ˜ ¨ ¯ · ¸ - diff --git a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Bold.ttf b/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Bold.ttf deleted file mode 100755 index 94934087..00000000 Binary files a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Bold.ttf and /dev/null differ diff --git a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Bold.woff b/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Bold.woff deleted file mode 100755 index 1dfd28f2..00000000 Binary files a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Bold.woff and /dev/null differ diff --git a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Italic.eot b/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Italic.eot deleted file mode 100755 index 8723e66f..00000000 Binary files a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Italic.eot and /dev/null differ diff --git a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Italic.svg b/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Italic.svg deleted file mode 100755 index dbf33a97..00000000 --- a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Italic.svg +++ /dev/null @@ -1,3799 +0,0 @@ - - - - -1.0 -Omnes_ATT W02 Italic -Monotype Imaging Inc. - -Fonts.com WebFonts -http://webfonts.fonts.com -Home of the Web fonts - - -http://webfonts.fonts.com/Legal - -Generated by RoboFog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz AÁÀÂÄÅÃÆ CÇ DÐ EÉÈÊË I Í Ì Î Ï NÑ -OÓÒÔÖÕØŒ SŠ UÚÙÛÜ YÝŸ ZŽ Þ aáàâäåãæ cç dð eéèêë i ı í ì î ï nñ oóòôöõøœ sšß uúùûü yýÿ zž -þ 1234567890 ½ ¼ ¾ % ‰ $¢£¥ƒ€¤ † ‡ § ¶ # ^~µ +×± < = > ÷¬ !¡?¿ " & ' * ° . , : ; () [ \ ] {} / | -¦ _ ‚ „ … ‹› «» ‘ ’ “ ” • ­ - – — @ © ® ™ ªº ¹²³ ´ ` ˆ ˜ ¨ ¯ · ¸ - diff --git a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Italic.ttf b/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Italic.ttf deleted file mode 100755 index 4ef76763..00000000 Binary files a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Italic.ttf and /dev/null differ diff --git a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Italic.woff b/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Italic.woff deleted file mode 100755 index 750d90d3..00000000 Binary files a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Italic.woff and /dev/null differ diff --git a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Light.eot b/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Light.eot deleted file mode 100755 index 280d111f..00000000 Binary files a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Light.eot and /dev/null differ diff --git a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Light.svg b/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Light.svg deleted file mode 100755 index 85f39f50..00000000 --- a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Light.svg +++ /dev/null @@ -1,3872 +0,0 @@ - - - - -1.0 -Omnes_ATT W02 Light -Monotype Imaging Inc. - -Fonts.com WebFonts -http://webfonts.fonts.com -Home of the Web fonts - - -http://webfonts.fonts.com/Legal - -Generated in 2010 by FontLab Studio. Copyright info pending. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz AÁÀÂÄÅÃÆ CÇ DÐ EÉÈÊË I Í Ì Î Ï NÑ -OÓÒÔÖÕØŒ SŠ UÚÙÛÜ YÝŸ ZŽ Þ aáàâäåãæ cç dð eéèêë i ı í ì î ï nñ oóòôöõøœ sšß uúùûü yýÿ zž -þ 1234567890 ½ ¼ ¾ % ‰ $¢£¥ƒ€¤ † ‡ § ¶ # ^~µ +×± < = > ÷¬ !¡?¿ " & ' * ° . , : ; () [ \ ] {} / | -¦ _ ‚ „ … ‹› «» ‘ ’ “ ” • ­ - – — @ © ® ™ ªº ¹²³ ´ ` ˆ ˜ ¨ ¯ · ¸ - diff --git a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Light.ttf b/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Light.ttf deleted file mode 100755 index 273761ab..00000000 Binary files a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Light.ttf and /dev/null differ diff --git a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Light.woff b/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Light.woff deleted file mode 100755 index b12120a8..00000000 Binary files a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Light.woff and /dev/null differ diff --git a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02LightItalic.eot b/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02LightItalic.eot deleted file mode 100755 index 2da6a99e..00000000 Binary files a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02LightItalic.eot and /dev/null differ diff --git a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02LightItalic.svg b/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02LightItalic.svg deleted file mode 100755 index ab6936ce..00000000 --- a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02LightItalic.svg +++ /dev/null @@ -1,3030 +0,0 @@ - - - - -1.0 -Omnes_ATT W02 Light Italic -Monotype Imaging Inc. - -Fonts.com WebFonts -http://webfonts.fonts.com -Home of the Web fonts - - -http://webfonts.fonts.com/Legal - -Generated in 2010 by FontLab Studio. Copyright info pending. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz AÁÀÂÄÅÃÆ CÇ DÐ EÉÈÊË I Í Ì Î Ï NÑ -OÓÒÔÖÕØŒ SŠ UÚÙÛÜ YÝŸ ZŽ Þ aáàâäåãæ cç dð eéèêë i ı í ì î ï nñ oóòôöõøœ sšß uúùûü yýÿ zž -þ 1234567890 ½ ¼ ¾ % ‰ $¢£¥ƒ€¤ † ‡ § ¶ # ^~µ +×± < = > ÷¬ !¡?¿ " & ' * ° . , : ; () [ \ ] {} / | -¦ _ ‚ „ … ‹› «» ‘ ’ “ ” • ­ - – — @ © ® ™ ªº ¹²³ ´ ` ˆ ˜ ¨ ¯ · ¸ - diff --git a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02LightItalic.ttf b/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02LightItalic.ttf deleted file mode 100755 index 5153cee6..00000000 Binary files a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02LightItalic.ttf and /dev/null differ diff --git a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02LightItalic.woff b/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02LightItalic.woff deleted file mode 100755 index cf9993a1..00000000 Binary files a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02LightItalic.woff and /dev/null differ diff --git a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Medium.eot b/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Medium.eot deleted file mode 100755 index 37c715f5..00000000 Binary files a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Medium.eot and /dev/null differ diff --git a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Medium.svg b/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Medium.svg deleted file mode 100755 index ad72d0be..00000000 --- a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Medium.svg +++ /dev/null @@ -1,2473 +0,0 @@ - - - - -1.0 -Omnes_ATT W02 Medium -Monotype Imaging Inc. - -Fonts.com WebFonts -http://webfonts.fonts.com -Home of the Web fonts - - -http://webfonts.fonts.com/Legal - -Generated in 2010 by FontLab Studio. Copyright info pending. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz AÁÀÂÄÅÃÆ CÇ DÐ EÉÈÊË I Í Ì Î Ï NÑ -OÓÒÔÖÕØŒ SŠ UÚÙÛÜ YÝŸ ZŽ Þ aáàâäåãæ cç dð eéèêë i ı í ì î ï nñ oóòôöõøœ sšß uúùûü yýÿ zž -þ 1234567890 ½ ¼ ¾ % ‰ $¢£¥ƒ€¤ † ‡ § ¶ # ^~µ +×± < = > ÷¬ !¡?¿ " & ' * ° . , : ; () [ \ ] {} / | -¦ _ ‚ „ … ‹› «» ‘ ’ “ ” • ­ - – — @ © ® ™ ªº ¹²³ ´ ` ˆ ˜ ¨ ¯ · ¸ - diff --git a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Medium.ttf b/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Medium.ttf deleted file mode 100755 index 27404254..00000000 Binary files a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Medium.ttf and /dev/null differ diff --git a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Medium.woff b/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Medium.woff deleted file mode 100755 index 5cff69ad..00000000 Binary files a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02Medium.woff and /dev/null differ diff --git a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02MediumItalic.eot b/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02MediumItalic.eot deleted file mode 100755 index 84ba4acc..00000000 Binary files a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02MediumItalic.eot and /dev/null differ diff --git a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02MediumItalic.svg b/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02MediumItalic.svg deleted file mode 100755 index eca8f738..00000000 --- a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02MediumItalic.svg +++ /dev/null @@ -1,3837 +0,0 @@ - - - - -1.0 -Omnes_ATT W02 Medium Italic -Monotype Imaging Inc. - -Fonts.com WebFonts -http://webfonts.fonts.com -Home of the Web fonts - - -http://webfonts.fonts.com/Legal - -Generated in 2010 by FontLab Studio. Copyright info pending. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz AÁÀÂÄÅÃÆ CÇ DÐ EÉÈÊË I Í Ì Î Ï NÑ -OÓÒÔÖÕØŒ SŠ UÚÙÛÜ YÝŸ ZŽ Þ aáàâäåãæ cç dð eéèêë i ı í ì î ï nñ oóòôöõøœ sšß uúùûü yýÿ zž -þ 1234567890 ½ ¼ ¾ % ‰ $¢£¥ƒ€¤ † ‡ § ¶ # ^~µ +×± < = > ÷¬ !¡?¿ " & ' * ° . , : ; () [ \ ] {} / | -¦ _ ‚ „ … ‹› «» ‘ ’ “ ” • ­ - – — @ © ® ™ ªº ¹²³ ´ ` ˆ ˜ ¨ ¯ · ¸ - diff --git a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02MediumItalic.ttf b/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02MediumItalic.ttf deleted file mode 100755 index 46bfd531..00000000 Binary files a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02MediumItalic.ttf and /dev/null differ diff --git a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02MediumItalic.woff b/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02MediumItalic.woff deleted file mode 100755 index 20419ed3..00000000 Binary files a/d2ice.att.io/app/styles/fonts/OmnesATT/Omnes_ATTW02MediumItalic.woff and /dev/null differ diff --git a/d2ice.att.io/app/styles/fonts/OmnesATT/demo-async.htm b/d2ice.att.io/app/styles/fonts/OmnesATT/demo-async.htm deleted file mode 100755 index f7a43e6a..00000000 --- a/d2ice.att.io/app/styles/fonts/OmnesATT/demo-async.htm +++ /dev/null @@ -1,169 +0,0 @@ - - - - Webfonts Demo - - - - - - -
-

Fonts.com Web fonts

-

@font-face implementation instructions

-

The asynchronous script loads in the background allowing the other elements of your website to load first and undeterred.

-
-

The fonts contained in this kit are:

-
-
Omnes_ATT W02 Italic
-
Omnes_ATT W02 Light
-
Omnes_ATT W02 Light Italic
-
Omnes_ATT W02 Medium
-
Omnes_ATT W02 Medium Italic
-
Omnes_ATT W02 Regular
-
Omnes_ATT W02 Bold
-
Omnes_ATT W02 Bold Italic
- -
-
- Click here for css only web fonts implementation -
-
-

CSS Implementation Guidelines

-

You and any third party web font hosting service are responsible for ensuring that the font software in the self-hosting kit, in its original format, can only be used on the Web Sites for which the self-hosting kit was downloaded and cannot be used or referenced by any other web site. This includes, but is not limited to installing adequate technical protection measures that restrict the use and/or access to the font software, for instance by utilizing JavaScript or access control mechanism for cross-origin resource sharing and protecting against use on web sites other than the Web Sites for which the self-hosting kit was downloaded by restricting domain access only to such Web Sites. You must also retain the pageview tracking code on any Web Site that you self-host. In the event this Agreement terminates for any reason, the font software included with the self-hosting kit must be deleted from the server and all copies must be destroyed or returned to Monotype Imaging.

-

View "WEB FONT SOFTWARE" LICENSE AGREEMENT

-

Asynchronous Implementation (Requires JavaScript)

-

Font file names have been obfuscated to protect the font software. You can identify font format based on file ending:

-
    -
  • 1 - TrueType (ttf)
  • -
  • 2 - Embedded OpenType (eot)
  • -
  • 3 - Web Open Font Format (woff)
  • -
  • 4 - Scalable Vector Graphics (svg)
  • -
-

Copy and paste following code in head section of the page

-
- -

Licensing information should be included within the CSS

-
/*
-This CSS resource incorporates links to font software which is the valuable copyrighted
-property of Monotype Imaging and/or its suppliers. You may not attempt to copy, install,
-redistribute, convert, modify or reverse engineer this font software. Please contact Monotype
-Imaging with any questions regarding Web Fonts:  http://webfonts.fonts.com
-*/
-
-
- - diff --git a/d2ice.att.io/app/styles/fonts/OmnesATT/demo.htm b/d2ice.att.io/app/styles/fonts/OmnesATT/demo.htm deleted file mode 100755 index edb62ad3..00000000 --- a/d2ice.att.io/app/styles/fonts/OmnesATT/demo.htm +++ /dev/null @@ -1,155 +0,0 @@ - - - - Webfonts Demo - - - - - -
-

Fonts.com Web fonts

-

@font-face implementation instructions

-
-

The fonts contained in this kit are:

-
-
Omnes_ATT W02 Italic
-
Omnes_ATT W02 Light
-
Omnes_ATT W02 Light Italic
-
Omnes_ATT W02 Medium
-
Omnes_ATT W02 Medium Italic
-
Omnes_ATT W02 Regular
-
Omnes_ATT W02 Bold
-
Omnes_ATT W02 Bold Italic
- -
-
- Click here for asynchronous web fonts implementation -
-
-

CSS Implementation Guidelines

-

You and any third party web font hosting service are responsible for ensuring that the font software in the self-hosting kit, in its original format, can only be used on the Web Sites for which the self-hosting kit was downloaded and cannot be used or referenced by any other web site. This includes, but is not limited to installing adequate technical protection measures that restrict the use and/or access to the font software, for instance by utilizing JavaScript or access control mechanism for cross-origin resource sharing and protecting against use on web sites other than the Web Sites for which the self-hosting kit was downloaded by restricting domain access only to such Web Sites. You must also retain the pageview tracking code on any Web Site that you self-host. In the event this Agreement terminates for any reason, the font software included with the self-hosting kit must be deleted from the server and all copies must be destroyed or returned to Monotype Imaging.

-

View "WEB FONT SOFTWARE" LICENSE AGREEMENT

-

Font file names have been obfuscated to protect the font software. You can identify font format based on file ending:

-
    -
  • 1 - TrueType (ttf)
  • -
  • 2 - Embedded OpenType (eot)
  • -
  • 3 - Web Open Font Format (woff)
  • -
  • 4 - Scalable Vector Graphics (svg)
  • -
-

Copy and paste following code in head section of the page

-
- -

Licensing information should be included within the CSS

-
/*
-This CSS resource incorporates links to font software which is the valuable copyrighted
-property of Monotype Imaging and/or its suppliers. You may not attempt to copy, install,
-redistribute, convert, modify or reverse engineer this font software. Please contact Monotype
-Imaging with any questions regarding Web Fonts:  http://webfonts.fonts.com
-*/
-
-
- - diff --git a/d2ice.att.io/app/styles/form.less b/d2ice.att.io/app/styles/form.less deleted file mode 100755 index 98d221e6..00000000 --- a/d2ice.att.io/app/styles/form.less +++ /dev/null @@ -1,54 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -label { - font-weight: 400; -} - -.ice-form-label { - .s_14_r; - - &.required:before { - content: '* '; - .q_14_m; - } -} - -.ice-form-error { - .q_14_r; -} diff --git a/d2ice.att.io/app/styles/global.less b/d2ice.att.io/app/styles/global.less deleted file mode 100755 index 5a521ed6..00000000 --- a/d2ice.att.io/app/styles/global.less +++ /dev/null @@ -1,174 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -html { - height: 100%; -} - -body { - .m_14_r; - height: 100%; -} - -* { - box-sizing: border-box; - margin: 0; - outline: none; - -webkit-transition: none !important; - transition: none !important; -} - - - -/* Extra small devices (phones, less than 768px) */ -/* No media query since this is the default in Bootstrap */ -@media (max-width: 992px) { - .navbar-header { - float: none; - } - .navbar-left,.navbar-right { - float: none !important; - } - .navbar-toggle { - display: block; - } - .navbar-collapse { - border-top: 1px solid transparent; - box-shadow: inset 0 1px 0 rgba(255,255,255,0.1); - } - .navbar-fixed-top { - top: 0; - border-width: 0 0 1px; - } - .navbar-collapse.collapse { - display: none!important; - } - .navbar-nav { - float: none!important; - margin-top: 7.5px; - } - .navbar-nav>li { - float: none; - } - .navbar-nav>li>a { - padding-top: 10px; - padding-bottom: 10px; - } - .collapse.in{ - display:block !important; - } -} - - - - -/* Small devices (tablets, 768px and up) */ -@media (min-width:768px) { html, body { - // height: 100%; - // overflow: auto; - } } - - - - - - -/* Medium devices (desktops, 992px and up) */ -@media (min-width: 998px) { html, body { - height: 100%; - overflow: hidden; - } } - - - - - - -body.ice { - - .container-fluid { height: 100%; } - .container-fluid > .row { height: 100%; } - .container-fluid > .row > #main { height: 100%; } - - #header-title { - height: 130px; - display: flex; - flex-direction: column; - align-items: center; - justify-content: flex-start; - h1 {.p_24; margin: 20px 0 10px 0;} - h2 {.p_16_m; margin: 0;} - } - - #content { - padding: 20px; - /*height: 100%;*/ - - .row { - height: 100%; - } - } - - a, - a:hover, - a:active, - a:focus - { - .m_16_r; - text-decoration: none; - cursor: pointer; - } - - ul { - padding: 0; - } - -} - -.bold { - font-weight: bold; -} -.italic { - font-style: italic; -} -.line-through { - text-decoration-line: line-through; -} -.underline { - text-decoration-line: underline; -} \ No newline at end of file diff --git a/d2ice.att.io/app/styles/images/Collaborate.png b/d2ice.att.io/app/styles/images/Collaborate.png deleted file mode 100755 index 97a7b52d..00000000 Binary files a/d2ice.att.io/app/styles/images/Collaborate.png and /dev/null differ diff --git a/d2ice.att.io/app/styles/images/Incubate.png b/d2ice.att.io/app/styles/images/Incubate.png deleted file mode 100755 index bd30eb84..00000000 Binary files a/d2ice.att.io/app/styles/images/Incubate.png and /dev/null differ diff --git a/d2ice.att.io/app/styles/images/Validate.png b/d2ice.att.io/app/styles/images/Validate.png deleted file mode 100755 index 993f7efe..00000000 Binary files a/d2ice.att.io/app/styles/images/Validate.png and /dev/null differ diff --git a/d2ice.att.io/app/styles/images/actions-sprite.png b/d2ice.att.io/app/styles/images/actions-sprite.png deleted file mode 100755 index df1b6f14..00000000 Binary files a/d2ice.att.io/app/styles/images/actions-sprite.png and /dev/null differ diff --git a/d2ice.att.io/app/styles/images/btn1.png b/d2ice.att.io/app/styles/images/btn1.png deleted file mode 100755 index 16d4c049..00000000 Binary files a/d2ice.att.io/app/styles/images/btn1.png and /dev/null differ diff --git a/d2ice.att.io/app/styles/images/btn2.png b/d2ice.att.io/app/styles/images/btn2.png deleted file mode 100755 index fb47af39..00000000 Binary files a/d2ice.att.io/app/styles/images/btn2.png and /dev/null differ diff --git a/d2ice.att.io/app/styles/images/btn3.png b/d2ice.att.io/app/styles/images/btn3.png deleted file mode 100755 index c8599120..00000000 Binary files a/d2ice.att.io/app/styles/images/btn3.png and /dev/null differ diff --git a/d2ice.att.io/app/styles/images/btnX.png b/d2ice.att.io/app/styles/images/btnX.png deleted file mode 100755 index 08b2136f..00000000 Binary files a/d2ice.att.io/app/styles/images/btnX.png and /dev/null differ diff --git a/d2ice.att.io/app/styles/images/d2sandbox_logos-150x30.png b/d2ice.att.io/app/styles/images/d2sandbox_logos-150x30.png deleted file mode 100755 index ceb58efb..00000000 Binary files a/d2ice.att.io/app/styles/images/d2sandbox_logos-150x30.png and /dev/null differ diff --git a/d2ice.att.io/app/styles/images/d2sandbox_logos_color-150x30.png b/d2ice.att.io/app/styles/images/d2sandbox_logos_color-150x30.png deleted file mode 100755 index e17fd63e..00000000 Binary files a/d2ice.att.io/app/styles/images/d2sandbox_logos_color-150x30.png and /dev/null differ diff --git a/d2ice.att.io/app/styles/images/flags.png b/d2ice.att.io/app/styles/images/flags.png deleted file mode 100755 index 89b1f1cd..00000000 Binary files a/d2ice.att.io/app/styles/images/flags.png and /dev/null differ diff --git a/d2ice.att.io/app/styles/images/flags@2x.png b/d2ice.att.io/app/styles/images/flags@2x.png deleted file mode 100755 index 3624e635..00000000 Binary files a/d2ice.att.io/app/styles/images/flags@2x.png and /dev/null differ diff --git a/d2ice.att.io/app/styles/images/home_bg1-1920x1138.jpg b/d2ice.att.io/app/styles/images/home_bg1-1920x1138.jpg deleted file mode 100755 index 1a56a1eb..00000000 Binary files a/d2ice.att.io/app/styles/images/home_bg1-1920x1138.jpg and /dev/null differ diff --git a/d2ice.att.io/app/styles/images/icons-sprite-v2.png b/d2ice.att.io/app/styles/images/icons-sprite-v2.png deleted file mode 100755 index ebba7cb4..00000000 Binary files a/d2ice.att.io/app/styles/images/icons-sprite-v2.png and /dev/null differ diff --git a/d2ice.att.io/app/styles/images/icons-sprite-v3.png b/d2ice.att.io/app/styles/images/icons-sprite-v3.png deleted file mode 100755 index 0c39540a..00000000 Binary files a/d2ice.att.io/app/styles/images/icons-sprite-v3.png and /dev/null differ diff --git a/d2ice.att.io/app/styles/images/icons-sprite-v4.png b/d2ice.att.io/app/styles/images/icons-sprite-v4.png deleted file mode 100755 index 757006e0..00000000 Binary files a/d2ice.att.io/app/styles/images/icons-sprite-v4.png and /dev/null differ diff --git a/d2ice.att.io/app/styles/images/icons-sprite-v5.png b/d2ice.att.io/app/styles/images/icons-sprite-v5.png deleted file mode 100755 index ab0d5a25..00000000 Binary files a/d2ice.att.io/app/styles/images/icons-sprite-v5.png and /dev/null differ diff --git a/d2ice.att.io/app/styles/images/icons-sprite.png b/d2ice.att.io/app/styles/images/icons-sprite.png deleted file mode 100755 index 97b98b4b..00000000 Binary files a/d2ice.att.io/app/styles/images/icons-sprite.png and /dev/null differ diff --git a/d2ice.att.io/app/styles/images/profiles-sprite.png b/d2ice.att.io/app/styles/images/profiles-sprite.png deleted file mode 100755 index fda15cc3..00000000 Binary files a/d2ice.att.io/app/styles/images/profiles-sprite.png and /dev/null differ diff --git a/d2ice.att.io/app/styles/images/steps-sprite.png b/d2ice.att.io/app/styles/images/steps-sprite.png deleted file mode 100755 index f71abf72..00000000 Binary files a/d2ice.att.io/app/styles/images/steps-sprite.png and /dev/null differ diff --git a/d2ice.att.io/app/styles/images/top.jpg b/d2ice.att.io/app/styles/images/top.jpg deleted file mode 100755 index 7764a937..00000000 Binary files a/d2ice.att.io/app/styles/images/top.jpg and /dev/null differ diff --git a/d2ice.att.io/app/styles/images/wait.gif b/d2ice.att.io/app/styles/images/wait.gif deleted file mode 100755 index 32446bd7..00000000 Binary files a/d2ice.att.io/app/styles/images/wait.gif and /dev/null differ diff --git a/d2ice.att.io/app/styles/mixins.less b/d2ice.att.io/app/styles/mixins.less deleted file mode 100755 index e34c4344..00000000 --- a/d2ice.att.io/app/styles/mixins.less +++ /dev/null @@ -1,381 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -@import "variables"; - -.f-color { - .a {color: @main_color_a;} - .b {color: @main_color_b;} - .c {color: @main_color_c;} - .d {color: @main_color_d;} - .e {color: @main_color_e;} - .f {color: @main_color_f;} - .g {color: @main_color_g;} - .h {color: @main_color_h;} - .i {color: @main_color_i;} - .j {color: @main_color_j;} - .k {color: @main_color_k;} - .l {color: @main_color_l;} - .m {color: @main_color_m;} - .n {color: @main_color_n;} - .o {color: @main_color_o;} - .p {color: @main_color_p;} - - .q {color: @func_color_q;} - .r {color: @func_color_r;} - .s {color: @func_color_s;} - .x {color: @func_color_x;} - - - .t {color: @tlv_color_t;} - .u {color: @tlv_color_u;} - .v {color: @tlv_color_v;} - - .w {color: @bg_color_a;} - - -} - -.f-type { - ._36 { - font-family: @font-omnes-light; - font-size: 36px; - } - ._36_m { - font-family: @font-omnes-medium; - font-size: 36px; - } - ._26 { - font-family: @font-omnes-light; - font-size: 26px; - } - ._26_m { - font-family: @font-omnes-medium; - font-size: 26px; - } - ._24 { - font-family: @font-omnes-light; - font-size: 24px; - } - ._24_m { - font-family: @font-omnes-medium; - font-size: 24px; - } - ._24_r { - font-family: @font-omnes-regular; - font-size: 24px; - } - ._22 { - font-family: @font-omnes-light; - font-size: 22px; - } - ._22_m { - font-family: @font-omnes-medium; - font-size: 22px; - } - ._20 { - font-family: @font-omnes-light; - font-size: 20px; - } - ._20_m { - font-family: @font-omnes-medium; - font-size: 20px; - } - ._18 { - font-family: @font-omnes-light; - font-size: 18px; - } - ._18_r { - font-family: @font-omnes-regular; - font-size: 18px; - } - ._18_m { - font-family: @font-omnes-medium; - font-size: 18px; - } - ._16_i { - font-family: @font-omnes-medium-italic; - font-size: 16px; - } - ._16_r { - font-family: @font-omnes-regular; - font-size: 16px; - } - ._16_m { - font-family: @font-omnes-medium; - font-size: 16px; - } - ._14_r { - font-family: @font-omnes-regular; - font-size: 14px; - } - ._14_m { - font-family: @font-omnes-medium; - font-size: 14px; - } - ._14_i { - font-family: @font-omnes-medium-italic; - font-size: 14px; - } - ._13_r { - font-family: @font-omnes-regular; - font-size: 13px; - } - ._13_m { - font-family: @font-omnes-medium; - font-size: 13px; - } - ._13_i { - font-family: @font-omnes-medium-italic; - font-size: 13px; - } - ._12_r { - font-family: @font-omnes-regular; - font-size: 12px; - } - ._12_m { - font-family: @font-omnes-medium; - font-size: 12px; - } - ._12_i { - font-family: @font-omnes-medium-italic; - font-size: 12px; - } - ._10_r { - font-family: @font-omnes-regular; - font-size: 10px; - } - ._10_m { - font-family: @font-omnes-medium; - font-size: 10px; - } -} - -.buildForColor(a); -.buildForColor(b); -.buildForColor(c); -.buildForColor(d); -.buildForColor(e); -.buildForColor(f); -.buildForColor(g); -.buildForColor(h); -.buildForColor(i); -.buildForColor(j); -.buildForColor(k); -.buildForColor(l); -.buildForColor(m); -.buildForColor(n); -.buildForColor(o); -.buildForColor(p); - -.buildForFuncColor(q); -.buildForFuncColor(r); -.buildForFuncColor(s); -.buildForFuncColor(x); - -.buildForTlvColor(t); -.buildForTlvColor(u); -.buildForTlvColor(v); - - -.buildForColor(@c){ - .@{c}_36 { color: ~"@{main_color_@{c}}"; .f-type > ._36;} - .@{c}_36_m { color: ~"@{main_color_@{c}}"; .f-type > ._36_m;} - .@{c}_26 { color: ~"@{main_color_@{c}}"; .f-type > ._26;} - .@{c}_26_m { color: ~"@{main_color_@{c}}"; .f-type > ._26_m;} - .@{c}_24 { color: ~"@{main_color_@{c}}"; .f-type > ._24;} - .@{c}_24_m { color: ~"@{main_color_@{c}}"; .f-type > ._24_m;} - .@{c}_24_r { color: ~"@{main_color_@{c}}"; .f-type > ._24_r;} - .@{c}_22 { color: ~"@{main_color_@{c}}"; .f-type > ._22;} - .@{c}_22_m { color: ~"@{main_color_@{c}}"; .f-type > ._22_m;} - .@{c}_20 { color: ~"@{main_color_@{c}}"; .f-type > ._20;} - .@{c}_20_m { color: ~"@{main_color_@{c}}"; .f-type > ._20_m;} - .@{c}_18 { color: ~"@{main_color_@{c}}"; .f-type > ._18;} - .@{c}_18_r { color: ~"@{main_color_@{c}}"; .f-type > ._18_r;} - .@{c}_18_m { color: ~"@{main_color_@{c}}"; .f-type > ._18_m;} - .@{c}_16_i { color: ~"@{main_color_@{c}}"; .f-type > ._16_i;} - .@{c}_16_r { color: ~"@{main_color_@{c}}"; .f-type > ._16_r;} - .@{c}_16_m { color: ~"@{main_color_@{c}}"; .f-type > ._16_m;} - .@{c}_14_r { color: ~"@{main_color_@{c}}"; .f-type > ._14_r;} - .@{c}_14_m { color: ~"@{main_color_@{c}}"; .f-type > ._14_m;} - .@{c}_14_i { color: ~"@{main_color_@{c}}"; .f-type > ._14_i;} - .@{c}_13_r { color: ~"@{main_color_@{c}}"; .f-type > ._13_r;} - .@{c}_13_m { color: ~"@{main_color_@{c}}"; .f-type > ._13_m;} - .@{c}_13_i { color: ~"@{main_color_@{c}}"; .f-type > ._13_i;} - .@{c}_12_r { color: ~"@{main_color_@{c}}"; .f-type > ._12_r;} - .@{c}_12_m { color: ~"@{main_color_@{c}}"; .f-type > ._12_m;} - .@{c}_12_i { color: ~"@{main_color_@{c}}"; .f-type > ._12_i;} - .@{c}_10_r { color: ~"@{main_color_@{c}}"; .f-type > ._10_r;} - .@{c}_10_m { color: ~"@{main_color_@{c}}"; .f-type > ._10_m;} - -} - -.buildForFuncColor(@c){ - .@{c}_36 { color: ~"@{func_color_@{c}}"; .f-type > ._36;} - .@{c}_36_m { color: ~"@{func_color_@{c}}"; .f-type > ._36_m;} - .@{c}_26 { color: ~"@{func_color_@{c}}"; .f-type > ._26;} - .@{c}_26_m { color: ~"@{func_color_@{c}}"; .f-type > ._26_m;} - .@{c}_24 { color: ~"@{func_color_@{c}}"; .f-type > ._24;} - .@{c}_24_m { color: ~"@{func_color_@{c}}"; .f-type > ._24_m;} - .@{c}_24_r { color: ~"@{func_color_@{c}}"; .f-type > ._24_r;} - .@{c}_22 { color: ~"@{func_color_@{c}}"; .f-type > ._22;} - .@{c}_22_m { color: ~"@{func_color_@{c}}"; .f-type > ._22_m;} - .@{c}_20 { color: ~"@{func_color_@{c}}"; .f-type > ._20;} - .@{c}_20_m { color: ~"@{func_color_@{c}}"; .f-type > ._20_m;} - .@{c}_18 { color: ~"@{func_color_@{c}}"; .f-type > ._18;} - .@{c}_18_r { color: ~"@{func_color_@{c}}"; .f-type > ._18_r;} - .@{c}_18_m { color: ~"@{func_color_@{c}}"; .f-type > ._18_m;} - .@{c}_16_r { color: ~"@{func_color_@{c}}"; .f-type > ._16_r;} - .@{c}_16_m { color: ~"@{func_color_@{c}}"; .f-type > ._16_m;} - .@{c}_14_r { color: ~"@{func_color_@{c}}"; .f-type > ._14_r;} - .@{c}_14_m { color: ~"@{func_color_@{c}}"; .f-type > ._14_m;} - .@{c}_14_i { color: ~"@{func_color_@{c}}"; .f-type > ._14_i;} - .@{c}_13_r { color: ~"@{func_color_@{c}}"; .f-type > ._13_r;} - .@{c}_13_m { color: ~"@{func_color_@{c}}"; .f-type > ._13_m;} - .@{c}_13_i { color: ~"@{func_color_@{c}}"; .f-type > ._13_i;} - .@{c}_12_r { color: ~"@{func_color_@{c}}"; .f-type > ._12_r;} - .@{c}_12_m { color: ~"@{func_color_@{c}}"; .f-type > ._12_m;} - .@{c}_12_i { color: ~"@{func_color_@{c}}"; .f-type > ._12_i;} -} - - -.buildForTlvColor(@c){ - .@{c}_36 { color: ~"@{tlv_color_@{c}}"; .f-type > ._36;} - .@{c}_36_m { color: ~"@{tlv_color_@{c}}"; .f-type > ._36_m;} - .@{c}_26 { color: ~"@{tlv_color_@{c}}"; .f-type > ._26;} - .@{c}_26_m { color: ~"@{tlv_color_@{c}}"; .f-type > ._26_m;} - .@{c}_24 { color: ~"@{tlv_color_@{c}}"; .f-type > ._24;} - .@{c}_24_m { color: ~"@{tlv_color_@{c}}"; .f-type > ._24_m;} - .@{c}_24_r { color: ~"@{tlv_color_@{c}}"; .f-type > ._24_r;} - .@{c}_22 { color: ~"@{tlv_color_@{c}}"; .f-type > ._22;} - .@{c}_22_m { color: ~"@{tlv_color_@{c}}"; .f-type > ._22_m;} - .@{c}_20 { color: ~"@{tlv_color_@{c}}"; .f-type > ._20;} - .@{c}_20_m { color: ~"@{tlv_color_@{c}}"; .f-type > ._20_m;} - .@{c}_18 { color: ~"@{tlv_color_@{c}}"; .f-type > ._18;} - .@{c}_18_r { color: ~"@{tlv_color_@{c}}"; .f-type > ._18_r;} - .@{c}_18_m { color: ~"@{tlv_color_@{c}}"; .f-type > ._18_m;} - .@{c}_16_r { color: ~"@{tlv_color_@{c}}"; .f-type > ._16_r;} - .@{c}_16_m { color: ~"@{tlv_color_@{c}}"; .f-type > ._16_m;} - .@{c}_14_r { color: ~"@{tlv_color_@{c}}"; .f-type > ._14_r;} - .@{c}_14_m { color: ~"@{tlv_color_@{c}}"; .f-type > ._14_m;} - .@{c}_14_i { color: ~"@{tlv_color_@{c}}"; .f-type > ._14_i;} - .@{c}_13_r { color: ~"@{tlv_color_@{c}}"; .f-type > ._13_r;} - .@{c}_13_m { color: ~"@{tlv_color_@{c}}"; .f-type > ._13_m;} - .@{c}_13_i { color: ~"@{tlv_color_@{c}}"; .f-type > ._13_i;} - .@{c}_12_r { color: ~"@{tlv_color_@{c}}"; .f-type > ._12_r;} - .@{c}_12_m { color: ~"@{tlv_color_@{c}}"; .f-type > ._12_m;} - .@{c}_12_i { color: ~"@{tlv_color_@{c}}"; .f-type > ._12_i;} -} - -.disabled { - opacity: 0.4 !important; - cursor: auto; - background-color: transparent; - pointer-events: none; -} - -.circle(@size) { - border-radius: 50%; - width: @size; - height: @size; -} - -.step-progress(@size, @color, @width) { - position: relative; - .circle { - .circle(@size); - display: inline-block; - background-color: @color; - } - .line { - border-bottom: solid 2px @color; - position: absolute; - top: @size/2-1; - width: @width; - } - .text { - position: absolute; - top: -5px; - margin-left: 10px; - .a_16_m; - } -} - -.step-progress-dashed(@size, @color, @width) { - position: relative; - .circle { - .circle(@size); - display: inline-block; - background-color: #ffffff; - border: dashed 1px @color; - } - .line { - border-bottom: dashed 1px @color; - position: absolute; - top: @size/2-1; - width: @width; - } - .text { - position: absolute; - top: -5px; - margin-left: 10px; - .a_16_m; - } -} - -.step-progress-solid(@size, @color, @width) { - position: relative; - .circle { - .circle(@size); - display: inline-block; - background-color: #ffffff; - border: solid 1px @color; - } - .line { - border-bottom: solid 1px @color; - position: absolute; - top: @size/2-1; - width: @width; - } - .text { - position: absolute; - top: -5px; - margin-left: 10px; - .a_16_m; - } -} diff --git a/d2ice.att.io/app/styles/modals.less b/d2ice.att.io/app/styles/modals.less deleted file mode 100755 index b6bf1205..00000000 --- a/d2ice.att.io/app/styles/modals.less +++ /dev/null @@ -1,102 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -/* Overrides bootstrap modal */ -.modal-content { - border: 6px solid #1370A3; - border-radius: 0; - padding: 30px 30px; - - .modal-header { - - border-bottom: none; - border-top: none; - padding: 0; - - h2, h3 { - .a_24_m; - margin-bottom: 10px; - } - - .close { - outline: none; - .sprite; - .sprite.close; - display: block; - opacity: 1; - position: absolute; - top: 10px; - right: 7px; - - span { - display: none; - } - } - } - - .modal-body { - padding: 0; - } - - .modal-footer { - border-top: none; - padding: 0; - - .btn { - width: 100%; - } - - .btn4Confirmation { - width: 20%; - } - - .btn-primary { - border: 1px solid #8799A3; - border-radius: 6px; - background: #1E79B0; /* For browsers that do not support gradients */ - background: -webkit-linear-gradient(#1E79B0, #62ADD5); /* For Safari 5.1 to 6.0 */ - background: -o-linear-gradient(#1E79B0, #62ADD5); /* For Opera 11.1 to 12.0 */ - background: -moz-linear-gradient(#1E79B0, #62ADD5); /* For Firefox 3.6 to 15 */ - background: linear-gradient(#1E79B0, #62ADD5); /* Standard syntax (must be last) */ - } - - } - -} - - diff --git a/d2ice.att.io/app/styles/sprite.less b/d2ice.att.io/app/styles/sprite.less deleted file mode 100755 index ec729a15..00000000 --- a/d2ice.att.io/app/styles/sprite.less +++ /dev/null @@ -1,128 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -.sprite { background: url('images/icons-sprite-v5.png') no-repeat top left; width: 20px; height: 20px; } -.profiles-sprite { background: url('images/profiles-sprite.png') no-repeat top left; width: 40px; height: 28px; } -.steps-sprite {background-image: url(images/steps-sprite.png); background-repeat: no-repeat; display: block;} -.actions-sprite { background: url('images/actions-sprite.png') no-repeat top left; width: 15px; height: 15px; } - -.actions-sprite.delete_large { background-position: 0 0; } -.actions-sprite.reject_large { background-position: -25px 0; } -.actions-sprite.approve_large { background-position: -50px 0; } - -.sprite.added { background-position: 0 0; } -.sprite.approve { background-position: -30px 0; } -.sprite.complete { background-position: -60px 0; } -.sprite.electricity { background-position: -90px 0; } -.sprite.invite { background-position: -120px 0; } -.sprite.upload { background-position: -150px 0; } -.sprite.add { background-position: -180px 0; width: 18px; height: 18px; } -.sprite.success { background-position: -208px 0; width: 15px; height: 15px; } -.sprite.delete { background-position: -233px 0; width: 15px; height: 15px; } -.sprite.edit-large { background-position: -258px 0; height: 18px; } -.sprite.edit-medium { background-position: -288px 0; width: 17px; height: 16px; } -.sprite.edit-small { background-position: -315px 0; width: 15px; height: 14px; } -.sprite.approved { background-position: -340px 0; width: 12px; height: 12px; } -.sprite.pendingnon-el { background-position: -362px 0; width: 12px; height: 12px; } -.sprite.pending { background-position: -384px 0; width: 12px; height: 12px; } -.sprite.todo { background-position: -406px 0; width: 12px; height: 12px; } -.sprite.amburger { background-position: -428px 0; width: 12px; height: 12px; } -.sprite.question-mark { background-position: -450px 0; width: 18px; height: 18px; } -.sprite.delete-circle { background-position: -478px 0; width: 15px; height: 15px; } -.sprite.close { background-position: -503px 0; width: 15px; height: 15px; } - -.sprite.automation-state { background-position: -529px 0; width:15px; height:15px;} -.sprite.review-state-active { background-position: -554px 0; width:15px; height:15px;} -.sprite.review-state { background-position: -579px 0; width:15px; height:15px;} -.sprite.peer_review-state-active { background-position: -604px 0; width:15px; height:15px;} -.sprite.peer_review-state { background-position: -629px 0; width:15px; height:15px;} -.sprite.approval-state-active { background-position: -654px 0; width:15px; height:15px;} -.sprite.approval-state { background-position: -679px 0; width:15px; height:15px;} -.sprite.handoff-state-active { background-position: -704px 0; width:15px; height:15px;} -.sprite.handoff-state { background-position: -729px 0; width:15px; height:15px;} -.sprite.closed-state-active { background-position: -754px 0; width:15px; height:15px;} -.sprite.closed-state { background-position: -779px 0; width:15px; height:15px;} -.sprite.active-cl { background-position: -804px 0; width:15px; height:15px;} -.sprite.delete-cl { background-position: -829px 0; width:15px; height:15px;} -.sprite.denied-cl { background-position: -854px 0; width:15px; height:15px;} -.sprite.approved-cl { background-position: -879px 0; width: 15px;height:15px;} -.sprite.denied-cl-btn-active { background-position: -904px 0; width: 25px; height: 25px; } -.sprite.denied-cl-btn { background-position: -939px 0; width: 25px; height: 25px; } -.sprite.approved-cl-btn-active { background-position: -974px 0; width: 25px; height: 25px; } -.sprite.approved-cl-btn { background-position: -1009px 0; width: 25px; height: 25px; } -.sprite.not-relevant-btn-active { background-position: -1044px 0; width: 25px; height: 25px; } -.sprite.not-relevant-btn { background-position: -1079px 0; width: 25px; height: 25px; } -.sprite.items-todo { background-position: -1114px 0; width: 8px; height: 8px; } -.sprite.duedate { background-position: -1132px 0; width: 12px; height: 12px; } -.sprite.small-edit { background-position: -1154px 0; height: 14px; } -.sprite.not-relevant-cl { background-position: -1179px 0; width:15px; height:15px; } -.sprite.pending-state { background-position: -1204px 0; width:15px; height:15px; } -.sprite.starred { background-position: -1230px 0; width:19px; height:19px; } -.sprite.starred-selected { background-position: -1260px 0; width:19px; height:19px; } -.sprite.small-grey-add { background-position: -1288px 0; width:17px; height:15px; } -.sprite.big-grey-add { background-position: -1313px 0; width:19px; height:18px; } -.sprite.red-delete { background-position: -1341px 0; width:17px; height:16px; } -.sprite.grey-check-mark { background-position: -1390px 0; width:17px; height:15px; } -.sprite.order { background-position: -1417px 0; width: 14px; height: 12px;} -.sprite.admin-dropdown { background-position: 0 -63px; width: 14px; height: 14px; } - - -.profiles-sprite.avatar-blue { background-position: 0 0; height: 40px; } -.profiles-sprite.notification { background-position: 0 -50px; width: 25px; } -.profiles-sprite.profile-large { background-position: 0 -88px; width: 150px; height: 140px; } -.profiles-sprite.profile-medium { background-position: 0 -238px; height: 40px; } -.profiles-sprite.profile-white { background-position: 0 -288px; width: 32px; } -.profiles-sprite.avatar-white { background-position: 0 -326px; width: 30px; height: 30px; } - -.steps-sprite.confirmed { width: 12px; height: 12px; background-position: -5px -5px;} -.steps-sprite.completed {width: 12px;height: 12px;background-position: -27px -5px;} -.steps-sprite.completed-non-el {width: 12px;height: 12px;background-position: -49px -5px;} -.steps-sprite.todo {width: 12px;height: 12px;background-position: -71px -5px;} - - -.logo-white { - background: url('images/d2sandbox_logos-150x30.png') no-repeat 0 0; - width: 150px; - height: 30px; -} - -.logo-color { - background: url('images/d2sandbox_logos_color-150x30.png') no-repeat 0 0; - width: 150px; - height: 30px; -} diff --git a/d2ice.att.io/app/styles/table-flex.less b/d2ice.att.io/app/styles/table-flex.less deleted file mode 100755 index d25c679b..00000000 --- a/d2ice.att.io/app/styles/table-flex.less +++ /dev/null @@ -1,77 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -.table-container-flex { - clear: both; - - .table { - width: 100%; - - .head { - - .head-row { - text-align: center; - padding: 8px 15px; - .l_14_m; - - &:last-child { - border-right: none; - } - - } - } - .body { - - } - - } - - .flex-container { - display: flex; - } - - .flex-item { - width:10px; - line-height: 25px; - padding: 5px 15px; - flex-grow: 1; - text-align: left; - - } - -} diff --git a/d2ice.att.io/app/styles/variables.less b/d2ice.att.io/app/styles/variables.less deleted file mode 100755 index c8b6163b..00000000 --- a/d2ice.att.io/app/styles/variables.less +++ /dev/null @@ -1,122 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -// Fonts -@font-omnes-light: omnes-light, sans-serif; -@font-omnes-regular: omnes-regular, sans-serif; -@font-omnes-medium: omnes-medium, sans-serif; -@font-omnes-medium-italic: omnes-medium-italic, sans-serif; -@font-omnes-bold: omnes-bold, sans-serif; - -/*---------------------------------------------- General ----------------------------------------------*/ -@images: "images"; - - - -// Main Colors -@main_color_a: #1370a3; -@main_color_b: #1370a3; -@main_color_c: #1370a3; -@main_color_d: #4ca90c; -@main_color_e: #007a3e; -@main_color_f: #b5bd00; -@main_color_g: #ea7499; -@main_color_h: #ffb81c; -@main_color_i: #702f8a; -@main_color_j: #9063cd; -@main_color_k: #caa2dd; -@main_color_l: #000000; -@main_color_m: #5a5a5a; -@main_color_n: #959595; -@main_color_o: #d2d2d2; -@main_color_p: #ffffff; -@main_color_q: #abb8c0; -@main_color_r: #1370A3; -@main_color_s: #dddddd; -@main_color_gray: #9B9B9B; - -// Functional Colors -@func_color_q: #cf2a2a; -@func_color_r: #f2f2f2; -@func_color_s: #191919; -@func_color_b: #0568ae; -@func_color_e: #007a3e; -@func_color_h: #ffb81c; -@func_color_x: #D74854; - - -// Tlv Colors -@tlv_color_t: #faf8f8; -@tlv_color_u: #eaeaea; -@tlv_color_v: #e6f6fb; - -// BG color -@bg_color_a: #EEF9FF; -@bg_color_b: #f6f3f3; -@bg_color_navigation: #DEF3FF; - -// Welcome page colors: -@welcome_box_text_color: #5c5c5c; -@welcome_button_gradient1: #1E79B0; -@welcome_button_gradient2: #62ADD5; -@welcome_button_border: #8799A3; -@welcome_navbar_hr: #585858; -@welcome_footer_bg: #2e2e2e; -@welcome_footer_text: #cbcbcb; - -// Tooltip colors: -@tooltip_header_color: #444141; - -//Toolbar colors: -@toolbar_background_color: #4990E2; - -//Progress directive colors: -@gradient_left: #4990E2; -@gradient_right: #DCEEFC; - -//Target completion box colors: -@target_completion_color: #FAC05F; - -//Engagement status box colors: -@engagement_status_color: #98C678; - -//Engagement team box colors: -@engagement_team_color: @main_color_gray; - -/*---------------------------------------------- Parameters ----------------------------------------------*/ -@header_height: 90px; diff --git a/d2ice.att.io/app/welcome/index.html b/d2ice.att.io/app/welcome/index.html deleted file mode 100755 index 63a921b1..00000000 --- a/d2ice.att.io/app/welcome/index.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - AT&T | {{'program.name' | i18next}} - - - - diff --git a/d2ice.att.io/app/welcome/welcome.controller.js b/d2ice.att.io/app/welcome/welcome.controller.js deleted file mode 100755 index 8f5aa1a8..00000000 --- a/d2ice.att.io/app/welcome/welcome.controller.js +++ /dev/null @@ -1,58 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -/** - * Created by almog on 26/12/2016. - */ -(function() { - 'use strict'; - - angular - .module('ice.welcome') - .controller('WelcomeController', ["$state", "$location", "localStorageService", WelcomeController]); - - function WelcomeController($state, $location, localStorageService) { - var vm = this; - - var init = function() { - - } - - init(); - } -})(); diff --git a/d2ice.att.io/app/welcome/welcome.html b/d2ice.att.io/app/welcome/welcome.html deleted file mode 100755 index 14292a6a..00000000 --- a/d2ice.att.io/app/welcome/welcome.html +++ /dev/null @@ -1,114 +0,0 @@ - - - -
-
-
-

Welcome to {{'program.name' | i18next}}

-

{{'program.name' | i18next}} is a process allowing VFs to be incubated & validated against the {{'serviceProvider.name' | i18next}} Domain 2.0 architecture.

- Get Started -
-
-
- -
-
-
-
- -

Incubate

-

{{'program.name' | i18next}} encourages you to engage early to make sure the process is as iterative and collaborative as possible.

-
-
-
-
- -

Validate

-

{{'program.name' | i18next}} is focused to help validate your VF according the {{'serviceProvider.name' | i18next}} guidelines and requirements to allow for seamless onboarding.

-
-
-
-
- -

Collaborate

-

{{'program.name' | i18next}} allows and encourages you to collaborate with your VF team to validate your VF both internally and externally.

-
-
-
-
- -
- -
diff --git a/d2ice.att.io/app/welcome/welcome.less b/d2ice.att.io/app/welcome/welcome.less deleted file mode 100755 index 426e1dfd..00000000 --- a/d2ice.att.io/app/welcome/welcome.less +++ /dev/null @@ -1,208 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -.welcome-boxes { - margin-top: 60px; -} - -.welcome-box { - h3 { - font-weight: bold; - } - - p { - font-size: 16px; - padding: 0 15px; - color: @welcome_box_text_color; - margin-bottom: 0; - } -} - -.get-started-button { - width:190px; - margin-top:20px; - text-align:center; - margin-left:auto; - margin-right:auto; - color:white !important; - height:48px; - font-size:18px !important; - font-weight: bold; - line-height:38px; - vertical-align: middle; - background: linear-gradient(@welcome_button_gradient1, @welcome_button_gradient2); - border: 1px solid @welcome_button_border; - border-radius: 6px; -} - -.welcome-body { - overflow: auto; -} - -.welcome-navbar { - background-color: black; - padding-left: 10%; - padding-right: 10%; - border-color: @welcome_navbar_hr; - border-left: black; - z-index: 1030; - left: 0; - right: 0; - position: absolute; - border-radius: 0; - top: 0; -} - -.welcome-nav-link { - color: @main_color_p !important; - font-weight: 600; - line-height: 20px; - margin-top: 7px; -} - -.welcome { - position: relative; - width: 100%; - //min-height: auto; - -webkit-background-size: cover; - -moz-background-size: cover; - background-size: cover; - -o-background-size: cover; - background: url('../styles/images/home_bg1-1920x1138.jpg') center; - text-align: center; - color: white; -} - -.welcome .header-content { - position: relative; - text-align: center; - padding: 100px 15px 100px; - width: 100%; -} -.welcome .header-content .header-content-inner h1 { - font-weight: 700; - margin-top: 0; - margin-bottom: 0; - font-size: 30px; - color: @main_color_p; -} - -.welcome .header-content .header-content-inner p { - font-weight: 300; - font-size: 16px; - margin-bottom: 50px; - color: @main_color_p; -} - -@media (min-width: 768px) { - .welcome { - min-height: 73%; - } - - .welcome .header-content { - position: absolute; - top: 50%; - -webkit-transform: translateY(-50%); - -ms-transform: translateY(-50%); - transform: translateY(-50%); - padding: 0 50px; - } - - .welcome .header-content .header-content-inner { - max-width: 100%; - margin-left: auto; - margin-right: auto; - } - - .welcome .header-content .header-content-inner h1 { - font-size: 50px; - } - - .welcome .header-content .header-content-inner p { - font-size: 18px; - max-width: 90%; - margin-left: auto; - margin-right: auto; - } -} - -.welcome-footer { - background: @welcome_footer_bg; - color: @welcome_footer_text; - padding: 60px 0 0; - margin-top: 60px; -} - -.welcome-footer-copyright { - color: @welcome_footer_text; - font-size: 17px; - line-height: 25px; - padding-bottom: 5px; - text-align: center; -} - -.welcome-logo { - margin-top: -8px; -} - -.navbar-collapse .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus { - background: none; -} - -.navbar-collapse .navbar-nav > li > a:hover:after, -.navbar-collapse .navbar-nav > li.active > a:after, -.navbar-collapse .navbar-nav > li.active > a:hover:after, -.navbar-collapse .navbar-nav > li.active > a:focus:after { - position:absolute; - bottom:9px; - left:50%; - content:''; - width:20px; - height:2px; - margin-left:-10px; - background-color:#fff; -} - - -.navbar-nav > li + li {margin-left:2px} -.navbar-collapse .navbar-nav > li.active > a, -.navbar-collapse .navbar-nav > li.active > a:hover, -.navbar-collapse .navbar-nav > li.active > a:focus { - color:#828282; - background-color:transparent; -} diff --git a/d2ice.att.io/app/welcome/welcome.module.js b/d2ice.att.io/app/welcome/welcome.module.js deleted file mode 100755 index a17e3680..00000000 --- a/d2ice.att.io/app/welcome/welcome.module.js +++ /dev/null @@ -1,63 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -/** - * Created by almog on 26/12/2016. - */ -(function () { - 'use strict'; - - angular - .module('ice.welcome', []) - .config(config); - - function config($stateProvider) { - $stateProvider - .state('app.welcome', { - url: '/', - views: { - 'main@': { - templateUrl: 'welcome/welcome.html', - controller: 'WelcomeController as vm' - } - }, - params: {}, - bodyClass: 'welcome-body' - }); - } -})(); diff --git a/d2ice.att.io/bower.json b/d2ice.att.io/bower.json deleted file mode 100755 index 3a0c5e83..00000000 --- a/d2ice.att.io/bower.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "name": "ice", - "version": "0.0.0", - "dependencies": { - "angular": "1.5.0", - "bootstrap": "3.2.0", - "angular-ui-router": "0.3.0", - "angular-animate": "1.5.0", - "angular-bootstrap": "1.3.3", - "moment": "momentjs#2.17.0", - "angular-sanitize": "1.5.0", - "angular-wysiwyg": "git://github.com/TerryMooreII/angular-wysiwyg.git#master", - "moment-timezone": "0.5.10", - "angular-utils": "michaelbromley/angularUtils-pagination", - "angular-ui-select": "0.19.6", - "angular-bootstrap-multiselect": "edgargonzalez525/angular-bootstrap-multiselect", - "bootstrap-ui-datetime-picker": "2.4.3", - "angular-material": "1.1.1", - "angular-toArrayFilter": "1.0.1", - "ng-intl-tel-input": "2.0.0", - "angular-aria": "1.5.0", - "angular-cookies": "1.5.0", - "angular-mocks": "1.5.0", - "angular-messages": "1.5.0", - "angular-file-saver": "1.1.3", - "animate.css": "3.5.2", - "lodash": "4.17.4", - "angular-ui-sortable": "0.16.1", - "ng-i18next": "1.0.4", - "i18next-xhr-backend": "1.4.2" - }, - "appPath": "app", - "moduleName": "iceApp", - "overrides": { - "bootstrap": { - "main": [ - "less/bootstrap.less", - "dist/css/bootstrap.css", - "dist/js/bootstrap.js" - ] - }, - "angular-wysiwyg": { - "main": "./dist/angular-wysiwyg.js" - }, - "ng-intl-tel-input": { - "main": [ - "./dist/ng-intl-tel-input.js", - "../intl-tel-input/build/js/utils.js" - ] - } - }, - "resolutions": { - "angular": "1.5.0", - "jquery": ">=1.7" - } -} diff --git a/d2ice.att.io/dist/favicon.png b/d2ice.att.io/dist/favicon.png deleted file mode 100755 index 6e9f04df..00000000 Binary files a/d2ice.att.io/dist/favicon.png and /dev/null differ diff --git a/d2ice.att.io/dist/fonts/FontAwesome.otf b/d2ice.att.io/dist/fonts/FontAwesome.otf deleted file mode 100755 index 401ec0f3..00000000 Binary files a/d2ice.att.io/dist/fonts/FontAwesome.otf and /dev/null differ diff --git a/d2ice.att.io/dist/fonts/fontawesome-webfont.eot b/d2ice.att.io/dist/fonts/fontawesome-webfont.eot deleted file mode 100755 index e9f60ca9..00000000 Binary files a/d2ice.att.io/dist/fonts/fontawesome-webfont.eot and /dev/null differ diff --git a/d2ice.att.io/dist/fonts/fontawesome-webfont.svg b/d2ice.att.io/dist/fonts/fontawesome-webfont.svg deleted file mode 100755 index 855c845e..00000000 --- a/d2ice.att.io/dist/fonts/fontawesome-webfont.svg +++ /dev/null @@ -1,2671 +0,0 @@ - - - - -Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 - By ,,, -Copyright Dave Gandy 2016. All rights reserved. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/d2ice.att.io/dist/fonts/fontawesome-webfont.ttf b/d2ice.att.io/dist/fonts/fontawesome-webfont.ttf deleted file mode 100755 index 35acda2f..00000000 Binary files a/d2ice.att.io/dist/fonts/fontawesome-webfont.ttf and /dev/null differ diff --git a/d2ice.att.io/dist/fonts/fontawesome-webfont.woff b/d2ice.att.io/dist/fonts/fontawesome-webfont.woff deleted file mode 100755 index 400014a4..00000000 Binary files a/d2ice.att.io/dist/fonts/fontawesome-webfont.woff and /dev/null differ diff --git a/d2ice.att.io/dist/fonts/fontawesome-webfont.woff2 b/d2ice.att.io/dist/fonts/fontawesome-webfont.woff2 deleted file mode 100755 index 4d13fc60..00000000 Binary files a/d2ice.att.io/dist/fonts/fontawesome-webfont.woff2 and /dev/null differ diff --git a/d2ice.att.io/dist/fonts/glyphicons-halflings-regular.eot b/d2ice.att.io/dist/fonts/glyphicons-halflings-regular.eot deleted file mode 100755 index 4a4ca865..00000000 Binary files a/d2ice.att.io/dist/fonts/glyphicons-halflings-regular.eot and /dev/null differ diff --git a/d2ice.att.io/dist/fonts/glyphicons-halflings-regular.svg b/d2ice.att.io/dist/fonts/glyphicons-halflings-regular.svg deleted file mode 100755 index e3e2dc73..00000000 --- a/d2ice.att.io/dist/fonts/glyphicons-halflings-regular.svg +++ /dev/null @@ -1,229 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/d2ice.att.io/dist/fonts/glyphicons-halflings-regular.ttf b/d2ice.att.io/dist/fonts/glyphicons-halflings-regular.ttf deleted file mode 100755 index 67fa00bf..00000000 Binary files a/d2ice.att.io/dist/fonts/glyphicons-halflings-regular.ttf and /dev/null differ diff --git a/d2ice.att.io/dist/fonts/glyphicons-halflings-regular.woff b/d2ice.att.io/dist/fonts/glyphicons-halflings-regular.woff deleted file mode 100755 index 8c54182a..00000000 Binary files a/d2ice.att.io/dist/fonts/glyphicons-halflings-regular.woff and /dev/null differ diff --git a/d2ice.att.io/dist/index.html b/d2ice.att.io/dist/index.html deleted file mode 100755 index e6b1edd8..00000000 --- a/d2ice.att.io/dist/index.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - - - AT&T | {{'program.name' | i18next}} - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
-
- - - - - - diff --git a/d2ice.att.io/dist/locales/en/translation.json b/d2ice.att.io/dist/locales/en/translation.json deleted file mode 100755 index 176fa89c..00000000 --- a/d2ice.att.io/dist/locales/en/translation.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "vendor": { - "name": "EXAMPLE VENDOR", - "email": "admin@example.com" - }, - "serviceProvider": { - "name": "EXAMPLE PROVIDER" - }, - "program": { - "name": "VVP PROGRAM" - } -} diff --git a/d2ice.att.io/dist/robots.txt b/d2ice.att.io/dist/robots.txt deleted file mode 100755 index 4d521f95..00000000 --- a/d2ice.att.io/dist/robots.txt +++ /dev/null @@ -1,4 +0,0 @@ -# robotstxt.org - -User-agent: * -Disallow: diff --git a/d2ice.att.io/dist/scripts/scripts.c1bed7e7.js b/d2ice.att.io/dist/scripts/scripts.c1bed7e7.js deleted file mode 100755 index 67ceafbe..00000000 --- a/d2ice.att.io/dist/scripts/scripts.c1bed7e7.js +++ /dev/null @@ -1,14 +0,0 @@ -!function(){"use strict";angular.module("ice",["ngSanitize","ngAnimate","wysiwyg.module","ui.router","ice.env","ice.modals","angularUtils.directives.dirPagination","ui.select","ui.multiselect","ui.bootstrap","ui.bootstrap.datetimepicker","ngMaterial","ngMessages","angular-toArrayFilter","ngIntlTelInput","ui.sortable","jm.i18next","ice.toolbar","ice.navigation","ice.main","ice.contactUs","ice.dashboard.main","ice.dashboard.overview","ice.dashboard.dashboard","ice.activation.login","ice.activation.register","ice.activation.addVf","ice.activation.addVendorContact","ice.activation.resendActivation","ice.activation.terms","ice.activation.activateUser","ice.dashboard.account","ice.documentation","ice.activation.resetPassword","ice.activation.updatePassword","ice.dashboard.checklist","ice.welcome","ice.main.admin","ice.services.cacheService","ice.services.users","ice.services.localStorage","ice.services.vf","ice.services.steps","ice.services.vfc","ice.services.dtsite","ice.services.checklist","ice.services.status","ice.services.feedback","ice.services.toast","ice.services.cms","ice.services.sessionStorage","ice.directives","ice.filters","ice.interceptors.http"])}(),angular.module("ice.env",[]).constant("ENV",{name:"production",apiBase:"/vvp/v1/engmgr/"}),function(){"use strict";angular.module("ice").constant("_",window._).constant("iceConstants",{states:{incomplete:"Incomplete",completed:"Completed"},stages:{intake:"Intake",active:"Active",validated:"Validated",completed:"Completed"},roles:{standard:"standard_user",el:"el",admin:"admin",admin_ro:"admin_ro"},checklist_states:["automation","review","peer review","approval","handoff","closed"]})}(),function(){"use strict";function a(a){a.defaults.useXDomain=!0,delete a.defaults.headers.common["X-Requested-With"],a.interceptors.push("httpRequestInterceptor"),a.interceptors.push("httpResponseInterceptor"),a.interceptors.push("httpRequestErrorInterceptor"),a.interceptors.push("httpResponseErrorInterceptor")}angular.module("ice").config(a).config(["ngIntlTelInputProvider",function(a){a.set({initialCountry:"us"})}]),a.$inject=["$httpProvider"]}(),function(){"use strict";function a(a,b,c){c.hashPrefix(""),b.otherwise("/login"),b.when("/dashboard","/dashbaord/overview");var d="horizontalNavigation",e={horizontalNavigation:{main:"core/layouts/dashboard/dashboard.html",toolbar:"core/toolbar/layouts/horizontal-navigation/toolbar.html",navigation:"core/navigation/layouts/horizontal-navigation/navigation.html"},contentOnly:{main:"core/layouts/content-only.html",toolbar:"",navigation:""},contentWithToolbar:{main:"core/layouts/content-with-toolbar.html",toolbar:"toolbar/layouts/content-with-toolbar/toolbar.html",navigation:""}};a.state("app",{abstract:!0,views:{"main@":{templateUrl:e[d].main,controller:"MainController as vm"},"toolbar@app":{templateUrl:e[d].toolbar,controller:"ToolbarController as vm"},"navigation@app":{templateUrl:e[d].navigation,controller:"NavigationController as vm"}}})}angular.module("ice").config(a),a.$inject=["$stateProvider","$urlRouterProvider","$locationProvider"]}(),function(){"use strict";function a(a,b,c,d){if(-1!=navigator.userAgent.indexOf("Safari")&&-1==navigator.userAgent.indexOf("Chrome"))d.debug("Smooth Scroll Off (Safari).");else try{$("#content-israel").niceScroll({zindex:2e4,scrollspeed:60,mousescrollstep:60,cursorborderradius:"10px",cursorborder:"1px solid rgba(255, 255, 255, 0.4)",cursorcolor:"rgba(0, 0, 0, 0.6)",cursorwidth:"10px"})}catch(a){d.debug("Smooth Scroll Off.")}}angular.module("ice").controller("AppController",["$state","$timeout","$rootScope","$log",a])}(),function(){"use strict";function a(a,b,c,d,e,f,g,h){var i="LastDocumentationPageId",j=function(){var a=b.getToast();a&&!a.sticky&&b.clearToast()},k=function(a){a&&a.name&&"app.documentation.page"!==a.name&&"app.documentation"!==a.name&&c.delete(i)},l=function(){g.i18next&&(g.i18next.use(g.i18nextXHRBackend),g.i18next.init({debug:!1,lng:"en",fallbackLng:"en",backend:{loadPath:"locales/{{lng}}/{{ns}}.json"},useCookie:!1,useLocalStorage:!1},function(a,b){a&&h.error(a)}))};!function(){a.user={},a.ice={},a.ice.loader={},a.state=d,a.baseURL=f.apiBase,l();var b=a.$on("$stateChangeStart",function(a,b,c,d,e){j(),k(b)}),c=a.$on("$stateChangeSuccess",function(){});a.$on("$destroy",function(){b(),c()}),e.set("configuration",{urls:{auth:{login:a.baseURL+"login/@t",register:a.baseURL+"signup",addVfs:a.baseURL+"vf/",getCompanies:a.baseURL+"vendors",resendActivationMail:a.baseURL+"users/activation-mail/@user_uuid",addVendorContact:a.baseURL+"add-contact",single_engagement:a.baseURL+"single-engagement/@engagementUuid",engagements:a.baseURL+"engagement",inviteMembers:a.baseURL+"invite-team-members",activities:a.baseURL+"engagement/@engagementUuid/activities/",updateDaysLeft:a.baseURL+"engagements/@engagementUuid/target_date",updateLabEntryDaysLeft:a.baseURL+"engagements/@engagementUuid/target_lab_date",setSSHKey:a.baseURL+"users/ssh",getIceUser:a.baseURL+"users",getRGWASecret:a.baseURL+"users/account/rgwa/",account:a.baseURL+"users/account",updatePassword:a.baseURL+"users/pwd/",sendResetPwdInstructions:a.baseURL+"users/pwd/reset-instructions/"},notifications:{getNotifications:a.baseURL+"notifications/num",resetNotificationNum:a.baseURL+"notifications/reset",notificationsDelete:a.baseURL+"notifications/@uuid",getNotificationsDescription:a.baseURL+"notifications/@userUuid/@offset/@limit"},steps:{get:a.baseURL+"engagements/@engagement/nextsteps/@progress",add:a.baseURL+"engagements/@engagement/nextsteps",edit:a.baseURL+"nextsteps/@stepUuid/engagement/@engUuid",order_next_steps:a.baseURL+"engagements/@engUuid/nextsteps/order_next_steps",update:a.baseURL+"nextsteps/@stepUuid/state",delete:a.baseURL+"nextsteps/@stepUuid",createChecklistNextStep:a.baseURL+"engagement/@engUuid/checklist/@checkListUuid/nextstep/",createNextStep:a.baseURL+"eng/@engUuid/nextstep/",getByUser:a.baseURL+"engagements/user/nextsteps/"},vf:{updateVfs:{put:a.baseURL+"vf/@vf_uuid/validation-details/"},deployment_target:{getDeployTargets:a.baseURL+"deployment-targets",updateDeployTargets:a.baseURL+"engagement/@engagementUuid//deployment-targets/@deployment_target_uuid"},ecomp:{getECOMPReleases:a.baseURL+"ecomp-releases",updateECOMPReleases:a.baseURL+"engagement/@engagementUuid/ecomp-releases/@ecomp_uuid"},version:{getVFVersion:a.baseURL+"vf/@vfUuid/vf-version/"}},vfcs:{add:a.baseURL+"vfcs/",get:a.baseURL+"vf/@vfUuid/vfcs/",delete:a.baseURL+"vf/@vfUuid/vfcs/@vfcUuid"},status:{get:a.baseURL+"engagements/@engagement/status",add:a.baseURL+"engagements/@engagement/status",update:a.baseURL+"engagements/@engagement/status"},feedback:{add:a.baseURL+"add-feedback"},dtsite:{get:a.baseURL+"dtsites/",getVFSites:a.baseURL+"vf/@vfUuid/dtsites/",add:a.baseURL+"dtsites/",delete:a.baseURL+"vf/@vfUuid/dtsites/@dtsUuid"},checklist:{state:{put:a.baseURL+"checklist/@cl_uuid/state/"},createChecklist:a.baseURL+"engagement/@engUuid/checklist/new/",getDataForChecklist:a.baseURL+"engagement/@engUuid/checklist/new/",getChecklist:a.baseURL+"checklist/@checklistUuid",putDataForChecklist:a.baseURL+"checklist/@checklist_uuid",checklistDecision:a.baseURL+"checklist/decision/@decisionUuid",createAuditlogChecklist:a.baseURL+"checklist/@checklist_uuid/auditlog/",createAuditlogDecisionChecklist:a.baseURL+"checklist/decision/@decision_uuid/auditlog/",getChecklistTemplates:a.baseURL+"checklist/templates/",getChecklistTemplate:a.baseURL+"checklist/template/@templateUuid",saveChecklistTemplate:a.baseURL+"checklist/template/"},engagement:{put:a.baseURL+"engagements/@engagementUuid/",updateProgress:a.baseURL+"engagements/@engagementUuid/progress",setStage:a.baseURL+"single-engagement/@engagementUuid/stage/@stage",starred_engagement:{put:a.baseURL+"engagements/starred_eng/",get:a.baseURL+"engagements/starred_eng/"},recent_engagement:{get:a.baseURL+"engagements/recent_eng/"},engagement_team:{put:a.baseURL+"engagements/engagement-team/"},engagementsExpanded:a.baseURL+"engagement/expanded/",exportEngagementsCSV:a.baseURL+"engagement/export/?stage=@stage&keyword=@keyword",reviewer:{put:a.baseURL+"engagements/@engagementUuid/reviewer/"},peerreviewer:{put:a.baseURL+"engagements/@engagementUuid/peerreviewer/"},switchReviewers:{put:a.baseURL+"engagements/@engagementUuid/switch-reviewers/"},archive:{put:a.baseURL+"engagements/@engagementUuid/archive/"}},welcome:{welcome:a.baseURL+"welcome/"},cms:{posts:{get:a.baseURL+"cms/posts/?limit=@limit&offset=@offset&fromLastDays=@fromLastDays&category=@category"},pages:{get:a.baseURL+"cms/pages/?title=@title",getById:a.baseURL+"cms/pages/@id/",search:a.baseURL+"cms/pages/search/?keyword=@keyword"}},users:{engagementleads:{get:a.baseURL+"users/engagementleads/"},activate:a.baseURL+"users/activate/@userid/@token"}}})}()}angular.module("ice").run(a),a.$inject=["$rootScope","toastService","sessionStorageService","$state","cacheService","ENV","$window","$log"]}(),angular.module("ice.interceptors.http",[]).factory("httpRequestInterceptor",["$injector","$rootScope",function(a,b){return{request:function(c){if(-1!==c.url.indexOf(b.baseURL)){c.headers=c.headers||{};var d=a.get("usersService").getUserData(function(){});d&&!c.skipAuth&&(c.headers.Authorization="token "+d.jwtToken)}return c}}}]).factory("httpResponseInterceptor",["$rootScope",function(a){return{response:function(a){return a}}}]).factory("httpRequestErrorInterceptor",["$q",function(a){return{requestError:function(a){return a}}}]).factory("httpResponseErrorInterceptor",["$q","$rootScope","$injector","toastService",function(a,b,c,d){return{responseError:function(b){var e=c.get("$state");switch(b.status){case 401:d.setToast(b.statusText,"danger");break;case 403:e.go("app.login")}return a.reject(b)}}}]),function(){"use strict";angular.module("ice.services.cacheService",[]).service("cacheService",function(){var a={};this.get=function(b){return a[b]},this.delete=function(b){return a[b]=void 0},this.deleteAll=function(){return a={}},this.set=function(b,c){void 0===a[b]?a[b]=c:a[b]=$.extend({},c,a[b])},this.toString=function(){return a}}).factory("pageService",function(){var a="";return{getPage:function(){return a},setPage:function(b){a=b}}})}(),function(){"use strict";function a(a,b,c,d,e,f,g,h,i){var j=c.get("configuration").urls,k="user",l=g.getJson(k);this.isEngagementEL=function(a){return void 0!=h.find(a,{uuid:l.uuid})&&!(!l||l.role.name!==d.roles.el)},this.isUserInRole=function(a){return l&&l.role&&l.role.name===a},this.isReviewer=function(a,b){return a&&b&&a.uuid==b},this.isPeerReviewer=function(a,b){return a&&b&&a.uuid==b},this.isAdmin=function(a){return a&&a.role&&a.role.name===d.roles.admin},this.updatePassword=function(c,d){var e=b.defer();return a.put(j.auth.updatePassword,d).success(function(a,b,c,d){e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise},this.sendResetPwdInstructions=function(c){var d=b.defer();return a.post(j.auth.sendResetPwdInstructions,c).success(function(a,b,c,e){d.resolve({data:a,status:b})}).error(function(a,b,c,e){d.reject({message:a,status:b})}),d.promise},this.login=function(c,d){var e=b.defer();return a.post(j.auth.login.replace("/@t",d),c).success(function(a,b,c,d){l=a,delete l.password,l.jwtToken=a.token,g.setJson(k,l),e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise},this.register=function(c){var d=b.defer();return a.post(j.auth.register,c).success(function(a,b,c,e){l=a,l.jwtToken=a.token,g.setJson(k,l),d.resolve({data:a,status:b})}).error(function(a,b,c,e){d.reject({message:a,status:b})}),d.promise},this.addVendorContact=function(c){var d=b.defer();return a.post(j.auth.addVendorContact,c).success(function(a,b,c,e){d.resolve({data:a,status:b})}).error(function(a,b,c,e){d.reject({message:a,status:b})}),d.promise},this.resendActivationMail=function(c){var d=b.defer();return a.get(j.auth.resendActivationMail.replace("@user_uuid",c),{skipAuth:!0}).success(function(a,b,c,e){d.resolve({data:a,status:b})}).error(function(a,b,c,e){d.reject({message:a,status:b})}),d.promise},this.getNotifications=function(c){var d=b.defer();return a.get(j.notifications.getNotifications).success(function(a,b,c,e){d.resolve({data:a,status:b})}).error(function(a,b,c,e){d.reject({message:a,status:b})}),d.promise},this.resetNotificationNum=function(c){var d=b.defer();return a.put(j.notifications.resetNotificationNum).success(function(a,b,c,e){d.resolve({data:a,status:b})}).error(function(a,b,c,e){d.reject({message:a,status:b})}),d.promise},this.notificationsDelete=function(c){var d=b.defer();return a.delete(j.notifications.notificationsDelete.replace("@uuid",c)).success(function(a,b,c,e){d.resolve({data:a,status:b})}).error(function(a,b,c,e){d.reject({message:a,status:b})}),d.promise},this.getNotificationsDescription=function(c,d,e){var f=b.defer();return a.get(j.notifications.getNotificationsDescription.replace("@userUuid",c).replace("@offset",d).replace("@limit",e)).success(function(a,b,c,d){f.resolve({data:a,status:b})}).error(function(a,b,c,d){f.reject({message:a,status:b})}),f.promise},this.getIceUser=function(){var c=b.defer();return a.get(j.auth.getIceUser).success(function(a,b,d,e){c.resolve({data:a,status:b})}).error(function(a,b,d,e){c.reject({message:a,status:b})}),c.promise},this.updateAccount=function(c,d){var e=b.defer();return a.put(j.auth.account,d).success(function(a,b,c,d){var f=l.jwtToken;l=a,l.jwtToken=f,g.setJson(k,l),e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise},this.setSSHKey=function(c,d){var e=b.defer();return a.post(j.auth.setSSHKey,d).success(function(a,b,c,d){e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise},this.getUserData=function(a){return l||(a?(i.debug("There is no user data, will invoke callback pass as argument."),a()):(i.debug("There is no user data, will be redirected into /login page."),f.go("app.login"))),l},this.resetUserData=function(){i.debug("Clearing user from cache..."),l=void 0,g.delete(k),e.setJson("ice.settings.view_type",void 0),e.setJson("ice.settings.eng_uuid",void 0),e.setJson("ice.settings.sub_id",void 0)},this.setUserActivationSuccess=function(a){l&&(l.activationSuccess=a,g.setJson(k,l))},this.getEngagementLeads=function(){var c=b.defer(),d=this.getUserData();return this.isAdmin(d)?a.get(j.users.engagementleads.get).success(function(a,b,d,e){c.resolve({data:a,status:b})}).error(function(a,b,d,e){c.reject({message:a,status:b})}):c.reject("Just admin allowed to get engagement leads list."),c.promise},this.activateUser=function(c,d){var e=b.defer();return a.get(j.users.activate.replace("@userid",c).replace("@token",d),{skipAuth:!0}).success(function(a,b,c,d){e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise},this.getRGWASecret=function(){var c=b.defer();return a.get(j.auth.getRGWASecret).success(function(a,b,d,e){c.resolve({data:a,status:b})}).error(function(a,b,d,e){c.reject({message:a,status:b})}),c.promise}}angular.module("ice.services.users",[]).service("usersService",["$http","$q","cacheService","iceConstants","localStorageService","$state","sessionStorageService","_","$log",a])}(),function(){"use strict";angular.module("ice.services.vf",[]).service("vfService",["$http","$q","cacheService",function(a,b,c){var d=c.get("configuration").urls;this.addVfs=function(c){var e=b.defer();return a.post(d.auth.addVfs,c).success(function(a,b,c,d){e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise},this.updateVfs=function(c,e){var f=b.defer();return a.put(d.vf.updateVfs.put.replace("@vf_uuid",e),c).success(function(a,b,c,d){f.resolve({data:a,status:b})}).error(function(a,b,c,d){f.reject({message:a,status:b})}),f.promise},this.inviteMembers=function(c){var e=b.defer();return a.post(d.auth.inviteMembers,c).success(function(a,b,c,d){e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise},this.getCompanies=function(){var c=b.defer();return a.get(d.auth.getCompanies).success(function(a,b,d,e){c.resolve({data:a,status:b})}).error(function(a,b,d,e){c.reject({message:a,status:b})}),c.promise},this.getDeployTargets=function(){var c=b.defer();return a.get(d.vf.deployment_target.getDeployTargets).success(function(a,b,d,e){c.resolve({data:a,status:b})}).error(function(a,b,d,e){c.reject({message:a,status:b})}),c.promise},this.getECOMPReleases=function(){var c=b.defer();return a.get(d.vf.ecomp.getECOMPReleases).success(function(a,b,d,e){c.resolve({data:a,status:b})}).error(function(a,b,d,e){c.reject({message:a,status:b})}),c.promise},this.getVFVersion=function(c){var e=b.defer();return a.get(d.vf.version.getVFVersion.replace("@vfUuid",c)).success(function(a,b,c,d){e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise},this.getEngagements=function(c){var e=b.defer();return a.get(d.auth.engagements).success(function(a,b,c,d){e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise},this.getExpandedEngagements=function(c){var e=b.defer();return a.post(d.engagement.engagementsExpanded,c).success(function(a,b,c,d){e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise},this.getSingleEngagement=function(c,e){var f=b.defer();return a.get(d.auth.single_engagement.replace("@engagementUuid",e)).success(function(a,b,c,d){f.resolve({data:a,status:b})}).error(function(a,b,c,d){f.reject({message:a,status:b})}),f.promise},this.getStarredEngagements=function(){var c=b.defer();return a.get(d.engagement.starred_engagement.get).success(function(a,b,d,e){c.resolve({data:a,status:b})}).error(function(a,b,d,e){c.reject({message:a,status:b})}),c.promise},this.putStarredEngagements=function(c){var e=b.defer(),f={};return f.engagement_uuid=c,a.put(d.engagement.starred_engagement.put,f).success(function(a,b,c,d){e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise},this.getRecentEngagements=function(){var c=b.defer();return a.get(d.engagement.recent_engagement.get).success(function(a,b,d,e){c.resolve({data:a,status:b})}).error(function(a,b,d,e){c.reject({message:a,status:b})}),c.promise},this.getActivities=function(c){var e=b.defer();return a.get(d.auth.activities.replace("@engagementUuid",c)).success(function(a,b,c,d){e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise},this.updateProgress=function(c,e){var f=b.defer();return a.put(d.engagement.updateProgress.replace("@engagementUuid",c),e).success(function(a,b,c,d){f.resolve({data:a,status:b})}).error(function(a,b,c,d){f.reject({message:a,status:b})}),f.promise},this.updateDeployTargets=function(c,e){var f=b.defer();return a.put(d.vf.deployment_target.updateDeployTargets.replace("@engagementUuid",c).replace("@deployment_target_uuid",e)).success(function(a,b,c,d){f.resolve({data:a,status:b})}).error(function(a,b,c,d){f.reject({message:a,status:b})}),f.promise},this.updateECOMPReleases=function(c,e){var f=b.defer();return a.put(d.vf.ecomp.updateECOMPReleases.replace("@engagementUuid",c).replace("@ecomp_uuid",e)).success(function(a,b,c,d){f.resolve({data:a,status:b})}).error(function(a,b,c,d){f.reject({message:a,status:b})}),f.promise},this.updateDaysLeft=function(c,e){var f=b.defer();return a.post(d.auth.updateDaysLeft.replace("@engagementUuid",c),e).success(function(a,b,c,d){f.resolve({data:a,status:b})}).error(function(a,b,c,d){f.reject({message:a,status:b})}),f.promise},this.updateLabEntryDaysLeft=function(c,e){var f=b.defer();return a.post(d.auth.updateLabEntryDaysLeft.replace("@engagementUuid",c),e).success(function(a,b,c,d){f.resolve({data:a,status:b})}).error(function(a,b,c,d){f.reject({message:a,status:b})}),f.promise},this.set_engagement_stage=function(c,e){var f=b.defer();return a.put(d.engagement.setStage.replace("@engagementUuid",c).replace("@stage",e)).success(function(a,b,c,d){f.resolve({data:a,status:b})}).error(function(a,b,c,d){f.reject({message:a,status:b})}),f.promise},this.exportEngagementsCSV=function(c,e){var f=b.defer();return null==c||null==e?f.reject("Invalid arguments on engagements export csv."):a({method:"GET",url:d.engagement.exportEngagementsCSV.replace("@stage",c).replace("@keyword",e),headers:{"Content-Type":"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"},responseType:"arraybuffer"}).success(function(a,b,c,d){f.resolve({data:a,status:b})}).error(function(a,b,c,d){f.reject({message:a,status:b})}),f.promise},this.archiveEngagement=function(c,e){var f=b.defer(),g={reason:e};return a.put(d.engagement.archive.put.replace("@engagementUuid",c),g).success(function(a,b,c,d){f.resolve()}).error(function(a,b,c,d){f.reject({message:a,status:b})}),f.promise},this.updateEngagementReviewer=function(c,e){var f=b.defer(),g={reviewer:e};return a.put(d.engagement.reviewer.put.replace("@engagementUuid",c),g).success(function(a,b,c,d){f.resolve({data:a,status:b})}).error(function(a,b,c,d){f.reject({message:a,status:b})}),f.promise},this.updateEngagementPeerReviewer=function(c,e){var f=b.defer(),g={peerreviewer:e};return a.put(d.engagement.peerreviewer.put.replace("@engagementUuid",c),g).success(function(a,b,c,d){f.resolve({data:a,status:b})}).error(function(a,b,c,d){f.reject({message:a,status:b})}),f.promise},this.switchEngagementReviewers=function(c,e,f){var g=b.defer(),h={reviewer:e,peerreviewer:f};return a.put(d.engagement.switchReviewers.put.replace("@engagementUuid",c),h).success(function(a,b,c,d){g.resolve({data:a,status:b})}).error(function(a,b,c,d){g.reject({message:a,status:b})}),g.promise},this.updateEngagement=function(c,e){var f=b.defer(),g={engagement:c,status:e};return a.put(d.engagement.put.replace("@engagementUuid",c.uuid),g).success(function(a,b,c,d){f.resolve({data:a,status:b})}).error(function(a,b,c,d){f.reject({message:a,status:b})}),f.promise},this.remove_user_from_eng=function(c){var e=b.defer();return null==c?e.reject("Invalid arguments on remove_user_from_eng."):a.put(d.engagement.engagement_team.put,c).success(function(a,b,c,d){e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise}}])}(),function(){"use strict";angular.module("ice.services.vfc",[]).service("vfcService",["$http","$q","cacheService",function(a,b,c){var d=c.get("configuration").urls;this.get=function(c){var e=b.defer();return a.get(d.vfcs.get.replace("@vfUuid",c)).success(function(a,b,c,d){e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise},this.delete=function(c,e){var f=b.defer();return a.delete(d.vfcs.delete.replace("@vfUuid",e).replace("@vfcUuid",c)).success(function(a,b,c,d){f.resolve({data:a,status:b})}).error(function(a,b,c,d){f.reject({message:a,status:b})}),f.promise},this.add=function(c){var e=b.defer();return a.post(d.vfcs.add,c).success(function(a,b,c,d){e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise},this.getCompanies=function(){var c=b.defer();return a.get(d.auth.getCompanies).success(function(a,b,d,e){c.resolve({data:a,status:b})}).error(function(a,b,d,e){c.reject({message:a,status:b})}),c.promise}}])}(),angular.module("ice.services.localStorage",[]).service("localStorageService",["$window",function(a){this.setJson=function(b,c){return a.localStorage&&a.localStorage.setItem(b,JSON.stringify(c)),this},this.getJson=function(b){var c,d=a.localStorage&&a.localStorage.getItem(b);try{c=d?JSON.parse(d):void 0}catch(a){}return c},this.delete=function(b){return a.localStorage&&a.localStorage.removeItem(b)}}]),function(){"use strict";angular.module("ice.services.steps",[]).service("stepsService",["$http","$q","cacheService",function(a,b,c){var d=c.get("configuration").urls;this.getByUser=function(){var c=b.defer();return a.get(d.steps.getByUser).success(function(a,b,d,e){c.resolve({data:a,status:b})}).error(function(a,b,d,e){c.reject({message:a,status:b})}),c.promise},this.get=function(c,e){var f=b.defer();return a.get(d.steps.get.replace("@engagement",c).replace("@progress",e)).success(function(a,b,c,d){f.resolve({data:a,status:b})}).error(function(a,b,c,d){f.reject({message:a,status:b})}),f.promise},this.update=function(c,e){var f=b.defer();return a.put(d.steps.update.replace("@stepUuid",c),e).success(function(a,b,c,d){f.resolve({data:a,status:b})}).error(function(a,b,c,d){f.reject({message:a,status:b})}),f.promise},this.delete=function(c){var e=b.defer();return a.delete(d.steps.delete.replace("@stepUuid",c)).success(function(a,b,c,d){e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise},this.add=function(c,e){var f=b.defer();return a.post(d.steps.add.replace("@engagement",c),e).success(function(a,b,c,d){f.resolve({data:a,status:b})}).error(function(a,b,c,d){f.reject({message:a,status:b})}),f.promise},this.edit=function(c,e,f){var g=b.defer();return a.put(d.steps.edit.replace("@stepUuid",e).replace("@engUuid",c),f).success(function(a,b,c,d){g.resolve({data:a,status:b})}).error(function(a,b,c,d){g.reject({message:a,status:b})}),g.promise},this.order_next_steps=function(c,e){var f=b.defer();return a.put(d.steps.order_next_steps.replace("@engUuid",c),e).success(function(a,b,c,d){f.resolve({data:a,status:b})}).error(function(a,b,c,d){f.reject({message:a,status:b})}),f.promise},this.createNextStep=function(c,e,f){var g=b.defer();return a.post(d.steps.createNextStep.replace("@engUuid",e),f).success(function(a,b,c,d){g.resolve({data:a,status:b})}).error(function(a,b,c,d){g.reject({message:a,status:b})}),g.promise},this.createChecklistNextStep=function(c,e,f){var g=b.defer();return a.post(d.steps.createChecklistNextStep.replace("@checkListUuid",c).replace("@engUuid",e),f).success(function(a,b,c,d){g.resolve({data:a,status:b})}).error(function(a,b,c,d){g.reject({message:a,status:b})}),g.promise}}])}(),function(){"use strict";angular.module("ice.services.dtsite",[]).service("dtsiteService",["$http","$q","cacheService",function(a,b,c){var d=c.get("configuration").urls;this.getVFSites=function(c){var e=b.defer();return a.get(d.dtsite.getVFSites.replace("@vfUuid",c)).success(function(a,b,c,d){e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise},this.get=function(){var c=b.defer();return a.get(d.dtsite.get).success(function(a,b,d,e){c.resolve({data:a,status:b})}).error(function(a,b,d,e){c.reject({message:a,status:b})}),c.promise},this.delete=function(c,e){var f=b.defer();return a.delete(d.dtsite.delete.replace("@vfUuid",c).replace("@dtsUuid",e)).success(function(a,b,c,d){f.resolve({data:a,status:b})}).error(function(a,b,c,d){f.reject({message:a,status:b})}),f.promise},this.add=function(c){var e=b.defer();return a.post(d.dtsite.add,c).success(function(a,b,c,d){e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise}}])}(),function(){"use strict";var a;angular.module("ice.services.checklist",[]).factory("checklistService",["$rootScope","$http","$q","cacheService","$log",function(b,c,d,e,f){var g=e.get("configuration").urls;return this.setState=function(a,b){var e=d.defer();return c.put(g.checklist.state.put.replace("@cl_uuid",a),b).success(function(a,b,c,d){e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise},this.createChecklist=function(a,b){var e=d.defer();return c.post(g.checklist.createChecklist.replace("@engUuid",a),b).success(function(a,b,c,d){e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise},this.getDataForCreateChecklist=function(a){var b=d.defer();return c.get(g.checklist.getDataForChecklist.replace("@engUuid",a)).success(function(a,c,d,e){b.resolve({data:a,status:c})}).error(function(a,c,d,e){b.reject({message:a,status:c})}),b.promise},this.getChecklist=function(a){var b=d.defer();return c.get(g.checklist.getChecklist.replace("@checklistUuid",a)).success(function(a,c,d,e){b.resolve({data:a,status:c})}).error(function(a,c,d,e){b.reject({message:a,status:c})}),b.promise},this.putDataForChecklist=function(a,b){var e=d.defer();return c.put(g.checklist.putDataForChecklist.replace("@checklist_uuid",a),b).success(function(a,b,c,d){e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise},this.putChecklistDecision=function(a,b){var e=d.defer();return c.put(g.checklist.checklistDecision.replace("@decisionUuid",a),b).success(function(a,b,c,d){e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise},this.createAuditlogChecklist=function(a,b){var e=d.defer();return c.post(g.checklist.createAuditlogChecklist.replace("@checklist_uuid",a),b).success(function(a,b,c,d){e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise},this.createAuditlogDecisionChecklist=function(a,b){var e=d.defer();return c.post(g.checklist.createAuditlogDecisionChecklist.replace("@decision_uuid",a),b).success(function(a,b,c,d){e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise},this.setChecklistExitEntity=function(b){a=b,f.debug("set checklist")},this.callChecklistExit=function(b){if(void 0!=a&&"checklist"==b){var c="set_state";angular.forEach(a.data.checklistDecisions,function(a,b){angular.forEach(a.decisions,function(a,b){("approved"!=a.view_value&&"not_relevant"!=a.view_value||""==a.view_value)&&(c="next_step")})}),"next_step"==c?this.openNextSteps():"set_state"==c&&this.openSetState()}},this.getChecklistTemplates=function(){var a=d.defer();return c.get(g.checklist.getChecklistTemplates).success(function(b,c,d,e){a.resolve({data:b,status:c})}).error(function(b,c,d,e){a.reject({message:b,status:c})}),a.promise},this.getChecklistTemplate=function(a){var b=d.defer();return c.get(g.checklist.getChecklistTemplate.replace("@templateUuid",a)).success(function(a,c,d,e){b.resolve({data:a,status:c})}).error(function(a,c,d,e){b.reject({message:a,status:c})}),b.promise},this.saveChecklistTemplate=function(a){var b=d.defer();return c.put(g.checklist.saveChecklistTemplate,a).success(function(a,c,d,e){b.resolve({data:a,status:c})}).error(function(a,c,d,e){b.reject({message:a,status:c})}),b.promise},this}])}(),function(){"use strict";angular.module("ice.services.status",[]).service("statusService",["$http","$q","cacheService",function(a,b,c){var d=c.get("configuration").urls;this.get=function(c){var e=b.defer();return a.get(d.status.get.replace("@engagement",c)).success(function(a,b,c,d){e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise},this.update=function(c,e){var f=b.defer();return a.put(d.status.update.replace("@engagement",c),e).success(function(a,b,c,d){f.resolve({data:a,status:b})}).error(function(a,b,c,d){f.reject({message:a,status:b})}),f.promise},this.add=function(c,e){var f=b.defer();return a.post(d.status.update.replace("@engagement",c),e).success(function(a,b,c,d){f.resolve({data:a,status:b})}).error(function(a,b,c,d){f.reject({message:a,status:b})}),f.promise}}])}(),function(){"use strict";angular.module("ice.services.feedback",[]).service("feedbackService",["$http","$q","cacheService",function(a,b,c){var d=c.get("configuration").urls;this.add=function(c){var e=b.defer();return a.post(d.feedback.add.replace(),c).success(function(a,b,c,d){e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise}}])}(),function(){"use strict";angular.module("ice.services.toast",[]).service("toastService",["$rootScope",function(a){var b,c,d,e,f=!1,g="all";return{setToast:function(h,i,j){if(h&&void 0!=h.detail&&(h=h.detail),!h||!i)throw"You must provide both message an type in order to set new message toast";b=h,c=i,d=!(!j||!j.sticky)&&j.sticky,e=j&&j.readMoreCallback?j.readMoreCallback:void 0,g=j&&j.displayFor?j.displayFor:"all",f=!0,a.showToast=!0},clearToast:function(){ -b=void 0,c=void 0,f=!1,g="all",a.showToast=!1},getToast:function(){return{message:b,type:c,show:f,sticky:d,readMore:e,displayFor:g}}}}])}(),function(){"use strict";function a(a,b,c,d,e,f,g){var h,i=c.get("configuration").urls,j="lastAnnouncement";this.getPosts=function(c,d,e){var f=b.defer(),g=e&&e instanceof Array?e.join():"";return a.get(i.cms.posts.get.replace("@limit",c).replace("@offset",0).replace("@fromLastDays",d).replace("@category",g)).success(function(a,b,c,d){f.resolve({data:a,status:b})}).error(function(a,b,c,d){f.reject({message:a,status:b})}),f.promise},this.getLastAnnouncementPost=function(){var c=b.defer();return a.get(i.cms.posts.get.replace("@limit",1).replace("@offset",0).replace("@fromLastDays","").replace("@category","Announcement")).success(function(a,b,d,e){c.resolve({data:a,status:b})}).error(function(a,b,d,e){c.reject({message:a,status:b})}),c.promise},this.setAnnouncementToast=function(){var a=function(){e.open({templateUrl:"main/modals/cms-post-modal/cms-post-modal.html",controller:"cmsPostModalController",controllerAs:"vm",size:"cms-post-read-more",resolve:{post:function(){}}})};this.getLastAnnouncementPost().then(function(b){if(b&&b.data&&1===b.data.length){var c=d.getJson(j);if(!c||c.id!=b.data[0].id||!c.closed){d.setJson(j,{id:b.data[0].id,closed:!1});var e="Important announcement: "+b.data[0].title+".";h={message:e,readMore:a,type:"warning",show:!0,displayFor:"all",publishDate:b.data[0].publish_date},f.showAnnouncement=!f.showAnnouncement}}}).catch(function(a){g.error(a)})},this.getAnnouncement=function(){return h},this.getPages=function(c){var d=b.defer();return c||(c=""),a.get(i.cms.pages.get.replace("@title",c)).success(function(a,b,c,e){d.resolve({data:a,status:b})}).error(function(a,b,c,e){d.reject({message:a,status:b})}),d.promise},this.getPage=function(c){var d=b.defer();return a.get(i.cms.pages.getById.replace("@id",c)).success(function(a,b,c,e){d.resolve({data:a,status:b})}).error(function(a,b,c,e){d.reject({message:a,status:b})}),d.promise},this.searchPages=function(c){var d=b.defer();return a.get(i.cms.pages.search.replace("@keyword",c)).success(function(a,b,c,e){d.resolve({data:a,status:b})}).error(function(a,b,c,e){d.reject({message:a,status:b})}),d.promise}}angular.module("ice.services.cms",[]).service("cmsService",["$http","$q","cacheService","localStorageService","$uibModal","$rootScope","$log",a])}(),function(){"use strict";function a(a){this.setJson=function(b,c){return a.sessionStorage&&a.sessionStorage.setItem(b,JSON.stringify(c)),this},this.getJson=function(b){var c,d=a.sessionStorage&&a.sessionStorage.getItem(b);try{c=d?JSON.parse(d):void 0}catch(a){}return c},this.delete=function(b){return a.sessionStorage&&a.sessionStorage.removeItem(b)}}angular.module("ice.services.sessionStorage",[]).service("sessionStorageService",["$window",a])}(),function(){"use strict";function a(a,b,c,d,e){var f={};return f.restrict="E",f.templateUrl="directives/step-stages/step-stages.html",f.scope={stage:"=stage",stage_num:"=stageNum",eng_uuid:"@engUuid",team:"=team",eng_name:"@engName",initactivitylogs:"&"},f.controller=["$scope","vfService","$log",function(b,c,d){b.set_engagement_stage=function(f,g){e.open({templateUrl:"main/modals/set-eng-stage/set-eng-stage-modal.html",controller:"setEngStageModalController",controllerAs:"vm",resolve:{stage:function(){return g},eng_name:function(){return b.eng_name},current_stage:function(){return b.stage}}}).result.then(function(e){e&&c.set_engagement_stage(f.eng_uuid,g).then(function(c){if(202!==c.status)return!1;switch(f.stage=g,g){case"Intake":f.stage_num=1;break;case"Active":f.stage_num=2;break;case"Validated":f.stage_num=3;break;case"Completed":f.stage_num=4}a.$broadcast("onUpdateNextSteps",{stage:f.stage,eng_uuid:f.eng_uuid}),b.initactivitylogs()}).catch(function(a){d.error(a)})})},b.hover_design=function(a,c){b.temp_num=c,b.hover=a}}],f.link=function(a,c,e){a.hover=!1,a.temp_num=0,a.priviliged=!1,a.const=b.stages,a.loaded=!1,a.user=d.getUserData(),a.$watchGroup(["user","team"],function(a,b,c){a[0]&&a[1]&&(c.loaded||((d.isEngagementEL(c.team)||d.isAdmin(c.user))&&(c.priviliged=!0),c.loaded=!0))}),a.hover_actions=function(b,c){a.priviliged&&a.hover_design(b,c)},a.set_stage=function(b){if(a.priviliged){if(a.stage===b)return void $log.debug("Same stage was chosen, request ignored.");a.set_engagement_stage(a,b)}}},f}angular.module("ice.directives",[]).directive("stepStagesDirective",a),a.$inject=["$rootScope","iceConstants","localStorageService","usersService","$uibModal"]}(),function(){"use strict";function a(a,b,c,d){var e={};return e.restrict="E",e.templateUrl="directives/progress/progress.html",e.scope={progress:"@progress",data:"=data",callback:"=callback",statuses:"@statuses",enable_refresh:"@enableRefresh"},e.link=function(e,f,g){var h=function(){e.statuses||(e.statuses=!1),i(),j()},i=function(){var a=moment(),b=moment(e.data.completion_date),c=Math.ceil(b.diff(a,"days",!0));c<0&&(c=0),e.daysLeft=c},j=function(){e.$watch("data.completion_date",function(a,b){a!==b&&i()}),e.$watch("data.heat_validated_time",function(a,b){a!==b&&k()}),e.$watch("data.vnf_version",function(a,b){a!==b&&k()}),e.$watch("data.image_scan_time",function(a,b){a!==b&&k()}),e.$watch("data.aic_instantiation_time",function(a,b){a!==b&&k()}),e.$watch("data.asdc_onboarding_time",function(a,b){a!==b&&k()})},k=function(){e.data&&(e.data.ecomp_release||(e.data.ecomp_release="-"),e.data.aic_version||(e.data.aic_version="-"),e.data.aic_instantiation_time||(e.data.aic_instantiation_time="-"),e.data.vnf_version||(e.data.vnf_version="-"),e.data.asdc_onboarding_time||(e.data.asdc_onboarding_time="-"),e.data.heat_validated_time||(e.data.heat_validated_time="-"),e.data.image_scan_time||(e.data.image_scan_time="-"))};e.starEngagement=function(){d.putStarredEngagements(e.data.engagement_uuid).then(function(a){b.ice.loader.show=!1,200===a.status&&a.data&&""!==a.data&&(b.$broadcast("onUpdateEngagements",{select:{uuid:e.data.engagement_uuid,page_type:"dashboard",sub_id:void 0,enable_refresh:e.enable_refresh}}),0==e.data.starred?e.data.starred=!0:e.data.starred=!1)}).catch(function(a){b.ice.loader.show=!1,c.error(a)})},e.goToEngagement=function(a){b.$broadcast("searchSelectEngagement",a)},e.changeProgress=function(){a.open({templateUrl:"main/modals/change-progress/change-progress.html",controller:"ChangeProgressModalController",controllerAs:"vm",resolve:{progress:function(){return e.progress},engagementUuid:function(){return e.data.engagement_uuid}}}).result.then(function(a){a&&(e.progress=a.progress||e.progress,a.progress&&e.callback(a))},function(){c.debug("Modal dismissed at: "+new Date)})},h()},e}angular.module("ice.directives").directive("progressDirective",["$uibModal","$rootScope","$log","vfService",a])}(),function(){"use strict";function a(a,b,c,d,e){var f={};return f.restrict="E",f.template="
",f.scope={activity:"="},f.controller=["$scope",function(a){a.addDateStamp=function(a){var c="",d=moment().format("z"),e=moment().format("A"),f=moment().tz(moment.tz.guess()).format("z");return c=-1==a.description.indexOf(" at ")?"."==a.description.substr(a.description.length-1)?a.description.substr(0,a.description.length-1):a.description:a.description.substring(0,a.description.indexOf(" at ")),a.description=c+" at "+b("date")(a.create_time,"yyyy-MM-dd hh:mm:ss",d)+" "+e+" "+f,a},a.addPopover=function(a,b,c,d){var e=""+c+"";a.description=a.description.replaceAll(b,e)},a.addSelectEngagement=function(a,b,c,d){var e="";a.description=a.description.replaceAll(b,e)},a.goToEngagement=function(a){e.setJson("ice.settings.eng_uuid",a),d.path("/dashboard/overview"),d.replace(),c.$broadcast("onUpdateEngagements",{select:{uuid:a,page_type:"overview",sub_id:void 0}})}}],f.link=function(b,c,d,e){var f=b.activity;f.meta_data=JSON.parse(f.metadata),b.addDateStamp(f),angular.forEach(f.meta_data.macros,function(a,c){switch(a.type){case"popover":b.addPopover(f,c,a.short,a.long);break;case"select_engagement":b.addSelectEngagement(f,c,a.short,a.eng_uuid)}});var g=""+b.activity.description+"";c.html(g).show(),a(c.contents())(b)},f}angular.module("ice.directives").directive("notifications",a),String.prototype.replaceAll=function(a,b,c){return this.replace(new RegExp(a.replace(/([\/\,\!\\\^\$\{\}\[\]\(\)\.\*\+\?\|\<\>\-\&])/g,"\\$&"),c?"gi":"g"),"string"==typeof b?b.replace(/\$/g,"$$$$"):b)},a.$inject=["$compile","$filter","$rootScope","$location","localStorageService"]}(),function(){"use strict";function a(a){var b={};return b.restrict="E",b.transclude=!1,b.scope={selector:"@selector"},b.link=function(b,c,d){a.$watch("ice.loader.show",function(a,c){if(!0===a){var d=$(b.selector),f=e(),g=$('
');$("body").append(g),d.addClass("ice-loader-overlay");var h=d.offset();h&&g.css({top:h.top+d.height()/2,left:h.left+d.width()/2,position:"fixed"})}else if(!1===a){var d=$(b.selector);d.removeClass("ice-loader-overlay");var f=e(),g=$("#"+f);g.remove()}},!0);var e=function(){var a=b.selector;return a=a.replace(".",""),"ice-loader-"+(a=a.replace("#",""))}},b}angular.module("ice.directives").directive("iceLoader",a),a.$inject=["$rootScope"]}(),function(){"use strict";function a(a,b){var c={};return c.restrict="E",c.templateUrl="directives/ice-toast/ice-toast.html",c.scope={isModal:"=isModal"},c.link=function(c,d,e){var f=function(){var a=b.getToast();a&&(c.toast=a)};c.closeAlert=function(){b.clearToast()},f(),a.$watch("showToast",function(a,b){f()},!0)},c}angular.module("ice.directives").directive("iceToast",["$rootScope","toastService",a])}(),function(){"use strict";function a(a,b,c){var d={};return d.restrict="E",d.templateUrl="directives/ice-announcement/ice-announcement.html",d.link=function(d,e,f){function g(a){var b=c.getJson(h)||{};b.closed=a,c.setJson(h,b)}var h="lastAnnouncement",i=function(){var a=b.getAnnouncement();if(a){d.toast=a;var c=new Date;c.setDate(c.getDate()-2);new Date(d.toast.publishDate)0){var b=a.data.length,d=Math.floor(Math.random()*b);c.tipContent=a.data[d]}}).catch(function(a){b.error(a)})},c}angular.module("ice.directives").directive("iceToolTip",["cmsService","$log",a])}(),function(){"use strict";function a(a,b,c){var d={};return d.restrict="E",d.templateUrl="directives/ice-news-and-announcement/ice-news-and-announcement.html",d.scope={limit:"=limit",fromLastDays:"=fromLastDays",showDescription:"=showDescription"},d.link=function(d,e,f){var g=d.limit||5,h=d.fromLastDays||"",i=function(){a.getPosts(g,h,["Announcement","News"]).then(function(a){d.cmsPosts=a.data}).catch(function(a){c.error(a)})};d.openCMSReadMoreModal=function(a){a?b.open({templateUrl:"main/modals/cms-post-modal/cms-post-modal.html",controller:"cmsPostModalController",controllerAs:"vm",size:"cms-post-read-more",resolve:{post:function(){return a}}}):c.debug("Cannot open cms post.")},i()},d}angular.module("ice.directives").directive("iceNewsAndAnnouncement",["cmsService","$uibModal","$log",a])}(),function(){"use strict";function a(a){return function(b){return a.trustAsHtml(b)}}angular.module("ice.filters",[]).filter("trusted",["$sce",a])}(),function(){"use strict";function a(a,b,c){return function(a,b){return a.toLowerCase().includes(b.toLowerCase())}}angular.module("ice.filters").filter("doesExists",["$sce","$injector","$log",a])}(),function(){"use strict";function a(){return function(a){return a?a.charAt(0).toUpperCase()+a.substr(1).toLowerCase():""}}angular.module("ice.filters").filter("capitalize",[a])}(),function(){"use strict";function a(a,b){return function(c,d){var e={stage:"All",keyword:d,offset:0,limit:20};return a.getExpandedEngagements(e).then(function(a){if(200===a.status&&a.data&&""!==a.data)return a.data.array}).catch(function(a){$rootScope.ice.loader.show=!1,b.error(a)})}}angular.module("ice.filters").filter("customVFSearchFilter",["vfService","$log",a])}(),function(){"use strict";function a(a){var b=["th","st","nd","rd"];return function(c,d){if(c){var e=a("date")(c,d),f=parseInt(a("date")(c,"dd")),g=f<30?f%20:f%30,h=g<=3?b[g]:b[0];return e.replace("oo",h)}return c}}angular.module("ice.filters").filter("date2",["$filter",a])}(),function(){"use strict";function a(a,b){return function(b){return b=a.replace(b,/\&\;/g,"&"),b=a.replace(b,/\<\;/g,"<"),b=a.replace(b,/\>\;/g,">"),b=a.replace(b,/\"\;/g,'"'),b=a.replace(b,/\\;/g,"'"),b=a.replace(b,/<(\s)*script/g,"_script")}}angular.module("ice.filters").filter("htmlspecialchars",["_","$filter",a])}(),function(){"use strict";function a(a,b){return function(b){return b=a.replace(b,/style=\"font-weight: bold;\"/g,'class="bold"'),b=a.replace(b,/style=\"font-style: italic;\"/g,'class="italic"'),b=a.replace(b,/style=\"text-decoration-line: line-through;\"/g,'class="line-through"'),b=a.replace(b,/style=\"text-decoration-line: underline;\"/g,'class="underline"')}}angular.module("ice.filters").filter("htmlstylespan",["_","$filter",a])}(),function(){"use strict";function a(a){return function(b,c){return a.searchPages(c).then(function(a){return a.data}).catch(function(a){$log.error(a)})}}angular.module("ice.filters").filter("customDocumentationPageSearch",["cmsService",a])}(),function(){"use strict";function a(){}angular.module("ice.toolbar",[]).config(a)}(),function(){"use strict";function a(a,b,c,d,e,f){var g=this;g.notifications=0;var h=c.getUserData();h&&(g.isAdmin=c.isAdmin(h),c.getNotifications(h.uuid).then(function(a){200===a.status&&(g.notifications=a.data.notifications_number?a.data.notifications_number:0)}).catch(function(a){e.error(a)})),g.logout=function(){c.resetUserData(),b.setJson("ice.settings.eng_uuid",void 0),d.go("app.login")},g.addFeedback=function(){f.open({templateUrl:"main/modals/feedback/feedback.html",controller:"FeedbackModalController",controllerAs:"vm",size:"lg",resolve:{action:function(){return"add"}}})},a.$on("eventClearNotifications",function(a,b){g.notifications=0})}angular.module("ice.toolbar").controller("ToolbarController",["$rootScope","localStorageService","usersService","$state","$log","$uibModal",a])}(),function(){"use strict";function a(){}angular.module("ice.navigation",[]).config(a)}(),function(){"use strict";function a(a,b,c,d,e,f,g,h,i,j,k,l,m,n){var o=this;k.selected=void 0,k.states=["Alabama","Alaska","Arizona","Arkansas","California","Colorado","Connecticut","Delaware","Florida","Georgia","Hawaii","Idaho","Illinois","Indiana","Iowa","Kansas","Kentucky","Louisiana","Maine","Maryland","Massachusetts","Michigan","Minnesota","Mississippi","Missouri","Montana","Nebraska","Nevada","New Hampshire","New Jersey","New Mexico","New York","North Dakota","North Carolina","Ohio","Oklahoma","Oregon","Pennsylvania","Rhode Island","South Carolina","South Dakota","Tennessee","Texas","Utah","Vermont","Virginia","Washington","West Virginia","Wisconsin","Wyoming"],o.formatted_engagements={},o.starred_engagements={},o.recent_engagements={},o.showOpenWizardButton=!1;var p=i.getUserData();void 0!=p&&1==p.activationSuccess&&(o.activation_success=!0),o.selectEngagement=function(a,c,e,f){var j=angular.element(l);void 0!=c&&j.width()<992&&$(".navbar-collapse").collapse("hide"),null!=h.params.messagePass&&(m.setToast(h.params.messagePass,"success"),h.params.messagePass),void 0==a&&void 0!=g.getJson("ice.settings.eng_uuid")?a=g.getJson("ice.settings.eng_uuid"):h.go("app.dashboard.dashboard");var n=b.defer();return void 0!=c?o.view_type=c:""!=d.getPage()?o.view_type=d.getPage():void 0!=g.getJson("ice.settings.view_type")?o.view_type=g.getJson("ice.settings.view_type"):o.view_type="overview",void 0!=e?e=e:void 0!=g.getJson("ice.settings.sub_id")&&(e=g.getJson("ice.settings.sub_id")),g.setJson("ice.settings.view_type",o.view_type),g.setJson("ice.settings.sub_id",e),d.setPage(o.view_type),k.$watch(function(){return d.getPage()},function(a,b){a!==b&&(o.view_type=a)}),o.engagement=void 0,angular.forEach(o.recent_engagements,function(b,c){b.uuid===a?(o.engagement=b,o.engagement.selected=!0,o.engagement.page=o.view_type,o.engagement.sub_id=e,o.engagement.view_type=o.view_type):b.selected=void 0;o.recent_engagements[c]=b}),angular.forEach(o.starred_engagements,function(b,c){b.uuid===a?(o.engagement=b,o.engagement.selected=!0,o.engagement.page=o.view_type,o.engagement.sub_id=e,o.engagement.view_type=o.view_type):b.selected=void 0;o.starred_engagements[c]=b}),o.engagement?(g.setJson("ice.settings.eng_uuid",a),o.showOpenWizardButton=!0,void 0!==f&&!0!==f||(o.activation_success?h.go("app.dashboard."+o.view_type,{engagement_uuid:a,engagement:o.engagement,sub_id:e,messagePass:"You have successfully activated your account!"}):h.go("app.dashboard."+o.view_type,{engagement_uuid:a,engagement:o.engagement,sub_id:e,messagePass:null}))):1!=o.last_not_found_engagement?(g.setJson("ice.settings.eng_uuid",void 0),r()):r(!0),o.isReviewer=i.isReviewer(o.me,o.engagement.reviewer_uuid),o.isPeerReviewer=i.isPeerReviewer(o.me,o.engagement.peer_reviewer_uuid),n.resolve(a),n.promise},o.searchSelectEngagement=function(b){f.getSingleEngagement(o.me.uuid,b).then(function(c){a.ice.loader.show=!1,200===c.status&&c.data&&""!==c.data&&r(!1,{uuid:b,page_type:"overview",sub_id:void 0})}).catch(function(b){a.ice.loader.show=!1,n.error(b)})};var q=function(){return o.me=o.user=i.getUserData(),o.isAdmin=i.isAdmin(o.me),o.isEngagementEL=i.isUserInRole(c.roles.el),o.vfc_num=0,o.user&&!1===o.user.is_active?void h.go("app.resend_activation",{message:"Please activate your account first"}):void 0===o.user?void h.go("app.login",{message:"Please login first"}):(r(!1),void a.$on("onUpdateEngagements",function(a,b){void 0!=b&&void 0!=b.select?r(!1,b.select):r(!0)}))},r=function(b,c){a.ice.loader.show=!0,o.starred_engagements={},o.recent_engagements={},o.formatted_engagements={},f.getStarredEngagements().then(function(d){a.ice.loader.show=!1,200===d.status&&d.data&&""!==d.data?s(d.data,!0,!1):204===d.status?n.error("no starred VFs were found for you."):n.error("getStarredEngagements Failed."),f.getRecentEngagements().then(function(d){a.ice.loader.show=!1,200===d.status&&d.data&&""!==d.data?d.data.length>0?s(d.data,!1,!0,b,c):h.go("app.dashboard.overview",{engagement_uuid:void 0,engagement:void 0,sub_id:void 0}):204===d.status?(n.error("no recent VFs were found for you."),t(b)):n.error("getRecentEngagements Failed.")}).catch(function(b){a.ice.loader.show=!1,n.error(b)})}).catch(function(b){a.ice.loader.show=!1,n.error(b)})};a.$on("searchSelectEngagement",function(a,b){o.searchSelectEngagement(b)});var s=function(a,b,c,d,e){var f=void 0;for(f=0;f0?(1==a?b=o.formatted_engagements[Object.keys(o.formatted_engagements)[0]].uuid:e.search().eng_uuid?b=e.search().eng_uuid:null!=c?b=c:void 0!=h.params.engagement_uuid&&(b=h.params.engagement_uuid),0!=b?o.selectEngagement(b):(h.go("app.dashboard.dashboard"),null!=h.params.messagePass&&(m.setToast(h.params.messagePass,"success"),h.params.messagePass)),0==b&&(b=o.formatted_engagements[Object.keys(o.formatted_engagements)[0]].uuid,o.engagement=o.formatted_engagements[Object.keys(o.formatted_engagements)[0]]),void 0!=o.engagement&&null!=o.engagement.creator&&d.uuid==o.engagement.creator&&1==o.activation_success&&o.openGettingStartedWizard(b)):1==d.activationSuccess?(o.openGettingStartedWizard(),h.go("app.dashboard.dashboard")):h.go("app.dashboard.dashboard");o.activation_success=!1,i.setUserActivationSuccess(void 0)};q(),o.openGettingStartedWizard=function(b){var c=!(!o.engagement||!b)&&o.engagement.is_service_provider_internal;b=b||"";var d={user:o.user,eng_uuid:b,is_service_provider_internal:c,showActivationMessage:o.activation_success};a.$broadcast("openGettingStartedWizard",d),o.activation_success=!1},o.addChecklist=function(a){j.open({templateUrl:"main/modals/checklist/checklist.html",controller:"ChecklistModalController",controllerAs:"vm",size:"lg",resolve:{engagementUuid:function(){return a},modal_type:function(){return"create"},wizardData:function(){return!1}}}).result.then(function(b){var c=void 0;void 0!=b&&(c=b.uuid,r(!1,{uuid:a,page_type:"checklist",sub_id:c}),b.progress&&o.callback(b))},function(){n.debug("Modal dismissed at: "+new Date)})}}angular.module("ice.navigation",["ui.bootstrap"]).controller("NavigationController",["$rootScope","$q","iceConstants","pageService","$location","vfService","localStorageService","$state","usersService","$uibModal","$scope","$window","toastService","$log",a])}(),function(){"use strict";function a(a,b,c,d,e){var f=this,g=function(){f.checkListTemplates=null,i(),h()},h=function(){a.$watch(function(){return e.params.templateName},function(a,b){a!==b&&f.selectedTemplate&&(f.selectedTemplate.name=a)})},i=function(){c.getChecklistTemplates().then(function(a){d.ice.loader.show=!1,200===a.status&&a.data&&""!==a.data?f.checkListTemplates=a.data.checkListTemplates:b.debug("getChecklistTemplates Failed. response.status="+a.status)}).catch(function(a){d.ice.loader.show=!1,b.error(a)})};f.selectTemplate=function(a){a!==f.selectedTemplate&&(f.selectedTemplate=a,e.go("app.admin.checklisttemplate",{template_uuid:a.uuid}))},g()}angular.module("ice.main.admin",["ice.services.users"]).controller("adminNavigationController",["$scope","$log","checklistService","$rootScope","$state",a])}(),function(){"use strict";function a(a,b,c,d,e){var f=this,g="LastDocumentationPageId",h=function(){c.getPages("Documentation").then(function(a){if(a&&a.data&&1===a.data.length){f.documentationPage=a.data[0];var b=d.getJson(g);b?f.loadPageContent(b):f.loadPageContent(f.documentationPage.id)}}).catch(function(a){e.error(a)})};f.loadPageContent=function(a){f.selectedSearchedPage&&delete f.selectedSearchedPage,f.pageId=a,d.setJson(g,a),b.go("app.documentation.page",{page_id:a})},f.isPageCollapsed=function(b){var c=!0;if(b&&b.children&&b.children.length>0){var d=a.flatMap(b.children,function(b){return a.concat(b.children,b)});c=b.id!=f.pageId&&!a.some(d,["id",f.pageId])}return c},h()}angular.module("ice.documentation",[]).controller("documentationNavigationController",["_","$state","cmsService","sessionStorageService","$log",a])}(),function(){"use strict";function a(a){var b=this,c=function(){b.selectedPage=a.$current.name||"app.account"};b.loadPageContent=function(c){b.selectedPage=c,a.go(c)},c()}angular.module("ice.dashboard.account",[]).controller("accountNavigationController",["$state",a])}(),function(){"use strict";function a(a,b,c,d,e,f){var g=this;g.progress=b,g.closeModal=function(){a.close()},g.submitForm=function(){var b={progress:g.progress};d.updateProgress(c,b).then(function(c){202===c.status&&a.close(b)}).catch(function(a){e.error(a),f.setToast(a.status+": Error changing progress!","danger")})}}angular.module("ice.modals",[]).controller("ChangeProgressModalController",["$uibModalInstance","progress","engagementUuid","vfService","$log","toastService",a])}(),function(){"use strict";function a(a,b,c,d,e,f){var g=this;g.completionDate=b,g.dateOptions={minDate:new Date,showWeeks:!0},g.closeModal=function(){a.close()},g.submitForm=function(){var b={target_date:moment(g.completionDate).format("YYYY-MM-DD")};d.updateDaysLeft(c,b).then(function(c){200===c.status&&a.close(b)}).catch(function(a){f.setToast(a.status+": Error changing completion date!","danger")})}}angular.module("ice.modals").controller("ChangeDateModalController",["$uibModalInstance","completionDate","engagementUuid","vfService","$rootScope","toastService",a])}(),function(){"use strict";function a(a,b,c,d,e,f){var g=this;g.targetLabDate=b,g.dateOptions={minDate:new Date,showWeeks:!0},g.closeModal=function(){a.close()},g.myDate=new Date,g.minDate=moment(g.myDate).format("YYYY-MM-DD"),g.maxDate=moment(g.myDate).add(2,"years").format("YYYY-MM-DD"),g.submitForm=function(){var b={target_date:moment(g.targetLabDate).format("YYYY-MM-DD")};d.updateLabEntryDaysLeft(c,b).then(function(c){200===c.status&&a.close(b)}).catch(function(a){f.setToast(a.status+": Error changing completion date!","danger")})}}angular.module("ice.modals").controller("ChangeLabEntryDateModalController",["$uibModalInstance","targetLabDate","engagementUuid","vfService","$rootScope","toastService",a])}(),function(){"use strict";function a(a,b,c,d,e,f,g,h,i,j,k){var l=this;l.nextSteps=[{assigneesUuids:"",description:"",files:"",duedate:""}],function(){l.myDate=new Date,l.minDate=new Date(l.myDate.getFullYear(),l.myDate.getMonth(),l.myDate.getDate()),l.maxDate=new Date(l.myDate.getFullYear()+2,l.myDate.getMonth(),l.myDate.getDate()),l.onlyWeekendsPredicate=function(a){var b=a.getDay();return 0===b||6===b},l.wysiwyg_menu=[["bold","italic","strikethrough","underline"],["unordered-list","ordered-list","outdent","indent"]],l.select_str={File:"Select All"},l.select_all_flag=!1,l.associated_files=[],l.associated_files.push(l.select_str),l.assigness=[],l.title=e,void 0==h?(l.checklist={},l.checklist.uuid=void 0):l.checklist=h;var a=[];if(angular.forEach(f,function(b,c){-1==a.indexOf(b)&&(a.push(b),l.associated_files.push({File:b}))}),angular.forEach(d,function(a,b){l.assigness.push({name:a.full_name,id:a.uuid})}),l.edit=!1,void 0!=i){l.edit=!0;var b={};b.description=i.description,b.files=[],b.duedate=new Date(i.due_date);var a=[];angular.forEach(i.files,function(c,d){-1==a.indexOf(value)&&(a.push(value),b.files.push({File:c}))}),b.assigneesUuids=[],angular.forEach(i.assignees,function(a,c){b.assigneesUuids.push({name:a.full_name,id:a.uuid})}),l.nextSteps=[b]}}(),l.get_chosen_files_num=function(a){return a.files.length==f.length+1?a.files.length-1:a.files.length},l.add_all_associated_files=function(a,b){1==b?(a.files=[],a.files.push({File:"Select All"}),_.forEach(f,function(b,c){a.files.push({File:b})})):(l.select_all_flag=!1,a.files=[])},l.pull_select_all_from_list=function(a){var b=[];_.forEach(a.files,function(a){_.isEqual(a,l.select_str)||b.push(a)}),a.files=b},l.verify_files_choice=function(a){_.forEach(a.files,function(b){a.files.length==f.length&&l.select_all_flag?b===l.select_str?(l.select_all_flag=!1,l.pull_select_all_from_list(a)):l.add_all_associated_files(a,!1):a.files.length!=f.length||l.select_all_flag?b===l.select_str&&(l.select_all_flag=!0,l.add_all_associated_files(a,!0)):(a.files.push({File:"Select All"}),l.select_all_flag=!0)})},l.addNewStep=function(){var a=l.nextSteps.length+1;l.nextSteps.push({id:a})},l.removeStep=function(a){l.nextSteps.splice(a,1)},l.closeModal=function(){a.ice.loader.show=!1,j.clearToast(),b.close()},l.submitForm=function(){var d,e=[];angular.forEach(l.nextSteps,function(a,b){var c={};c.files=[],a.files.length>f.length&&l.pull_select_all_from_list(a),angular.forEach(a.files,function(a,b){c.files.push(a.File)}),c.assigneesUuids=[],angular.forEach(a.assigneesUuids,function(a,b){c.assigneesUuids.push(a.id)}),d=new Date(Date.parse(a.duedate+moment().format("z"))),c.duedate=d.getFullYear()+"-"+m(d.getMonth()+1)+"-"+m(d.getDate()),c.description=a.description,e.push(c)});var h=l.checklist.uuid,n=g;l.edit?c.edit(g,i.uuid,e[0]).then(function(a){202===a.status&&b.close(a.data)}).catch(function(a){k.error(a),j.setToast(a.status+": Error adding next step!","danger",{displayFor:"modal"})}):void 0==l.checklist.uuid?c.add(g,e).then(function(a){200===a.status&&b.close(a.data)}).catch(function(a){k.error(a),j.setToast(a.status+": Error adding next step!","danger",{displayFor:"modal"})}):c.createChecklistNextStep(h,n,e).then(function(c){200===c.status?(b.close(c.status),l.closeModal()):(j.setToast(error.message,"danger",{displayFor:"modal"}),a.ice.loader.show=!1,k.error(error))}).catch(function(b){j.setToast(b.message,"danger",{displayFor:"modal"}),a.ice.loader.show=!1,k.error(b)})};var m=function(a){return a<10?"0"+a:a}}angular.module("ice.modals").controller("NextStepsModalController",["$rootScope","$uibModalInstance","stepsService","engagement_team","title","associated_files","engagement_uuid","checklist","nextstep","toastService","$log",a])}(),function(){"use strict";function a(a,b,c,d,e){var f=this,g=function(){f.stage=c,f.current_stage=e,f.modalText="Are you sure you want to set the Engagement's stage to "+f.stage+"?",f.eng_name=d};f.closeModal=function(a){b.close(a)},g()}angular.module("ice.modals").controller("setEngStageModalController",["$rootScope","$uibModalInstance","stage","eng_name","current_stage",a])}(),function(){"use strict";function a(a,b,c,d,e,f,g,h){var i=this;i.checkListAssociatedFiles=[],i.selectedCheckListAssociatedFiles=[],i.isDisabled=!1,function(){switch(f){case"create":i.create=!0,i.createUpadeTitle="Create",i.modalType="create",i.modalTitle="Create",d.getDataForCreateChecklist(e).then(function(a){200===a.status&&(i.checkListTemplatesLists=[],i.checkListTemplates=a.data.checkListTemplates,angular.forEach(a.data.checkListAssociatedFiles,function(a,b){i.checkListAssociatedFiles.push({File:a})}),b.ice.loader.show=!1)}).catch(function(c){a.setToast(c.message,"danger",{displayFor:"modal"}),b.ice.loader.show=!1,h.error(c.message)});break;case"update":i.update=!0,i.createUpadeTitle="Update",i.modalType="udpate",i.modalTitle="Update",i.checklistUuid=g.uuid,i.checkListName=g.name,d.getDataForCreateChecklist(e).then(function(a){200===a.status&&(i.checkListAssociatedFiles=[],angular.forEach(a.data.checkListAssociatedFiles,function(a,b){i.checkListAssociatedFiles.push({File:a})}),b.ice.loader.show=!1,i.selectedCheckListAssociatedFiles=[],angular.forEach(g.associatedFiles,function(a,b){i.selectedCheckListAssociatedFiles.push({File:a})}))}).catch(function(c){a.setToast(c.message,"danger",{displayFor:"modal"}),b.ice.loader.show=!1,h.error(c.message)}),i.selectedTemplateUuid=g.selectedTemplateUuid,i.selectedTemplateName=g.selectedTemplateName}}(),i.addFile=function(){var a=i.selectedCheckListAssociatedFiles.length+1;i.selectedCheckListAssociatedFiles.push({id:a})},i.removeFile=function(a){i.selectedCheckListAssociatedFiles.splice(a,1)},i.closeModal=function(){a.clearToast(),b.$emit("onChecklistUpdate"),c.close(i.checkListName),c.close()}, -i.submitForm=function(){i.isDisabled=!0;var j=[];switch(f){case"create":angular.forEach(i.selectedCheckListAssociatedFiles,function(a,b){j.push(a.File)});var k={checkListAssociatedFiles:j,checkListName:i.checkListName,checkListTemplateUuid:i.selectedTemplateUuid};d.createChecklist(e,k).then(function(a){200===a.status&&(c.close(a.data),b.ice.loader.show=!1,i.closeModal())}).catch(function(c){a.setToast(c.message||"Error creating check list.","danger",{displayFor:"modal"}),b.ice.loader.show=!1,i.isDisabled=!1,h.error(c.message)});break;case"update":var l=[];angular.forEach(i.selectedCheckListAssociatedFiles,function(a,b){l.push(a.File)}),h.debug("update",l);var m={checklistUuid:i.checklistUuid,checkListAssociatedFiles:l,checkListName:i.checkListName,checkListTemplateUuid:i.selectedTemplateUuid};d.putDataForChecklist(i.checklistUuid,m).then(function(f){if(200===f.status){b.$broadcast("onUpdateEngagements",{select:{uuid:e,view_type:"checklist",sub_id:i.checklistUuid}}),b.ice.loader.show=!1;var j={};j.checklist_name=i.checkListName,j.associated_files=l;var k=i.checkListAssociatedFiles.sort(),m=l.sort();if((k.length!=m.length||!k.every(function(a,b){return a===m[b]}))&&"pending"!=g.state){var n={};n.description="Rejected due to file list change",n.decline="True",d.setState(i.checklistUuid,n).then(function(c){if(200!==c.status)return a.setToast(c.error,"danger",{displayFor:"modal"}),b.ice.loader.show=!1,void(i.isDisabled=!1);b.$broadcast("onUpdateEngagements")}).catch(function(b){h.error(b),a.setToast(b.status+": Error changing progress!","danger"),i.isDisabled=!1})}c.close(j),i.closeModal()}}).catch(function(c){a.setToast(c.message,"danger",{displayFor:"modal"}),b.ice.loader.show=!1,h.error(c.message),i.isDisabled=!1});break;default:h.debug("no submit action found"),i.isDisabled=!1}}}angular.module("ice.modals").controller("ChecklistModalController",["toastService","$rootScope","$uibModalInstance","checklistService","engagementUuid","modal_type","wizardData","$log",a])}(),function(){"use strict";function a(a,b,c,d,e,f){var g=this;(function(){var a=[],b=moment().tz(moment.tz.guess()).format("z"),c="";g.name=d.name,g.checklistAuditLogs=d.checklistAuditLogs,g.checklistAuditLogs.forEach(function(d){c=moment(d.create_time).local().format("YYYY-MM-DD hh:mm:ss A")+" "+b,a.push({name:d.creator.full_name,dt:c,desc:d.description})}),g.checklistAuditLogs=a})(),g.submitForm=function(){var h={description:g.description};c.createAuditlogChecklist(d.uuid,h).then(function(c){200===c.status?(b.close(c.data),g.closeModal()):(e.setToast(c.error,"danger",{displayFor:"modal"}),a.ice.loader.show=!1)}).catch(function(a){e.setToast(a.message,"danger",{displayFor:"modal"}),f.error(a.message)})},g.closeModal=function(){e.clearToast(),b.close()}}angular.module("ice.modals").controller("AuditLogModalController",["$rootScope","$uibModalInstance","checklistService","wizardData","toastService","$log",a])}(),function(){"use strict";function a(a,b,c,d,e,f,g){var h=this,i=function(){h.me=f.getUserData(),j()};h.vfcs=[{name:"",external_ref_id:"",company:""}],h.companies=[],h.closeModal=function(){b.close()},h.addNewChoice=function(){var a=h.vfcs.length+1;h.vfcs.push({id:a})},h.removeChoice=function(a){h.vfcs.splice(a,1)},h.submitForm=function(){var a=[];angular.forEach(h.vfcs,function(b,c){h.item=[];var d=new Object;d.name=b.name,d.external_ref_id=b.external_ref_id,d.company=b.company,a.push(d)});var f={vfcs:a,vf_uuid:e,creator:h.me};c.add(f).then(function(a){200===a.status&&b.close(a.status)}).catch(function(a){g.error(a),d.setToast(a.status+": Error changing progress!","danger")})};var j=function(){a.ice.loader.show=!0,c.getCompanies().then(function(b){a.ice.loader.show=!1,200===b.status&&(h.companies=b.data,0===h.companies.length&&console.warn("No vendors pulled, request was successfull"))}).catch(function(b){a.ice.loader.show=!1,g.error(b)})};i()}angular.module("ice.modals").controller("detailedViewVFCModalController",["$rootScope","$uibModalInstance","vfcService","toastService","vf_uuid","usersService","$log",a])}(),function(){"use strict";function a(a,b,c,d,e,f,g,h,i,j){function k(){d.getDeployTargets().then(function(b){a.ice.loader.show=!1,200===b.status&&(n.deployTargets=b.data,0===j.filter(n.deployTargets,{uuid:n.dtversion.uuid}).length&&(n.dtversion.disabled=!0,n.deployTargets.push(n.dtversion)))}).catch(function(b){a.ice.loader.show=!1,i.error(b)})}function l(){d.getECOMPReleases().then(function(a){200===a.status&&(n.ECOMPReleases=a.data,0===j.filter(n.ECOMPReleases,{uuid:n.ecomp_release.uuid}).length&&(n.ecomp_release.disabled=!0,n.ECOMPReleases.push(n.ecomp_release)))}).catch(function(b){a.ice.loader.show=!1,i.error(b)})}function m(){d.getVFVersion(g).then(function(b){a.ice.loader.show=!1,200===b.status&&(n.VFVersion=b.data)}).catch(function(b){a.ice.loader.show=!1,i.debug(b)})}var n=this,o=function(){e.engagement&&(n.engagement=e.engagement),n.me=h.getUserData(),d.getSingleEngagement(n.me.uuid,n.engagement.uuid).then(function(b){if(a.ice.loader.show=!1,200===b.status&&b.data&&""!==b.data){var c=b.data;n.engagement_manual_id=c.engagement.engagement_manual_id,n.vf_name=c.name,n.vf_uuid=c.uuid,n.ecomp_release=c.ecomp_release,n.target_lab=new Date(c.target_lab_entry_date),n.dtversion=c.deployment_target,n.selected_dt_uuid=n.dtversion.uuid,n.selected_ecomp_uuid=n.ecomp_release.uuid,n.me=h.getUserData(),n.name=n.engagement.name,n.isEngagementEL=h.isEngagementEL(c.engagement.engagement_team),n.isAdmin=h.isAdmin(n.me),n.choices=[{TargetLab:"",TargetAic:""}],k(),l(),m()}}).catch(function(b){a.ice.loader.show=!1,i.error(b)})};n.closeModal=function(){b.close()},n.addNewChoice=function(){var a=n.choices.length+1;n.choices.push({id:a})},n.removeChoice=function(a){n.choices.splice(a,1)},n.submitForm=function(){var a={vf_uuid:n.vf_uuid,version:n.VFVersion,target_aic_uuid:n.TargetAic,ecomp_release:n.ECOMPRelease};d.updateVfs(a,n.vf_uuid).then(function(a){200===a.status&&b.close(a.status)}).catch(function(a){i.error(a),f.setToast(a.status+": Error changing progress!","danger")})},n.update_deployment_target=function(){n.dtversion.uuid!=n.selected_dt_uuid&&(angular.forEach(n.dt_AIC_versions,function(a,b){a.uuid===n.selected_dt_uuid&&(n.dtversion=a)}),d.updateDeployTargets(n.engagement.uuid,n.selected_dt_uuid).then(function(b){a.ice.loader.show=!1}).catch(function(b){a.ice.loader.show=!1,i.error(b)}),n.set_edit_mode("aic"))},n.update_ECOMP_release=function(){n.ecomp_release.uuid!=n.selected_ecomp_uuid&&(j.each(n.ECOMPReleases,function(a,b){a.uuid===n.selected_ecomp_uuid&&(n.ecomp_release=a)}),d.updateECOMPReleases(n.engagement.uuid,n.selected_ecomp_uuid).then(function(b){a.ice.loader.show=!1}).catch(function(b){a.ice.loader.show=!1,i.error(b)}),n.set_edit_mode("ecomp"))},o()}angular.module("ice.modals").controller("validationDetailsModalController",["$rootScope","$uibModalInstance","vfcService","vfService","$stateParams","toastService","vf_uuid","usersService","$log","_",a])}(),function(){"use strict";function a(a,b,c,d,e,f,g){var h=this,i=function(){void 0!=c.engagement&&(h.vf=c.engagement.vf),j()};h.closeModal=function(){b.close()},h.json="",h.submitForm=function(){var a={name:h.json,vf_uuid:f};d.add(a).then(function(a){b.close(a.status)}).catch(function(a){g.error(a),e.setToast(a.status+": Error changing progress!","danger")})};var j=function(){a.ice.loader.show=!0,d.get().then(function(b){a.ice.loader.show=!1,200===b.status&&(h.dtsites=b.data)}).catch(function(b){a.ice.loader.show=!1,g.error(b)})};i()}angular.module("ice.modals").controller("detailedViewDtsitesModalController",["$rootScope","$uibModalInstance","$stateParams","dtsiteService","toastService","vf_uuid","$log",a])}(),function(){"use strict";function a(a,b,c,d,e,f,g){var h=this,i=function(){h.description=null,h.checklist_name=f.name,h.state=f.state,h.action=e,h.modalText="pending"==h.state?"Are you sure you want to move the checklist state to Automation?":"Please use the button below to either approve or reject the checklist.
You can also add a log entry comment."};h.submitForm=function(e){var i={};null!=h.description?i.description=h.description:i.description="",i.decline=!0===e?"False":"True",c.setState(f.uuid,i).then(function(c){200===c.status?(b.close(c.data),h.closeModal()):(d.setToast(c.error,"danger"),a.ice.loader.show=!1)}).catch(function(a){g.error(a),d.setToast(a.status+": Error changing progress!","danger")})},h.closeModal=function(){b.close()},i()}angular.module("ice.modals").controller("stateDecisionModalController",["$rootScope","$uibModalInstance","checklistService","toastService","action","checklist","$log",a])}(),function(){"use strict";function a(a,b,c,d,e,f,g){var h=this;(function(){h.engagement_uuid=d,h.action=e,"edit"==e?c.get(d).then(function(a){200===a.status?(h.status=a.data,h.status_modal_description=h.status.description,h.eng_status_uuid=h.status.uuid):g.error(a)}).catch(function(a){h.status=!1,g.error(a.message)}):h.status_modal_description=""})(),h.submitForm=function(){var d={description:h.status_modal_description};"edit"==e?(d.eng_status_uuid=h.eng_status_uuid,c.update(h.engagement_uuid,d).then(function(c){200===c.status?(b.close(c.data),h.closeModal()):(f.setToast(c.error,"danger"),a.ice.loader.show=!1)}).catch(function(a){f.setToast(a.message,"danger"),g.error(a.message)})):c.add(h.engagement_uuid,d).then(function(c){200===c.status?(b.close(c.data),h.closeModal()):(f.setToast(c.error,"danger"),a.ice.loader.show=!1)}).catch(function(a){f.setToast(a.message,"danger"),g.error(a.message)})},h.closeModal=function(){b.close()}}angular.module("ice.modals").controller("StatusModalController",["$rootScope","$uibModalInstance","statusService","engagement_uuid","action","toastService","$log",a])}(),function(){"use strict";function a(a,b,c,d,e,f){var g=this;(function(){g.action=d,g.feedback_modal_description=""})(),g.submitForm=function(){var h={description:g.feedback_modal_description};"add"==d&&c.add(h).then(function(c){200===c.status?(b.close(c.data),e.setToast("Feedback was sent successfully.","success")):(e.setToast(c.error,"danger"),a.ice.loader.show=!1)}).catch(function(a){e.setToast(a.message,"danger"),f.error(a.message)})},g.closeModal=function(){b.close()}}angular.module("ice.modals").controller("FeedbackModalController",["$rootScope","$uibModalInstance","feedbackService","action","toastService","$log",a])}(),function(){"use strict";function a(a,b){var c=this,d=function(){b&&(c.upper_headline=b.upper_headline,c.upper_headline_value=b.upper_headline_value,c.headline=b.headline||"D2ICE",c.message=b.message||"Are you sure?",c.closeCallback=b.closeCallback,c.approveText=b.approve||"Approve",c.cancelText=b.cancel||"Cancel",c.is_close_modal_button=b.is_close_modal_button,c.is_message=b.is_message)};c.closeModal=function(b){c.closeCallback&&c.closeCallback(b),a.close(b)},d()}angular.module("ice.modals").controller("generalPromptModalController",["$uibModalInstance","modalDetails",a])}(),function(){"use strict";function a(a,b){var c=this;(function(){b&&(c.headline=b.headline||"General log modal",c.body=b.body||"There is no body")})(),c.closeModal=function(){a.close()}}angular.module("ice.modals").controller("GeneralLogModalController",["$uibModalInstance","modalDetails",a])}(),function(){"use strict";function a(a,b,c,d){function e(){b.getPosts(5,"",["Announcement","News"]).then(function(a){f.recentPosts=a.data}).catch(function(a){d.error(a)})}var f=this,g=function(){c?f.post=c:b.getLastAnnouncementPost().then(function(a){a&&a.data&&1===a.data.length&&(f.post=a.data[0])}).catch(function(a){d.error(a)}),e()};f.closeModal=function(b){a.close(b)},f.loadSelectedPostData=function(a){a&&(f.post=a)},g()}angular.module("ice.modals").controller("cmsPostModalController",["$uibModalInstance","cmsService","post","$log",a])}(),function(){"use strict";function a(a,b){var c=this,d=function(){b&&(c.engagement=b)};c.closeModal=function(){a.dismiss()},c.archiveEngagement=function(){a.close(c.reason)},d()}angular.module("ice.modals").controller("archiveEngagementModalController",["$uibModalInstance","engagementDetails",a])}(),function(){"use strict";function a(a,b,c,d,e,f){var g=this;g.show_warning=!1;var h=function(){d.getEngagementLeads().then(function(a){g.engagementLeads=e.filter(a.data,function(a){return a.uuid}),g.selectedUserUuid=e.find(g.engagementLeads,["uuid",c])}).catch(function(a){f.error(a),g.closeModal()})};g.closeModal=function(){a.dismiss()},g.onUserSelect=function(){g.selectedUserUuid&&a.close(g.selectedUserUuid)},h()}angular.module("ice.modals").controller("selectELModalController",["$uibModalInstance","excludeUuids","selectedOption","usersService","_","$log",a])}(),function(){"use strict";function a(a,b){var c=this,d=function(){c.engagement=b,e()};c.closeModal=function(){a.dismiss()},c.updateEngagement=function(){e(),a.close({engagement:c.engagement,status:c.status})};var e=function(){c.engagement.target_completion_date&&(c.engagement.target_completion_date=new Date(c.engagement.target_completion_date)),c.engagement.heat_validated_time&&(c.engagement.heat_validated_time=new Date(c.engagement.heat_validated_time)),c.engagement.image_scan_time&&(c.engagement.image_scan_time=new Date(c.engagement.image_scan_time)),c.engagement.aic_instantiation_time&&(c.engagement.aic_instantiation_time=new Date(c.engagement.aic_instantiation_time)),c.engagement.asdc_onboarding_time&&(c.engagement.asdc_onboarding_time=new Date(c.engagement.asdc_onboarding_time))};d()}angular.module("ice.modals").controller("updateEngagementStatusModalController",["$uibModalInstance","engagement",a])}(),function(){"use strict";function a(a,b){}angular.module("ice.main",[]).controller("MainController",a).config(["$mdDateLocaleProvider",function(a){a.formatDate=function(a){return a?moment(a).format("MMMM Do YYYY"):""},a.parseDate=function(a){var b=moment(a,"YYYY-MM-DD",!0);return b.isValid()?b.toDate():new Date(NaN)}}]),a.$inject=["$scope","$rootScope"]}(),function(){"use strict";function a(a){a.state("app.dashboard",{abstract:!0,views:{"navigation@app":{templateUrl:"core/navigation/layouts/horizontal-navigation/navigation.html",controller:"NavigationController as vm"}},bodyClass:"dashboard"}).state("app.dashboard.dashboard",{url:"/dashboard/dashboard",views:{"content@app":{templateUrl:"main/dashboard/dashboard/dashboard.html",controller:"DashboardMainController as vm"}},params:{engagement_uuid:null,engagement:null,messagePass:null},bodyClass:"dashboard"}).state("app.dashboard.overview",{url:"/dashboard/overview",views:{"content@app":{templateUrl:"main/dashboard/overview/overview.html",controller:"OverviewMainController as vm"}},params:{engagement_uuid:null,engagement:null,messagePass:null},bodyClass:"dashboard"}).state("app.dashboard.detailedview",{url:"/dashboard/detailedview",views:{"content@app":{templateUrl:"main/dashboard/detailed-view/detailed-view.html",controller:"detailedViewController as vm"}},params:{engagement_uuid:null,engagement:null},bodyClass:"dashboard"}).state("app.dashboard.checklist",{url:"/dashboard/checklist",views:{"content@app":{templateUrl:"main/dashboard/checklist/checklist.html",controller:"DashboardChecklistController as vm"}},params:{engagement_uuid:null,sub_id:null,engagement:null},bodyClass:"dashboard"})}angular.module("ice.dashboard.main",["ice.dashboard.get-started-modal"]).config(a),a.$inject=["$stateProvider"]}(),function(){"use strict";function a(a,b,c,d,e,f,g,h,i,j,k,l,m,n){var o=this;o.sortableOptions={handle:" .order-nextstep",axis:"y",update:function(a,b){f.order_next_steps(o.engagement.uuid,o.steps).then(function(a){200===a.status&&n.debug("updated")}).catch(function(a){n.error(a)})}};var p=function(){k.setAnnouncementToast(),b.timeGapLocal=moment().format("z"),b.ampm=moment().format("A"),b.mom=moment().tz(moment.tz.guess()).format("z"),o.engagement=d.engagement,void 0!=o.engagement&&(o.me=h.getUserData(),g.getSingleEngagement(o.me.uuid,o.engagement.uuid).then(function(a){b.ice.loader.show=!1,200===a.status&&a.data&&""!==a.data&&(o.vf=a.data,o.is_service_provider_internal=o.vf.is_service_provider_internal,o.name=o.vf.name,o.manual_id=o.vf.engagement.engagement_manual_id,o.vf.git_repo_url&&-1!=o.vf.git_repo_url?o.git_repo_url=o.vf.git_repo_url:o.git_repo_url=!1,o.storage_bucket_url=o.manual_id+"_"+o.name.toLowerCase(),o.team=o.vf.engagement.engagement_team,o.me=h.getUserData(),o.stages=i.stages,o.stage=o.vf.engagement.engagement_stage,o.stage_num=0,o.set_stage_num(o.stage),o.in_overview_page=!0,o.uuid=o.engagement.uuid,o.progress=o.vf.engagement.progress,o.completion_date=o.vf.engagement.target_completion_date,o.starred=!1,o.isEngagmentLead=h.isUserInRole("el"),o.isEngagementEL=h.isEngagementEL(o.team),o.isAdmin=h.isAdmin(o.me),o.does_user_role_allow_action_array=[o.isAdmin,o.isEngagementEL],o.unremoveable_users_from_eng_team_array=[o.vf.engagement.reviewer.uuid,o.vf.engagement.peer_reviewer.uuid,o.vf.engagement.creator.uuid],null!=o.vf.engagement.contact_user&&o.unremoveable_users_from_eng_team_array.push(o.vf.engagement.contact_user.uuid),o.states=i.states,o.states_select=s(i.states),o.selected_state_filter=t(),o.steps=[],o.vf_name=o.vf.name,o.vf.engagement.starred_engagement.forEach(function(a){o.me.uuid==a.uuid&&(o.starred=!0)}),o.all_states=!1,o.all_files=!0,q(),o.initActivityLogs(),o.files=o.vf.files,o.files_filter_options=[],o.files_filter_options=o.files_filter_options.concat(o.files),o.files_filter_options.push("Any file"),o.chosen_files_filter=["Any file"],o.show_step=!0,o.status=!1,e.get(o.uuid).then(function(a){200===a.status?o.status=a.data:n.error(a)}).catch(function(a){o.status=!1,n.error(a.message)}),o.progress_needed_data=u())}).catch(function(a){b.ice.loader.show=!1,n.error(a)}))};o.set_stage_num=function(a){switch(a){case"Intake":o.stage_num=1;break;case"Active":o.stage_num=2;break;case"Validated":o.stage_num=3;break;case"Completed":o.stage_num=4}},o.checkIfAdmin=function(a){return h.isAdmin(a)},o.is_user_allowed=function(){return 1==c.includes(o.does_user_role_allow_action_array,!0)},o.is_able_to_delete=function(a){return!(!o.is_user_allowed()||c.includes(o.unremoveable_users_from_eng_team_array,a.uuid)||o.checkIfAdmin(a))},o.remove_user_from_eng=function(a){if(!o.is_able_to_delete(a))return l.setToast("Action is not allowed.","danger"),void(b.ice.loader.show=!1);var c=j.open({templateUrl:"main/modals/general-prompt-modal/general-prompt-modal.html",controller:"generalPromptModalController",controllerAs:"vm",resolve:{modalDetails:function(){return{upper_headline:"Remove user from engagement team: ",upper_headline_value:a.full_name,headline:"Are you sure you would like to remove the user out of the team members?",is_message:!1,message:"",approve:"Yes",cancelText:"No",is_close_modal_button:!0}}}});angular.element("body").click(),c.result.then(function(c){if(c){var d={eng_uuid:o.vf.engagement.uuid,user_uuid:a.uuid};g.remove_user_from_eng(d).then(function(a){b.ice.loader.show=!1,204===a.status&&b.$broadcast("onUpdateEngagements",{select:{uuid:o.engagement.uuid,page_type:"overview",sub_id:void 0}})}).catch(function(a){b.ice.loader.show=!1,n.error(a)})}})},a.is_match_both_filters=function(){return function(a){var b=!1;return o.all_files&&o.all_states?b=!0:o.all_states&&o.is_contain_files(a)?b=!0:o.all_files&&o.is_same_state(a.state)?b=!0:o.is_contain_files(a)&&o.is_same_state(a.state)&&(b=!0),!!b&&a}},o.is_all_files=function(){o.all_files=-1!==o.chosen_files_filter.indexOf("Any file")},o.is_contain_files=function(a){if(a.files)for(var b=0;b1&&(b=a.vfc.split(", ").length,c+=b)):a.engagement_stage==o.statistic_stage_filter&&(d++,a.vfc.length>1&&("Validated"==a.engagement_stage||"Completed"==a.engagement_stage)&&(b=a.vfc.split(", ").length,c+=b))}),o.vfc_num=c,o.eng_num=d}}).catch(function(b){a.ice.loader.show=!1,l.error(b)})},o.onStageChange=function(){o.page_num=1,o.searchEngagements()},o.onKeywordChange=function(){o.page_num=1,o.searchEngagements()},o.searchEngagements=function(){o.current_starting_offset=(o.page_num-1)*o.pagination_num_of_objects,o.postData={stage:o.search_stage,keyword:o.search_keyword,offset:o.current_starting_offset,limit:o.pagination_num_of_objects},d.getExpandedEngagements(o.postData).then(function(a){200===a.status&&a.data&&""!==a.data&&(o.vf_search_list=a.data.array,o.num_of_returned_items=a.data.num_of_objects,o.vf_search_list.forEach(function(a){var b={enable_edit:!1,completion_date:a.engagement__target_completion_date,ecomp_release:a.ecomp_release__name,vnf_version:a.version,aic_version:a.deployment_target__version,aic_instantiation_time:a.engagement__aic_instantiation_time,asdc_onboarding_time:a.engagement__asdc_onboarding_time,heat_validated_time:a.engagement__heat_validated_time,image_scan_time:a.engagement__image_scan_time,engagement_uuid:a.engagement__uuid,manual_id:a.engagement__engagement_manual_id,name:a.vf__name,starred:!1};a.progress_needed_data=b,a.starred_users.forEach(function(b){o.me.uuid==b&&(a.progress_needed_data.starred=!0)})}),o.vf_display_list=o.vf_search_list,n())}).catch(function(b){a.ice.loader.show=!1,l.error(b)})},o.goToEngagement=function(b){a.$broadcast("searchSelectEngagement",b)},o.exportEngagementCSV=function(){var b=o.search_stage||"",c=o.search_keyword||"" -;a.ice.loader.show=!0,d.exportEngagementsCSV(b,c).then(function(b){if(b&&b.data){var c=new i([b.data],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"});h.saveAs(c,"D2Ice.xlsx"),a.ice.loader.show=!1}}).catch(function(b){a.ice.loader.show=!1,l.error(b)})},o.openCMSReadMoreModal=function(a){a?k.open({templateUrl:"main/modals/cms-post-modal/cms-post-modal.html",controller:"cmsPostModalController",controllerAs:"vm",size:"cms-post-read-more",resolve:{post:function(){return a}}}):l.warn("Cannot open cms post.")},p()}angular.module("ice.dashboard.dashboard",["angularUtils.directives.dirPagination","ngFileSaver"]).controller("DashboardMainController",["$rootScope","pageService","stepsService","vfService","usersService","iceConstants","localStorageService","FileSaver","Blob","cmsService","$uibModal","$log",a])}(),function(){"use strict";function a(a,b,c,d,e,f,g,h,i){var j=this;j.data={};var k=b.engagement_uuid;j.checklistUuid=b.sub_id,j.selected_decision=!1;var l=function(){null!=j.checklistUuid&&d.getChecklist(j.checklistUuid).then(function(a){200===a.status&&(j.data=a.data,j.data.states=e.checklist_states,j.me=f.getUserData(),j.is_peer_reviewer=f.isPeerReviewer(j.me,a.data.checklist.engagement.peer_reviewer.uuid),j.data.checklist.associated_files?j.has_files=!0:j.has_files=!1,j.formatDecisions())}).catch(function(a){if(410!==a.status)return i.error(a.message),!1;c.$broadcast("onUpdateEngagements",{select:{uuid:b.engagement_uuid,view_type:"overview",sub_id:void 0}})})};j.formatDecisions=function(){var a=0;j.data.checklistDecisions=_.orderBy(j.data.checklistDecisions,"weight"),angular.forEach(j.data.checklistDecisions,function(b,c){a++,b.counter=a;var d=0;b.decisions=_.orderBy(b.decisions,"weight"),angular.forEach(b.decisions,function(b,e){d++,b.counter=a+"."+d,0==j.selected_decision&&(j.selected_decision=b,j.selectDecision(b));var f;switch(j.data.checklist.state){case"peer_review":f=b.peer_review_value;break;case"review":case"approval":case"handoff":case"closed":f=b.review_value}var g;switch(f){case"approved":g="sprite approved-cl";break;case"denied":g="sprite denied-cl";break;case"not_relevant":g="sprite not-relevant-cl"}var h;switch(b.lineitem.line_type){case"auto":h="sprite automation-state"}j.data.checklistDecisions[c].decisions[e]["selected-value"]=f,j.data.checklistDecisions[c].decisions[e].view_value=f,j.data.checklistDecisions[c].decisions[e].view_value_css=g,j.data.checklistDecisions[c].decisions[e].auto_icon_css=h})}),j.refreshStateOptions()},j.setDecision=function(a,b){d.putChecklistDecision(a.uuid,{value:b}).then(function(c){if(200===c.status){switch(j.data.checklist.state){case"peer_review":a.peer_review_value=b;break;case"review":a.review_value=b}j.formatDecisions()}})},j.refreshStateOptions=function(){var a=!1;j.is_able_to_approve=!0,angular.forEach(j.data.checklistDecisions,function(b,c){a||angular.forEach(b.decisions,function(b,c){a||"approved"!=b.view_value&&"not_relevant"!=b.view_value&&(j.is_able_to_approve=!1,a=!0)})})},j.stateAction=function(a){switch(a){case"approve":var b={};b.description="",b.decline="False",d.setState(j.data.checklist.uuid,b).then(function(a){200===a.status?c.$broadcast("onUpdateEngagements",{select:{uuid:k,page_type:"overview",sub_id:j.data.checklist.uuid}}):(h.setToast(a.error,"danger"),c.ice.loader.show=!1)}).catch(function(a){i.error(a),h.setToast(a.status+": Error changing progress!","danger")});break;case"reject":j.openSetState(a,j.data.checklist);break;case"next_step":j.openNextSteps(j.data.checklist)}},j.formatDate=function(a){var b=moment().tz(moment.tz.guess()).format("z");return moment(a).local().format("YYYY-MM-DD hh:mm:ss A")+" "+b},j.submitDecisionAuditLog=function(){var a={description:j.selected_decision.new_audit_log_description};d.createAuditlogDecisionChecklist(j.selected_decision.uuid,a).then(function(a){200===a.status?(void 0==j.data.decisionAuditLogs[j.selected_decision.uuid]&&(j.data.decisionAuditLogs[j.selected_decision.uuid]=[]),j.data.decisionAuditLogs[j.selected_decision.uuid].push(a.data),j.selected_decision.new_audit_log_description=""):(h.setToast(a.error,"danger"),c.ice.loader.show=!1)}).catch(function(a){h.setToast(a.message,"danger"),i.error(a.message)})},j.selectDecision=function(b,c){j.selected_decision==b&&void 0!==j.selected_decision.selected||(j.selected_decision.selected=!1,j.selected_decision=b,j.selected_decision.selected=!0,a.$$postDigest(function(){if(void 0!=c){var a=angular.element(c.target).prop("offsetHeight")+angular.element(c.target).prop("offsetTop"),b=angular.element("#line-item-extended").prop("offsetHeight"),d=a-b;d>0?angular.element("#line-item-extended").css("margin-top",20+d+"px"):angular.element("#line-item-extended").css("margin-top","")}}))},j.openNextSteps=function(a){g.open({templateUrl:"main/modals/next-steps/next-steps.html",controller:"NextStepsModalController",controllerAs:"vm",size:"lg",resolve:{engagement_team:function(){return a.engagement.engagement_team},title:function(){return a.name},associated_files:function(){return a.repo_associated_files},engagement_uuid:function(){return a.engagement.uuid},checklist:function(){return a},nextstep:function(){}}}).result.then(function(b){200===b&&c.$broadcast("onUpdateEngagements",{select:{uuid:k,page_type:"overview",sub_id:a.uuid}})},function(){})},j.openSetState=function(a,b){g.open({templateUrl:"main/modals/checklist/state-approve-or-reject/state-approve-or-reject.html",controller:"stateDecisionModalController",controllerAs:"vm",resolve:{checklist:function(){return b},action:function(){return a}}}).result.then(function(a){a&&c.$broadcast("onUpdateEngagements",{select:{uuid:k,page_type:"overview",sub_id:b.uuid}})},function(){})},j.openJenkinsLogModal=function(){g.open({templateUrl:"main/modals/general-log-modal/general-log-modal.html",controller:"GeneralLogModalController",controllerAs:"vm",size:"general-log-modal",resolve:{modalDetails:function(){return{headline:"Jenkins log",body:j.data.checklist.jenkins_log}}}})},j.auditLog=function(){var a={name:j.data.checklist.name,uuid:j.data.checklist.uuid,checklistAuditLogs:j.data.checklistAuditLogs};g.open({templateUrl:"main/modals/audit-log/audit-log.html",controller:"AuditLogModalController",controllerAs:"vm",size:"lg",resolve:{wizardData:function(){return a}}}).result.then(function(a){a&&j.data.checklistAuditLogs.push(a)},function(){i.debug("Modal dismissed at: "+new Date)})},j.editChecklist=function(){var a={uuid:j.data.checklist.uuid,name:j.data.checklist.name,templates:j.data.checklist.templates,selectedTemplateUuid:j.data.checklist.template.uuid,selectedTemplateName:j.data.checklist.template.name,associatedFiles:j.data.checklist.associated_files,state:j.data.checklist.state};g.open({templateUrl:"main/modals/checklist/checklist.html",controller:"ChecklistModalController",controllerAs:"vm",size:"lg",resolve:{wizardData:function(){return a},engagementUuid:function(){return k},modal_type:function(){return"update"}}}).result.then(function(a){a&&(j.data.checklist.name=a.checklist_name,j.data.checklist.associated_files=a.associated_files)})},l()}angular.module("ice.dashboard.checklist",[]).controller("DashboardChecklistController",["$scope","$stateParams","$rootScope","checklistService","iceConstants","usersService","$uibModal","toastService","$log",a])}(),function(){"use strict";angular.module("ice.dashboard.get-started-modal",["ngAnimate","ui.bootstrap","ice.activation.addVf"])}(),function(){"use strict";angular.module("ice.dashboard.get-started-modal").directive("getStartedModal",function(){return{restrict:"AEC",scope:{},link:function(a,b,c){a.$emit("openGettingStartedWizardLoaded")},controller:["$rootScope","$scope","$uibModal","toastService","$log",function(a,b,c,d,e){var f=this;f.data={},f.openModal=function(){d.clearToast();c.open({templateUrl:"main/dashboard/get-started-modal/wizard/wizard-container.html",controller:"ModalCtrl",controllerAs:"wizard",resolve:{wizardData:function(){return f.wizardData}},backdrop:"static"})},b.$on("openGettingStartedWizard",function(a,b){f.wizardData=b,f.openModal()})}],controllerAs:"gm"}}).controller("ModalCtrl",["$rootScope","$scope","$uibModalInstance","vfService","usersService","localStorageService","wizardData","toastService","$log","$i18next",function(a,b,c,d,e,f,g,h,i,j){function k(){if(a.ice.loader.show=!0,g.showActivationMessage&&h.setToast("You have successfully activated your account!","success",{displayFor:"modal"}),m.stepIndex=0,m.requiredStep)return m.steps.push(o[m.requiredStep]),m.setStep(m.steps[m.stepIndex]),void(a.ice.loader.show=!1);m.eng_uuid&&""!==m.eng_uuid||m.steps.push(o.addVF),!0!==m.user.is_service_provider_contact||m.is_service_provider_internal?m.user.is_service_provider_contact||m.steps.push(o.addSponsor):m.steps.push(o.addVendor),l(),m.steps.push(o.inviteMembers);var b=e.getUserData()||{},c=b.ssh_public_key;""!==m.user.ssh_public_key&&null!==m.user.ssh_public_key||""!==c&&null!==c||m.steps.push(o.addSSH),a.ice.loader.show=!1,m.setStep(m.steps[m.stepIndex])}function l(){d.getCompanies().then(function(a){if(200===a.status&&(m.companies=a.data,void 0!=m.companies))for(var b=0;b0?angular.element("#line-item-extended").css("margin-top",20+c+"px"):angular.element("#line-item-extended").css("margin-top","")}}))},i.addLineItem=function(b){if(b){var c=a.maxBy(b.lineItems,function(a){return a.weight})+1,d={uuid:"newEntity",name:"Untitled line item",description:"Please add a description",weight:c,validation_instructions:"Please add validation instructions for the line item."};b.lineItems.push(d)}},i.addSection=function(){if(i.template){var b=a.maxBy(i.template.sections,function(a){return a.weight})+1,c={uuid:"newEntity",name:"Untitled section",description:"Section added from portal",validation_instructions:"valid instructions",weight:b,lineItems:[]};i.template.sections.push(c)}},i.deleteLineItem=function(b){a.remove(i.selectedSection.lineItems,function(a){return b===a}),l()},i.isSaveInvalid=function(){var b=!1;return i.template&&(b=void 0!=a.find(i.template.sections,function(a){return 0===a.lineItems.length})),b};var k=function(){b.$watch("vm.template.name",function(a,b){d.templateName=a},!0)},l=function(){i.selectedSection=i.template.sections&&i.template.sections.length>0?i.template.sections[0]:void 0,i.selectedLineItem=i.selectedSection?i.selectedSection.lineItems[0]:void 0,angular.element("#line-item-extended").css("margin-top","")},m=function(){i.template&&(i.template.sections=a.orderBy(i.template.sections,"weight"),a.forEach(i.template.sections,function(b){b.lineItems=a.orderBy(b.lineItems,"weight")}))};j()}angular.module("ice.main.admin").controller("checklistTemplateController",["_","$scope","checklistService","$stateParams","toastService","$uibModal","$log",a])}(),function(){"use strict";function a(a,b,c,d,e,f,g,h,i){var j=this,k=function(){a.timeGapLocal=moment().format("z"),a.ampm=moment().format("A"),a.mom=moment().tz(moment.tz.guess()).format("z"),j.is_aic_edit_mode=!1,j.is_ecomp_edit_mode=!1,j.aic_loaded=!1,j.ecomp_loaded=!1,void 0!=b.engagement&&(j.engagement=b.engagement),void 0!=j.engagement&&(j.me=e.getUserData(),g.getSingleEngagement(j.me.uuid,j.engagement.uuid).then(function(b){if(a.ice.loader.show=!1,200===b.status&&b.data&&""!==b.data){var c=b.data;j.engagement_manual_id=c.engagement.engagement_manual_id,j.vf_name=c.name,j.vf_version=c.version,j.vf_uuid=c.uuid,j.ecomp_release=c.ecomp_release,j.target_lab=new Date(c.target_lab_entry_date),j.dtversion=c.deployment_target,j.selected_dt_uuid=j.dtversion.uuid,j.selected_ecomp_uuid=j.ecomp_release.uuid,j.me=e.getUserData(),j.name=j.engagement.name,j.isEngagementEL=e.isEngagementEL(c.engagement.engagement_team),j.isAdmin=e.isAdmin(j.me),l(),m()}}).catch(function(b){a.ice.loader.show=!1,h.error(b)}))};j.addVfc=function(){f.open({templateUrl:"main/modals/detailed-view/vfc/detailed-view-vfc-modal.html",controller:"detailedViewVFCModalController",controllerAs:"vm",resolve:{vf_uuid:function(){return j.vf_uuid}}}).result.then(function(a){a&&m()})},this.personArray=[j.dtversion,j.vf_uuid],j.editValidationDetails=function(){f.open({templateUrl:"main/modals/validation-details/detailed-view-validation-details-modal.html",controller:"validationDetailsModalController",controllerAs:"vm",resolve:{vf_uuid:function(){return j.vf_uuid}}}).result.then(function(a){a&&k()})},j.addDTS=function(){if(j.isEngagementEL||j.isAdmin){f.open({templateUrl:"main/modals/detailed-view/dtsite/detailed-view-dtsites-modal.html",controller:"detailedViewDtsitesModalController",controllerAs:"vm",resolve:{vf_uuid:function(){return j.vf_uuid}}}).result.then(function(a){a&&200===a&&l()})}},j.changeTargetLabEntry=function(){f.open({templateUrl:"main/modals/target-lab-entry/change-lab-entry-date.html",controller:"ChangeLabEntryDateModalController",controllerAs:"vm",resolve:{targetLabDate:function(){return j.target_lab},engagementUuid:function(){return j.engagement.uuid}}}).result.then(function(a){a&&(j.target_lab=new Date(a.target_date),h.debug("data.target_date",a.target_date),h.debug("vm.target_lab",j.target_lab))},function(){h.error("Modal dismissed at: "+new Date)})},j.deleteVfc=function(a){c.delete(a,j.vf_uuid).then(function(a){204===a.status&&m()}).catch(function(a){h.error(a)})},j.deleteDTSite=function(a,b){d.delete(j.vf_uuid,b).then(function(a){204===a.status&&l()}).catch(function(a){h.error(a)})};var l=function(){(j.isEngagementEL||j.isAdmin)&&(a.ice.loader.show=!0,d.getVFSites(j.vf_uuid).then(function(b){a.ice.loader.show=!1,200===b.status&&(j.dtsites=b.data)}).catch(function(b){a.ice.loader.show=!1,h.error(b)}))},m=function(){a.ice.loader.show=!0,c.get(j.vf_uuid).then(function(b){a.ice.loader.show=!1,200===b.status&&(j.vfcs=b.data)}).catch(function(b){a.ice.loader.show=!1,h.error(b)})};k()}angular.module("ice.dashboard.main").controller("detailedViewController",["$rootScope","$stateParams","vfcService","dtsiteService","usersService","$uibModal","vfService","$log","_",a])}(),function(){"use strict";function a(a){a.state("app.documentation",{views:{"navigation@app":{templateUrl:"core/navigation/layouts/documentation-navigation/navigation.html",controller:"documentationNavigationController as vm"},"sidebar@app":{templateUrl:"main/documentation/sidebar/documentation.sidebar.html"}},bodyClass:"documentation",params:{displaySidebar:!0}}).state("app.documentation.page",{url:"/documentation",views:{"content@app":{templateUrl:"main/documentation/documentation.html",controller:"documentationController as vm"}},bodyClass:"documentation",params:{displaySidebar:!0,page_id:void 0}})}angular.module("ice.documentation").config(a),a.$inject=["$stateProvider"]}(),function(){"use strict";function a(a,b,c){function d(){b.page_id&&a.getPage(b.page_id).then(function(a){a&&a.data&&(e.pageId=b.page_id,e.pageTitle=a.data.title,e.pageContent=a.data.content,e.publishDate=a.data.publish_date)}).catch(function(a){c.error(a)})}var e=this;!function(){d()}()}angular.module("ice.documentation").controller("documentationController",["cmsService","$stateParams","$log",a])}(),function(){"use strict";function a(a,b){var c=this,d=function(){b.getIceUser().then(function(a){c.receiveEmails=a.data.regular_email_updates,c.receiveEmailsEveryTime=a.data.email_updates_on_every_notification,c.receiveDigestEmails=a.data.email_updates_daily_digest,c.receiveNotifications=c.receiveEmailsEveryTime||c.receiveDigestEmails}).catch(function(b){a.setToast(b.message,"danger"),$log.error(b.message)})};c.submitForm=function(){var d=b.getUserData(),e={};e.regular_email_updates=c.receiveEmails,e.email_updates_on_every_notification=c.receiveEmailsEveryTime,e.email_updates_daily_digest=c.receiveDigestEmails,e.company=d.company.name,e.full_name=d.full_name,e.email=d.email,e.phone_number=d.phone_number,b.updateAccount(d.uuid,e).then(function(b){200===b.status&&a.setToast("User profile settings was updated successfully!","success")}).catch(function(b){a.setToast(b.message.detail,"danger")})},c.changeReceiveNotifications=function(){c.receiveNotifications||(c.receiveEmailsEveryTime=!1,c.receiveDigestEmails=!1)},d()}angular.module("ice.dashboard.account").controller("accountUserProfileSettingsController",["toastService","usersService",a])}(),angular.module("ice").run(["$templateCache",function(a){"use strict";a.put("main/activation/activate/activateUser.html",'\x3c!--\n============LICENSE_START========================================== \norg.onap.vvp/portal\n===================================================================\nCopyright © 2017 AT&T Intellectual Property. All rights reserved.\n===================================================================\n\nUnless otherwise specified, all software contained herein is licensed\nunder the Apache License, Version 2.0 (the “License”);\nyou may not use this software except in compliance with the License.\nYou may obtain a copy of the License at\n\n http:www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an "AS IS" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n\n\nUnless otherwise specified, all documentation contained herein is licensed\nunder the Creative Commons License, Attribution 4.0 Intl. (the “License”);\nyou may not use this documentation except in compliance with the License.\nYou may obtain a copy of the License at\n\n https:creativecommons.org/licenses/by/4.0/\n\nUnless required by applicable law or agreed to in writing, documentation\ndistributed under the License is distributed on an "AS IS" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n============LICENSE_END============================================\n\nECOMP is a trademark and service mark of AT&T Intellectual Property.--\x3e
'),a.put("main/activation/addVendorContact/addVendorContact.html",'\x3c!--\n============LICENSE_START========================================== \norg.onap.vvp/portal\n===================================================================\nCopyright © 2017 AT&T Intellectual Property. All rights reserved.\n===================================================================\n\nUnless otherwise specified, all software contained herein is licensed\nunder the Apache License, Version 2.0 (the “License”);\nyou may not use this software except in compliance with the License.\nYou may obtain a copy of the License at\n\n http:www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an "AS IS" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n\n\nUnless otherwise specified, all documentation contained herein is licensed\nunder the Creative Commons License, Attribution 4.0 Intl. (the “License”);\nyou may not use this documentation except in compliance with the License.\nYou may obtain a copy of the License at\n\n https:creativecommons.org/licenses/by/4.0/\n\nUnless required by applicable law or agreed to in writing, documentation\ndistributed under the License is distributed on an "AS IS" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n============LICENSE_END============================================\n\nECOMP is a trademark and service mark of AT&T Intellectual Property.--\x3e
Please select a company
Name is a required field. Full Name is too short. Full Name is too long.
Email is a required field. Enter a valid email.
Phone is a required field. Phone is too short. Phone is too long. Phone must consist of numbers only.
 I agree to receive regular email updates.
 I accept the AT&T\'s {{\'program.name\' | i18next}} Terms of Service and Privacy Policy.
reCAPTCHA is invalid.
'),a.put("main/activation/addVf/addVf.html",'\x3c!--\n============LICENSE_START========================================== \norg.onap.vvp/portal\n===================================================================\nCopyright © 2017 AT&T Intellectual Property. All rights reserved.\n===================================================================\n\nUnless otherwise specified, all software contained herein is licensed\nunder the Apache License, Version 2.0 (the “License”);\nyou may not use this software except in compliance with the License.\nYou may obtain a copy of the License at\n\n http:www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an "AS IS" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n\n\nUnless otherwise specified, all documentation contained herein is licensed\nunder the Creative Commons License, Attribution 4.0 Intl. (the “License”);\nyou may not use this documentation except in compliance with the License.\nYou may obtain a copy of the License at\n\n https:creativecommons.org/licenses/by/4.0/\n\nUnless required by applicable law or agreed to in writing, documentation\ndistributed under the License is distributed on an "AS IS" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n============LICENSE_END============================================\n\nECOMP is a trademark and service mark of AT&T Intellectual Property.--\x3e
\x3c!-- Table body --\x3e
\x3c!-- Text --\x3e
Use the form below to add your VF.Try to be as accurate as you can around the information to make sure the validation can accomplished as possible.
\x3c!-- Virtual Function --\x3e
VF Name
VF Name can be alphanumeric or/and Hyphen

Key Metadata

\x3c!-- Target Lab Entry --\x3e
Target Lab Entry Date
The virtual function is only developed internally inside AT&T.
'),a.put("main/activation/contactUs/contactUs.html",'\x3c!--\n============LICENSE_START========================================== \norg.onap.vvp/portal\n===================================================================\nCopyright © 2017 AT&T Intellectual Property. All rights reserved.\n===================================================================\n\nUnless otherwise specified, all software contained herein is licensed\nunder the Apache License, Version 2.0 (the “License”);\nyou may not use this software except in compliance with the License.\nYou may obtain a copy of the License at\n\n http:www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an "AS IS" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n\n\nUnless otherwise specified, all documentation contained herein is licensed\nunder the Creative Commons License, Attribution 4.0 Intl. (the “License”);\nyou may not use this documentation except in compliance with the License.\nYou may obtain a copy of the License at\n\n https:creativecommons.org/licenses/by/4.0/\n\nUnless required by applicable law or agreed to in writing, documentation\ndistributed under the License is distributed on an "AS IS" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n============LICENSE_END============================================\n\nECOMP is a trademark and service mark of AT&T Intellectual Property.--\x3e
'),a.put("main/activation/inviteMembers/inviteMembers.html",'\x3c!--\n============LICENSE_START========================================== \norg.onap.vvp/portal\n===================================================================\nCopyright © 2017 AT&T Intellectual Property. All rights reserved.\n===================================================================\n\nUnless otherwise specified, all software contained herein is licensed\nunder the Apache License, Version 2.0 (the “License”);\nyou may not use this software except in compliance with the License.\nYou may obtain a copy of the License at\n\n http:www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an "AS IS" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n\n\nUnless otherwise specified, all documentation contained herein is licensed\nunder the Creative Commons License, Attribution 4.0 Intl. (the “License”);\nyou may not use this documentation except in compliance with the License.\nYou may obtain a copy of the License at\n\n https:creativecommons.org/licenses/by/4.0/\n\nUnless required by applicable law or agreed to in writing, documentation\ndistributed under the License is distributed on an "AS IS" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n============LICENSE_END============================================\n\nECOMP is a trademark and service mark of AT&T Intellectual Property.--\x3e
Email is a required field. Enter a valid email.
Invite another team member
'), -a.put("main/activation/login/login.html",'\x3c!--\n============LICENSE_START========================================== \norg.onap.vvp/portal\n===================================================================\nCopyright © 2017 AT&T Intellectual Property. All rights reserved.\n===================================================================\n\nUnless otherwise specified, all software contained herein is licensed\nunder the Apache License, Version 2.0 (the “License”);\nyou may not use this software except in compliance with the License.\nYou may obtain a copy of the License at\n\n http:www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an "AS IS" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n\n\nUnless otherwise specified, all documentation contained herein is licensed\nunder the Creative Commons License, Attribution 4.0 Intl. (the “License”);\nyou may not use this documentation except in compliance with the License.\nYou may obtain a copy of the License at\n\n https:creativecommons.org/licenses/by/4.0/\n\nUnless required by applicable law or agreed to in writing, documentation\ndistributed under the License is distributed on an "AS IS" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n============LICENSE_END============================================\n\nECOMP is a trademark and service mark of AT&T Intellectual Property.--\x3e
'),a.put("main/activation/register/register.html",'\x3c!--\n============LICENSE_START========================================== \norg.onap.vvp/portal\n===================================================================\nCopyright © 2017 AT&T Intellectual Property. All rights reserved.\n===================================================================\n\nUnless otherwise specified, all software contained herein is licensed\nunder the Apache License, Version 2.0 (the “License”);\nyou may not use this software except in compliance with the License.\nYou may obtain a copy of the License at\n\n http:www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an "AS IS" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n\n\nUnless otherwise specified, all documentation contained herein is licensed\nunder the Creative Commons License, Attribution 4.0 Intl. (the “License”);\nyou may not use this documentation except in compliance with the License.\nYou may obtain a copy of the License at\n\n https:creativecommons.org/licenses/by/4.0/\n\nUnless required by applicable law or agreed to in writing, documentation\ndistributed under the License is distributed on an "AS IS" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n============LICENSE_END============================================\n\nECOMP is a trademark and service mark of AT&T Intellectual Property.--\x3e
- - -
-

Fonts.com Web fonts

-

@font-face implementation instructions

-

The asynchronous script loads in the background allowing the other elements of your website to load first and undeterred.

-
-

The fonts contained in this kit are:

-
-
Omnes_ATT W02 Italic
-
Omnes_ATT W02 Light
-
Omnes_ATT W02 Light Italic
-
Omnes_ATT W02 Medium
-
Omnes_ATT W02 Medium Italic
-
Omnes_ATT W02 Regular
-
Omnes_ATT W02 Bold
-
Omnes_ATT W02 Bold Italic
- -
-
- Click here for css only web fonts implementation -
-
-

CSS Implementation Guidelines

-

You and any third party web font hosting service are responsible for ensuring that the font software in the self-hosting kit, in its original format, can only be used on the Web Sites for which the self-hosting kit was downloaded and cannot be used or referenced by any other web site. This includes, but is not limited to installing adequate technical protection measures that restrict the use and/or access to the font software, for instance by utilizing JavaScript or access control mechanism for cross-origin resource sharing and protecting against use on web sites other than the Web Sites for which the self-hosting kit was downloaded by restricting domain access only to such Web Sites. You must also retain the pageview tracking code on any Web Site that you self-host. In the event this Agreement terminates for any reason, the font software included with the self-hosting kit must be deleted from the server and all copies must be destroyed or returned to Monotype Imaging.

-

View "WEB FONT SOFTWARE" LICENSE AGREEMENT

-

Asynchronous Implementation (Requires JavaScript)

-

Font file names have been obfuscated to protect the font software. You can identify font format based on file ending:

-
    -
  • 1 - TrueType (ttf)
  • -
  • 2 - Embedded OpenType (eot)
  • -
  • 3 - Web Open Font Format (woff)
  • -
  • 4 - Scalable Vector Graphics (svg)
  • -
-

Copy and paste following code in head section of the page

-
- -

Licensing information should be included within the CSS

-
/*
-This CSS resource incorporates links to font software which is the valuable copyrighted
-property of Monotype Imaging and/or its suppliers. You may not attempt to copy, install,
-redistribute, convert, modify or reverse engineer this font software. Please contact Monotype
-Imaging with any questions regarding Web Fonts:  http://webfonts.fonts.com
-*/
-
-
- - diff --git a/d2ice.att.io/dist/styles/fonts/OmnesATT/demo.htm b/d2ice.att.io/dist/styles/fonts/OmnesATT/demo.htm deleted file mode 100755 index edb62ad3..00000000 --- a/d2ice.att.io/dist/styles/fonts/OmnesATT/demo.htm +++ /dev/null @@ -1,155 +0,0 @@ - - - - Webfonts Demo - - - - - -
-

Fonts.com Web fonts

-

@font-face implementation instructions

-
-

The fonts contained in this kit are:

-
-
Omnes_ATT W02 Italic
-
Omnes_ATT W02 Light
-
Omnes_ATT W02 Light Italic
-
Omnes_ATT W02 Medium
-
Omnes_ATT W02 Medium Italic
-
Omnes_ATT W02 Regular
-
Omnes_ATT W02 Bold
-
Omnes_ATT W02 Bold Italic
- -
-
- Click here for asynchronous web fonts implementation -
-
-

CSS Implementation Guidelines

-

You and any third party web font hosting service are responsible for ensuring that the font software in the self-hosting kit, in its original format, can only be used on the Web Sites for which the self-hosting kit was downloaded and cannot be used or referenced by any other web site. This includes, but is not limited to installing adequate technical protection measures that restrict the use and/or access to the font software, for instance by utilizing JavaScript or access control mechanism for cross-origin resource sharing and protecting against use on web sites other than the Web Sites for which the self-hosting kit was downloaded by restricting domain access only to such Web Sites. You must also retain the pageview tracking code on any Web Site that you self-host. In the event this Agreement terminates for any reason, the font software included with the self-hosting kit must be deleted from the server and all copies must be destroyed or returned to Monotype Imaging.

-

View "WEB FONT SOFTWARE" LICENSE AGREEMENT

-

Font file names have been obfuscated to protect the font software. You can identify font format based on file ending:

-
    -
  • 1 - TrueType (ttf)
  • -
  • 2 - Embedded OpenType (eot)
  • -
  • 3 - Web Open Font Format (woff)
  • -
  • 4 - Scalable Vector Graphics (svg)
  • -
-

Copy and paste following code in head section of the page

-
- -

Licensing information should be included within the CSS

-
/*
-This CSS resource incorporates links to font software which is the valuable copyrighted
-property of Monotype Imaging and/or its suppliers. You may not attempt to copy, install,
-redistribute, convert, modify or reverse engineer this font software. Please contact Monotype
-Imaging with any questions regarding Web Fonts:  http://webfonts.fonts.com
-*/
-
-
- - diff --git a/d2ice.att.io/dist/styles/images/Collaborate.png b/d2ice.att.io/dist/styles/images/Collaborate.png deleted file mode 100755 index c9620fe2..00000000 Binary files a/d2ice.att.io/dist/styles/images/Collaborate.png and /dev/null differ diff --git a/d2ice.att.io/dist/styles/images/Incubate.png b/d2ice.att.io/dist/styles/images/Incubate.png deleted file mode 100755 index a286e543..00000000 Binary files a/d2ice.att.io/dist/styles/images/Incubate.png and /dev/null differ diff --git a/d2ice.att.io/dist/styles/images/Validate.png b/d2ice.att.io/dist/styles/images/Validate.png deleted file mode 100755 index cae7c3b4..00000000 Binary files a/d2ice.att.io/dist/styles/images/Validate.png and /dev/null differ diff --git a/d2ice.att.io/dist/styles/images/actions-sprite.png b/d2ice.att.io/dist/styles/images/actions-sprite.png deleted file mode 100755 index f5bd8e21..00000000 Binary files a/d2ice.att.io/dist/styles/images/actions-sprite.png and /dev/null differ diff --git a/d2ice.att.io/dist/styles/images/btn1.png b/d2ice.att.io/dist/styles/images/btn1.png deleted file mode 100755 index f64474a7..00000000 Binary files a/d2ice.att.io/dist/styles/images/btn1.png and /dev/null differ diff --git a/d2ice.att.io/dist/styles/images/btn2.png b/d2ice.att.io/dist/styles/images/btn2.png deleted file mode 100755 index 8c32da99..00000000 Binary files a/d2ice.att.io/dist/styles/images/btn2.png and /dev/null differ diff --git a/d2ice.att.io/dist/styles/images/btn3.png b/d2ice.att.io/dist/styles/images/btn3.png deleted file mode 100755 index cb823506..00000000 Binary files a/d2ice.att.io/dist/styles/images/btn3.png and /dev/null differ diff --git a/d2ice.att.io/dist/styles/images/btnX.png b/d2ice.att.io/dist/styles/images/btnX.png deleted file mode 100755 index 97bf32db..00000000 Binary files a/d2ice.att.io/dist/styles/images/btnX.png and /dev/null differ diff --git a/d2ice.att.io/dist/styles/images/d2sandbox_logos-150x30.png b/d2ice.att.io/dist/styles/images/d2sandbox_logos-150x30.png deleted file mode 100755 index 252c572e..00000000 Binary files a/d2ice.att.io/dist/styles/images/d2sandbox_logos-150x30.png and /dev/null differ diff --git a/d2ice.att.io/dist/styles/images/d2sandbox_logos_color-150x30.png b/d2ice.att.io/dist/styles/images/d2sandbox_logos_color-150x30.png deleted file mode 100755 index ec7a2c8a..00000000 Binary files a/d2ice.att.io/dist/styles/images/d2sandbox_logos_color-150x30.png and /dev/null differ diff --git a/d2ice.att.io/dist/styles/images/flags.png b/d2ice.att.io/dist/styles/images/flags.png deleted file mode 100755 index 89b1f1cd..00000000 Binary files a/d2ice.att.io/dist/styles/images/flags.png and /dev/null differ diff --git a/d2ice.att.io/dist/styles/images/flags@2x.png b/d2ice.att.io/dist/styles/images/flags@2x.png deleted file mode 100755 index 3624e635..00000000 Binary files a/d2ice.att.io/dist/styles/images/flags@2x.png and /dev/null differ diff --git a/d2ice.att.io/dist/styles/images/home_bg1-1920x1138.jpg b/d2ice.att.io/dist/styles/images/home_bg1-1920x1138.jpg deleted file mode 100755 index 1a56a1eb..00000000 Binary files a/d2ice.att.io/dist/styles/images/home_bg1-1920x1138.jpg and /dev/null differ diff --git a/d2ice.att.io/dist/styles/images/icons-sprite-v2.png b/d2ice.att.io/dist/styles/images/icons-sprite-v2.png deleted file mode 100755 index b4d406cc..00000000 Binary files a/d2ice.att.io/dist/styles/images/icons-sprite-v2.png and /dev/null differ diff --git a/d2ice.att.io/dist/styles/images/icons-sprite-v3.png b/d2ice.att.io/dist/styles/images/icons-sprite-v3.png deleted file mode 100755 index 9a787aa2..00000000 Binary files a/d2ice.att.io/dist/styles/images/icons-sprite-v3.png and /dev/null differ diff --git a/d2ice.att.io/dist/styles/images/icons-sprite-v4.png b/d2ice.att.io/dist/styles/images/icons-sprite-v4.png deleted file mode 100755 index fe60f0d4..00000000 Binary files a/d2ice.att.io/dist/styles/images/icons-sprite-v4.png and /dev/null differ diff --git a/d2ice.att.io/dist/styles/images/icons-sprite-v5.png b/d2ice.att.io/dist/styles/images/icons-sprite-v5.png deleted file mode 100755 index 48474468..00000000 Binary files a/d2ice.att.io/dist/styles/images/icons-sprite-v5.png and /dev/null differ diff --git a/d2ice.att.io/dist/styles/images/icons-sprite.png b/d2ice.att.io/dist/styles/images/icons-sprite.png deleted file mode 100755 index d3f053ff..00000000 Binary files a/d2ice.att.io/dist/styles/images/icons-sprite.png and /dev/null differ diff --git a/d2ice.att.io/dist/styles/images/profiles-sprite.png b/d2ice.att.io/dist/styles/images/profiles-sprite.png deleted file mode 100755 index c7ca9868..00000000 Binary files a/d2ice.att.io/dist/styles/images/profiles-sprite.png and /dev/null differ diff --git a/d2ice.att.io/dist/styles/images/steps-sprite.png b/d2ice.att.io/dist/styles/images/steps-sprite.png deleted file mode 100755 index 7e9e7c12..00000000 Binary files a/d2ice.att.io/dist/styles/images/steps-sprite.png and /dev/null differ diff --git a/d2ice.att.io/dist/styles/images/top.jpg b/d2ice.att.io/dist/styles/images/top.jpg deleted file mode 100755 index 6d021c19..00000000 Binary files a/d2ice.att.io/dist/styles/images/top.jpg and /dev/null differ diff --git a/d2ice.att.io/dist/styles/images/wait.gif b/d2ice.att.io/dist/styles/images/wait.gif deleted file mode 100755 index 08c5320d..00000000 Binary files a/d2ice.att.io/dist/styles/images/wait.gif and /dev/null differ diff --git a/d2ice.att.io/dist/styles/main.e3dcf1a7.css b/d2ice.att.io/dist/styles/main.e3dcf1a7.css deleted file mode 100755 index 2b666d46..00000000 --- a/d2ice.att.io/dist/styles/main.e3dcf1a7.css +++ /dev/null @@ -1 +0,0 @@ -body,body.ice .container-fluid,body.ice .container-fluid>.row,body.ice .container-fluid>.row>#main,html{height:100%}.checkList .italic,.italic{font-style:italic}.checkList .font-deco,.next-steps .font-deco{-webkit-text-decoration-style:dashed;text-decoration-style:dashed}@font-face{font-family:omnes-italic;src:url(fonts/OmnesATT/Omnes_ATTW02Italic.eot);src:url(fonts/OmnesATT/Omnes_ATTW02Italic.eot?#iefix) format('embedded-opentype'),url(fonts/OmnesATT/Omnes_ATTW02Italic.ttf)}@font-face{font-family:omnes-light;src:url(fonts/OmnesATT/Omnes_ATTW02Light.eot);src:url(fonts/OmnesATT/Omnes_ATTW02Light.eot?#iefix) format('embedded-opentype'),url(fonts/OmnesATT/Omnes_ATTW02Light.ttf)}@font-face{font-family:omnes-light-italic;src:url(fonts/OmnesATT/Omnes_ATTW02LightItalic.eot);src:url(fonts/OmnesATT/Omnes_ATTW02LightItalic.eot?#iefix) format('embedded-opentype'),url(fonts/OmnesATT/Omnes_ATTW02LightItalic.ttf)}@font-face{font-family:omnes-medium;src:url(fonts/OmnesATT/Omnes_ATTW02Medium.eot);src:url(fonts/OmnesATT/Omnes_ATTW02Medium.eot?#iefix) format('embedded-opentype'),url(fonts/OmnesATT/Omnes_ATTW02Medium.ttf)}@font-face{font-family:omnes-medium-italic;src:url(fonts/OmnesATT/Omnes_ATTW02MediumItalic.eot);src:url(fonts/OmnesATT/Omnes_ATTW02MediumItalic.eot?#iefix) format('embedded-opentype'),url(fonts/OmnesATT/Omnes_ATTW02MediumItalic.ttf)}@font-face{font-family:omnes-regular;src:url(fonts/OmnesATT/Omnes_ATTW02.eot);src:url(fonts/OmnesATT/Omnes_ATTW02.eot?#iefix) format('embedded-opentype'),url(fonts/OmnesATT/Omnes_ATTW02.ttf)}@font-face{font-family:omnes-bold;src:url(fonts/OmnesATT/Omnes_ATTW02Bold.eot);src:url(fonts/OmnesATT/Omnes_ATTW02Bold.eot?#iefix) format('embedded-opentype'),url(fonts/OmnesATT/Omnes_ATTW02Bold.ttf)}@font-face{font-family:omnes-bold-italic;src:url(fonts/OmnesATT/OmnesATTW02BoldItalic.eot);src:url(fonts/OmnesATT/OmnesATTW02BoldItalic.eot?#iefix) format('embedded-opentype'),url(fonts/OmnesATT/OmnesATTW02BoldItalic.ttf)}@font-face{font-family:clearview-book;src:url(fonts/ClearviewATT/ClearviewATT-Bk.eot);src:url(fonts/ClearviewATT/ClearviewATT-Bk.eot?#iefix) format('embedded-opentype'),url(fonts/ClearviewATT/ClearviewATT-Bk.ttf)}label{font-weight:400}.ice-form-label{color:#191919;font-family:omnes-regular,sans-serif;font-size:14px}.ice-form-label.required:before{content:'* ';color:#cf2a2a;font-family:omnes-medium,sans-serif;font-size:14px}.ice-form-error,body{font-family:omnes-regular,sans-serif;font-size:14px}.ice-form-error{color:#cf2a2a}body{color:#5a5a5a}*{box-sizing:border-box;margin:0;outline:0;transition:none!important}@media (max-width:992px){.navbar-header{float:none}.navbar-left,.navbar-nav,.navbar-right{float:none!important}.navbar-toggle{display:block}.navbar-collapse{border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-collapse.collapse{display:none!important}.navbar-nav{margin-top:7.5px}.navbar-nav>li{float:none}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px}.collapse.in{display:block!important}}@media (min-width:998px){body,html{height:100%;overflow:hidden}}body.ice #header-title{height:130px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}body.ice #header-title h1{color:#fff;font-family:omnes-light,sans-serif;font-size:24px;margin:20px 0 10px}body.ice #header-title h2{color:#fff;font-family:omnes-medium,sans-serif;font-size:16px;margin:0}body.ice #content{padding:20px}body.ice #content .row{height:100%}body.ice a,body.ice a:active,body.ice a:focus,body.ice a:hover{color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:16px;text-decoration:none;cursor:pointer}body.ice ul{padding:0}.bold{font-weight:700}.line-through{-webkit-text-decoration-line:line-through;text-decoration-line:line-through}.account .content .right-panel .show-secret,.checkList .font-deco,.next-steps .font-deco,.underline{-webkit-text-decoration-line:underline;text-decoration-line:underline}.f-color .a,.f-color .b,.f-color .c{color:#1370a3}.f-color .d{color:#4ca90c}.f-color .e{color:#007a3e}.f-color .f{color:#b5bd00}.f-color .g{color:#ea7499}.f-color .h{color:#ffb81c}.f-color .i{color:#702f8a}.f-color .j{color:#9063cd}.f-color .k{color:#caa2dd}.f-color .l{color:#000}.f-color .m{color:#5a5a5a}.f-color .n{color:#959595}.f-color .o{color:#d2d2d2}.f-color .p{color:#fff}.f-color .q{color:#cf2a2a}.f-color .r{color:#f2f2f2}.f-color .s{color:#191919}.f-color .x{color:#D74854}.f-color .t{color:#faf8f8}.f-color .u{color:#eaeaea}.f-color .v{color:#e6f6fb}.f-color .w{color:#EEF9FF}.f-type ._36{font-family:omnes-light,sans-serif;font-size:36px}.f-type ._36_m{font-family:omnes-medium,sans-serif;font-size:36px}.f-type ._26{font-family:omnes-light,sans-serif;font-size:26px}.f-type ._26_m{font-family:omnes-medium,sans-serif;font-size:26px}.f-type ._24{font-family:omnes-light,sans-serif;font-size:24px}.f-type ._24_m{font-family:omnes-medium,sans-serif;font-size:24px}.f-type ._24_r{font-family:omnes-regular,sans-serif;font-size:24px}.f-type ._22{font-family:omnes-light,sans-serif;font-size:22px}.f-type ._22_m{font-family:omnes-medium,sans-serif;font-size:22px}.f-type ._20{font-family:omnes-light,sans-serif;font-size:20px}.f-type ._20_m{font-family:omnes-medium,sans-serif;font-size:20px}.f-type ._18{font-family:omnes-light,sans-serif;font-size:18px}.f-type ._18_r{font-family:omnes-regular,sans-serif;font-size:18px}.f-type ._18_m{font-family:omnes-medium,sans-serif;font-size:18px}.f-type ._16_i{font-family:omnes-medium-italic,sans-serif;font-size:16px}.f-type ._16_r{font-family:omnes-regular,sans-serif;font-size:16px}.f-type ._16_m{font-family:omnes-medium,sans-serif;font-size:16px}.f-type ._14_r{font-family:omnes-regular,sans-serif;font-size:14px}.f-type ._14_m{font-family:omnes-medium,sans-serif;font-size:14px}.f-type ._14_i{font-family:omnes-medium-italic,sans-serif;font-size:14px}.f-type ._13_r{font-family:omnes-regular,sans-serif;font-size:13px}.f-type ._13_m{font-family:omnes-medium,sans-serif;font-size:13px}.f-type ._13_i{font-family:omnes-medium-italic,sans-serif;font-size:13px}.f-type ._12_r{font-family:omnes-regular,sans-serif;font-size:12px}.f-type ._12_m{font-family:omnes-medium,sans-serif;font-size:12px}.f-type ._12_i{font-family:omnes-medium-italic,sans-serif;font-size:12px}.f-type ._10_r{font-family:omnes-regular,sans-serif;font-size:10px}.f-type ._10_m{font-family:omnes-medium,sans-serif;font-size:10px}.a_36,.a_36_m{color:#1370a3;font-size:36px}.a_36{font-family:omnes-light,sans-serif}.a_36_m{font-family:omnes-medium,sans-serif}.a_26,.a_26_m{color:#1370a3;font-size:26px}.a_26{font-family:omnes-light,sans-serif}.a_26_m{font-family:omnes-medium,sans-serif}.a_24,.a_24_m,.a_24_r{color:#1370a3;font-size:24px}.a_24{font-family:omnes-light,sans-serif}.a_24_m{font-family:omnes-medium,sans-serif}.a_24_r{font-family:omnes-regular,sans-serif}.a_22,.a_22_m{color:#1370a3;font-size:22px}.a_22{font-family:omnes-light,sans-serif}.a_22_m{font-family:omnes-medium,sans-serif}.a_20,.a_20_m{color:#1370a3;font-size:20px}.a_20{font-family:omnes-light,sans-serif}.a_20_m{font-family:omnes-medium,sans-serif}.a_18,.a_18_m,.a_18_r{color:#1370a3;font-size:18px}.a_18{font-family:omnes-light,sans-serif}.a_18_r{font-family:omnes-regular,sans-serif}.a_18_m{font-family:omnes-medium,sans-serif}.a_16_i,.a_16_m,.a_16_r{color:#1370a3;font-size:16px}.a_16_i{font-family:omnes-medium-italic,sans-serif}.a_16_r{font-family:omnes-regular,sans-serif}.a_16_m{font-family:omnes-medium,sans-serif}.a_14_i,.a_14_m,.a_14_r{color:#1370a3;font-size:14px}.a_14_r{font-family:omnes-regular,sans-serif}.a_14_m{font-family:omnes-medium,sans-serif}.a_14_i{font-family:omnes-medium-italic,sans-serif}.a_13_i,.a_13_m,.a_13_r{color:#1370a3;font-size:13px}.a_13_r{font-family:omnes-regular,sans-serif}.a_13_m{font-family:omnes-medium,sans-serif}.a_13_i{font-family:omnes-medium-italic,sans-serif}.a_12_i,.a_12_m,.a_12_r{color:#1370a3;font-size:12px}.a_12_r{font-family:omnes-regular,sans-serif}.a_12_m{font-family:omnes-medium,sans-serif}.a_12_i{font-family:omnes-medium-italic,sans-serif}.a_10_m,.a_10_r{color:#1370a3;font-size:10px}.a_10_r{font-family:omnes-regular,sans-serif}.a_10_m{font-family:omnes-medium,sans-serif}.b_36,.b_36_m{color:#1370a3;font-size:36px}.b_36{font-family:omnes-light,sans-serif}.b_36_m{font-family:omnes-medium,sans-serif}.b_26,.b_26_m{color:#1370a3;font-size:26px}.b_26{font-family:omnes-light,sans-serif}.b_26_m{font-family:omnes-medium,sans-serif}.b_24,.b_24_m,.b_24_r{color:#1370a3;font-size:24px}.b_24{font-family:omnes-light,sans-serif}.b_24_m{font-family:omnes-medium,sans-serif}.b_24_r{font-family:omnes-regular,sans-serif}.b_22,.b_22_m{color:#1370a3;font-size:22px}.b_22{font-family:omnes-light,sans-serif}.b_22_m{font-family:omnes-medium,sans-serif}.b_20,.b_20_m{color:#1370a3;font-size:20px}.b_20{font-family:omnes-light,sans-serif}.b_20_m{font-family:omnes-medium,sans-serif}.b_18,.b_18_m,.b_18_r{color:#1370a3;font-size:18px}.b_18{font-family:omnes-light,sans-serif}.b_18_r{font-family:omnes-regular,sans-serif}.b_18_m{font-family:omnes-medium,sans-serif}.b_16_i,.b_16_m,.b_16_r{color:#1370a3;font-size:16px}.b_16_i{font-family:omnes-medium-italic,sans-serif}.b_16_r{font-family:omnes-regular,sans-serif}.b_16_m{font-family:omnes-medium,sans-serif}.b_14_i,.b_14_m,.b_14_r{color:#1370a3;font-size:14px}.b_14_r{font-family:omnes-regular,sans-serif}.b_14_m{font-family:omnes-medium,sans-serif}.b_14_i{font-family:omnes-medium-italic,sans-serif}.b_13_i,.b_13_m,.b_13_r{color:#1370a3;font-size:13px}.b_13_r{font-family:omnes-regular,sans-serif}.b_13_m{font-family:omnes-medium,sans-serif}.b_13_i{font-family:omnes-medium-italic,sans-serif}.b_12_i,.b_12_m,.b_12_r{color:#1370a3;font-size:12px}.b_12_r{font-family:omnes-regular,sans-serif}.b_12_m{font-family:omnes-medium,sans-serif}.b_12_i{font-family:omnes-medium-italic,sans-serif}.b_10_m,.b_10_r{color:#1370a3;font-size:10px}.b_10_r{font-family:omnes-regular,sans-serif}.b_10_m{font-family:omnes-medium,sans-serif}.c_36,.c_36_m{color:#1370a3;font-size:36px}.c_36{font-family:omnes-light,sans-serif}.c_36_m{font-family:omnes-medium,sans-serif}.c_26,.c_26_m{color:#1370a3;font-size:26px}.c_26{font-family:omnes-light,sans-serif}.c_26_m{font-family:omnes-medium,sans-serif}.c_24,.c_24_m,.c_24_r{color:#1370a3;font-size:24px}.c_24{font-family:omnes-light,sans-serif}.c_24_m{font-family:omnes-medium,sans-serif}.c_24_r{font-family:omnes-regular,sans-serif}.c_22,.c_22_m{color:#1370a3;font-size:22px}.c_22{font-family:omnes-light,sans-serif}.c_22_m{font-family:omnes-medium,sans-serif}.c_20,.c_20_m{color:#1370a3;font-size:20px}.c_20{font-family:omnes-light,sans-serif}.c_20_m{font-family:omnes-medium,sans-serif}.c_18,.c_18_m,.c_18_r{color:#1370a3;font-size:18px}.c_18{font-family:omnes-light,sans-serif}.c_18_r{font-family:omnes-regular,sans-serif}.c_18_m{font-family:omnes-medium,sans-serif}.c_16_i,.c_16_m,.c_16_r{color:#1370a3;font-size:16px}.c_16_i{font-family:omnes-medium-italic,sans-serif}.c_16_r{font-family:omnes-regular,sans-serif}.c_16_m{font-family:omnes-medium,sans-serif}.c_14_i,.c_14_m,.c_14_r{color:#1370a3;font-size:14px}.c_14_r{font-family:omnes-regular,sans-serif}.c_14_m{font-family:omnes-medium,sans-serif}.c_14_i{font-family:omnes-medium-italic,sans-serif}.c_13_i,.c_13_m,.c_13_r{color:#1370a3;font-size:13px}.c_13_r{font-family:omnes-regular,sans-serif}.c_13_m{font-family:omnes-medium,sans-serif}.c_13_i{font-family:omnes-medium-italic,sans-serif}.c_12_i,.c_12_m,.c_12_r{color:#1370a3;font-size:12px}.c_12_r{font-family:omnes-regular,sans-serif}.c_12_m{font-family:omnes-medium,sans-serif}.c_12_i{font-family:omnes-medium-italic,sans-serif}.c_10_m,.c_10_r{color:#1370a3;font-size:10px}.c_10_r{font-family:omnes-regular,sans-serif}.c_10_m{font-family:omnes-medium,sans-serif}.d_36,.d_36_m{color:#4ca90c;font-size:36px}.d_36{font-family:omnes-light,sans-serif}.d_36_m{font-family:omnes-medium,sans-serif}.d_26,.d_26_m{color:#4ca90c;font-size:26px}.d_26{font-family:omnes-light,sans-serif}.d_26_m{font-family:omnes-medium,sans-serif}.d_24,.d_24_m,.d_24_r{color:#4ca90c;font-size:24px}.d_24{font-family:omnes-light,sans-serif}.d_24_m{font-family:omnes-medium,sans-serif}.d_24_r{font-family:omnes-regular,sans-serif}.d_22,.d_22_m{color:#4ca90c;font-size:22px}.d_22{font-family:omnes-light,sans-serif}.d_22_m{font-family:omnes-medium,sans-serif}.d_20,.d_20_m{color:#4ca90c;font-size:20px}.d_20{font-family:omnes-light,sans-serif}.d_20_m{font-family:omnes-medium,sans-serif}.d_18,.d_18_m,.d_18_r{color:#4ca90c;font-size:18px}.d_18{font-family:omnes-light,sans-serif}.d_18_r{font-family:omnes-regular,sans-serif}.d_18_m{font-family:omnes-medium,sans-serif}.d_16_i,.d_16_m,.d_16_r{color:#4ca90c;font-size:16px}.d_16_i{font-family:omnes-medium-italic,sans-serif}.d_16_r{font-family:omnes-regular,sans-serif}.d_16_m{font-family:omnes-medium,sans-serif}.d_14_i,.d_14_m,.d_14_r{color:#4ca90c;font-size:14px}.d_14_r{font-family:omnes-regular,sans-serif}.d_14_m{font-family:omnes-medium,sans-serif}.d_14_i{font-family:omnes-medium-italic,sans-serif}.d_13_i,.d_13_m,.d_13_r{color:#4ca90c;font-size:13px}.d_13_r{font-family:omnes-regular,sans-serif}.d_13_m{font-family:omnes-medium,sans-serif}.d_13_i{font-family:omnes-medium-italic,sans-serif}.d_12_i,.d_12_m,.d_12_r{color:#4ca90c;font-size:12px}.d_12_r{font-family:omnes-regular,sans-serif}.d_12_m{font-family:omnes-medium,sans-serif}.d_12_i{font-family:omnes-medium-italic,sans-serif}.d_10_m,.d_10_r{color:#4ca90c;font-size:10px}.d_10_r{font-family:omnes-regular,sans-serif}.d_10_m{font-family:omnes-medium,sans-serif}.e_36,.e_36_m{color:#007a3e;font-size:36px}.e_36{font-family:omnes-light,sans-serif}.e_36_m{font-family:omnes-medium,sans-serif}.e_26,.e_26_m{color:#007a3e;font-size:26px}.e_26{font-family:omnes-light,sans-serif}.e_26_m{font-family:omnes-medium,sans-serif}.e_24,.e_24_m,.e_24_r{color:#007a3e;font-size:24px}.e_24{font-family:omnes-light,sans-serif}.e_24_m{font-family:omnes-medium,sans-serif}.e_24_r{font-family:omnes-regular,sans-serif}.e_22,.e_22_m{color:#007a3e;font-size:22px}.e_22{font-family:omnes-light,sans-serif}.e_22_m{font-family:omnes-medium,sans-serif}.e_20,.e_20_m{color:#007a3e;font-size:20px}.e_20{font-family:omnes-light,sans-serif}.e_20_m{font-family:omnes-medium,sans-serif}.e_18,.e_18_m,.e_18_r{color:#007a3e;font-size:18px}.e_18{font-family:omnes-light,sans-serif}.e_18_r{font-family:omnes-regular,sans-serif}.e_18_m{font-family:omnes-medium,sans-serif}.e_16_i,.e_16_m,.e_16_r{color:#007a3e;font-size:16px}.e_16_i{font-family:omnes-medium-italic,sans-serif}.e_16_r{font-family:omnes-regular,sans-serif}.e_16_m{font-family:omnes-medium,sans-serif}.e_14_i,.e_14_m,.e_14_r{color:#007a3e;font-size:14px}.e_14_r{font-family:omnes-regular,sans-serif}.e_14_m{font-family:omnes-medium,sans-serif}.e_14_i{font-family:omnes-medium-italic,sans-serif}.e_13_i,.e_13_m,.e_13_r{color:#007a3e;font-size:13px}.e_13_r{font-family:omnes-regular,sans-serif}.e_13_m{font-family:omnes-medium,sans-serif}.e_13_i{font-family:omnes-medium-italic,sans-serif}.e_12_i,.e_12_m,.e_12_r{color:#007a3e;font-size:12px}.e_12_r{font-family:omnes-regular,sans-serif}.e_12_m{font-family:omnes-medium,sans-serif}.e_12_i{font-family:omnes-medium-italic,sans-serif}.e_10_m,.e_10_r{color:#007a3e;font-size:10px}.e_10_r{font-family:omnes-regular,sans-serif}.e_10_m{font-family:omnes-medium,sans-serif}.f_36,.f_36_m{color:#b5bd00;font-size:36px}.f_36{font-family:omnes-light,sans-serif}.f_36_m{font-family:omnes-medium,sans-serif}.f_26,.f_26_m{color:#b5bd00;font-size:26px}.f_26{font-family:omnes-light,sans-serif}.f_26_m{font-family:omnes-medium,sans-serif}.f_24,.f_24_m,.f_24_r{color:#b5bd00;font-size:24px}.f_24{font-family:omnes-light,sans-serif}.f_24_m{font-family:omnes-medium,sans-serif}.f_24_r{font-family:omnes-regular,sans-serif}.f_22,.f_22_m{color:#b5bd00;font-size:22px}.f_22{font-family:omnes-light,sans-serif}.f_22_m{font-family:omnes-medium,sans-serif}.f_20,.f_20_m{color:#b5bd00;font-size:20px}.f_20{font-family:omnes-light,sans-serif}.f_20_m{font-family:omnes-medium,sans-serif}.f_18,.f_18_m,.f_18_r{color:#b5bd00;font-size:18px}.f_18{font-family:omnes-light,sans-serif}.f_18_r{font-family:omnes-regular,sans-serif}.f_18_m{font-family:omnes-medium,sans-serif}.f_16_i,.f_16_m,.f_16_r{color:#b5bd00;font-size:16px}.f_16_i{font-family:omnes-medium-italic,sans-serif}.f_16_r{font-family:omnes-regular,sans-serif}.f_16_m{font-family:omnes-medium,sans-serif}.f_14_i,.f_14_m,.f_14_r{color:#b5bd00;font-size:14px}.f_14_r{font-family:omnes-regular,sans-serif}.f_14_m{font-family:omnes-medium,sans-serif}.f_14_i{font-family:omnes-medium-italic,sans-serif}.f_13_i,.f_13_m,.f_13_r{color:#b5bd00;font-size:13px}.f_13_r{font-family:omnes-regular,sans-serif}.f_13_m{font-family:omnes-medium,sans-serif}.f_13_i{font-family:omnes-medium-italic,sans-serif}.f_12_i,.f_12_m,.f_12_r{color:#b5bd00;font-size:12px}.f_12_r{font-family:omnes-regular,sans-serif}.f_12_m{font-family:omnes-medium,sans-serif}.f_12_i{font-family:omnes-medium-italic,sans-serif}.f_10_m,.f_10_r{color:#b5bd00;font-size:10px}.f_10_r{font-family:omnes-regular,sans-serif}.f_10_m{font-family:omnes-medium,sans-serif}.g_36,.g_36_m{color:#ea7499;font-size:36px}.g_36{font-family:omnes-light,sans-serif}.g_36_m{font-family:omnes-medium,sans-serif}.g_26,.g_26_m{color:#ea7499;font-size:26px}.g_26{font-family:omnes-light,sans-serif}.g_26_m{font-family:omnes-medium,sans-serif}.g_24,.g_24_m,.g_24_r{color:#ea7499;font-size:24px}.g_24{font-family:omnes-light,sans-serif}.g_24_m{font-family:omnes-medium,sans-serif}.g_24_r{font-family:omnes-regular,sans-serif}.g_22,.g_22_m{color:#ea7499;font-size:22px}.g_22{font-family:omnes-light,sans-serif}.g_22_m{font-family:omnes-medium,sans-serif}.g_20,.g_20_m{color:#ea7499;font-size:20px}.g_20{font-family:omnes-light,sans-serif}.g_20_m{font-family:omnes-medium,sans-serif}.g_18,.g_18_m,.g_18_r{color:#ea7499;font-size:18px}.g_18{font-family:omnes-light,sans-serif}.g_18_r{font-family:omnes-regular,sans-serif}.g_18_m{font-family:omnes-medium,sans-serif}.g_16_i,.g_16_m,.g_16_r{color:#ea7499;font-size:16px}.g_16_i{font-family:omnes-medium-italic,sans-serif}.g_16_r{font-family:omnes-regular,sans-serif}.g_16_m{font-family:omnes-medium,sans-serif}.g_14_i,.g_14_m,.g_14_r{color:#ea7499;font-size:14px}.g_14_r{font-family:omnes-regular,sans-serif}.g_14_m{font-family:omnes-medium,sans-serif}.g_14_i{font-family:omnes-medium-italic,sans-serif}.g_13_i,.g_13_m,.g_13_r{color:#ea7499;font-size:13px}.g_13_r{font-family:omnes-regular,sans-serif}.g_13_m{font-family:omnes-medium,sans-serif}.g_13_i{font-family:omnes-medium-italic,sans-serif}.g_12_i,.g_12_m,.g_12_r{color:#ea7499;font-size:12px}.g_12_r{font-family:omnes-regular,sans-serif}.g_12_m{font-family:omnes-medium,sans-serif}.g_12_i{font-family:omnes-medium-italic,sans-serif}.g_10_m,.g_10_r{color:#ea7499;font-size:10px}.g_10_r{font-family:omnes-regular,sans-serif}.g_10_m{font-family:omnes-medium,sans-serif}.h_36,.h_36_m{color:#ffb81c;font-size:36px}.h_36{font-family:omnes-light,sans-serif}.h_36_m{font-family:omnes-medium,sans-serif}.h_26,.h_26_m{color:#ffb81c;font-size:26px}.h_26{font-family:omnes-light,sans-serif}.h_26_m{font-family:omnes-medium,sans-serif}.h_24,.h_24_m,.h_24_r{color:#ffb81c;font-size:24px}.h_24{font-family:omnes-light,sans-serif}.h_24_m{font-family:omnes-medium,sans-serif}.h_24_r{font-family:omnes-regular,sans-serif}.h_22,.h_22_m{color:#ffb81c;font-size:22px}.h_22{font-family:omnes-light,sans-serif}.h_22_m{font-family:omnes-medium,sans-serif}.h_20,.h_20_m{color:#ffb81c;font-size:20px}.h_20{font-family:omnes-light,sans-serif}.h_20_m{font-family:omnes-medium,sans-serif}.h_18,.h_18_m,.h_18_r{color:#ffb81c;font-size:18px}.h_18{font-family:omnes-light,sans-serif}.h_18_r{font-family:omnes-regular,sans-serif}.h_18_m{font-family:omnes-medium,sans-serif}.h_16_i,.h_16_m,.h_16_r{color:#ffb81c;font-size:16px}.h_16_i{font-family:omnes-medium-italic,sans-serif}.h_16_r{font-family:omnes-regular,sans-serif}.h_16_m{font-family:omnes-medium,sans-serif}.h_14_i,.h_14_m,.h_14_r{color:#ffb81c;font-size:14px}.h_14_r{font-family:omnes-regular,sans-serif}.h_14_m{font-family:omnes-medium,sans-serif}.h_14_i{font-family:omnes-medium-italic,sans-serif}.h_13_i,.h_13_m,.h_13_r{color:#ffb81c;font-size:13px}.h_13_r{font-family:omnes-regular,sans-serif}.h_13_m{font-family:omnes-medium,sans-serif}.h_13_i{font-family:omnes-medium-italic,sans-serif}.h_12_i,.h_12_m,.h_12_r{color:#ffb81c;font-size:12px}.h_12_r{font-family:omnes-regular,sans-serif}.h_12_m{font-family:omnes-medium,sans-serif}.h_12_i{font-family:omnes-medium-italic,sans-serif}.h_10_m,.h_10_r{color:#ffb81c;font-size:10px}.h_10_r{font-family:omnes-regular,sans-serif}.h_10_m{font-family:omnes-medium,sans-serif}.i_36,.i_36_m{color:#702f8a;font-size:36px}.i_36{font-family:omnes-light,sans-serif}.i_36_m{font-family:omnes-medium,sans-serif}.i_26,.i_26_m{color:#702f8a;font-size:26px}.i_26{font-family:omnes-light,sans-serif}.i_26_m{font-family:omnes-medium,sans-serif}.i_24,.i_24_m,.i_24_r{color:#702f8a;font-size:24px}.i_24{font-family:omnes-light,sans-serif}.i_24_m{font-family:omnes-medium,sans-serif}.i_24_r{font-family:omnes-regular,sans-serif}.i_22,.i_22_m{color:#702f8a;font-size:22px}.i_22{font-family:omnes-light,sans-serif}.i_22_m{font-family:omnes-medium,sans-serif}.i_20,.i_20_m{color:#702f8a;font-size:20px}.i_20{font-family:omnes-light,sans-serif}.i_20_m{font-family:omnes-medium,sans-serif}.i_18,.i_18_m,.i_18_r{color:#702f8a;font-size:18px}.i_18{font-family:omnes-light,sans-serif}.i_18_r{font-family:omnes-regular,sans-serif}.i_18_m{font-family:omnes-medium,sans-serif}.i_16_i,.i_16_m,.i_16_r{color:#702f8a;font-size:16px}.i_16_i{font-family:omnes-medium-italic,sans-serif}.i_16_r{font-family:omnes-regular,sans-serif}.i_16_m{font-family:omnes-medium,sans-serif}.i_14_i,.i_14_m,.i_14_r{color:#702f8a;font-size:14px}.i_14_r{font-family:omnes-regular,sans-serif}.i_14_m{font-family:omnes-medium,sans-serif}.i_14_i{font-family:omnes-medium-italic,sans-serif}.i_13_i,.i_13_m,.i_13_r{color:#702f8a;font-size:13px}.i_13_r{font-family:omnes-regular,sans-serif}.i_13_m{font-family:omnes-medium,sans-serif}.i_13_i{font-family:omnes-medium-italic,sans-serif}.i_12_i,.i_12_m,.i_12_r{color:#702f8a;font-size:12px}.i_12_r{font-family:omnes-regular,sans-serif}.i_12_m{font-family:omnes-medium,sans-serif}.i_12_i{font-family:omnes-medium-italic,sans-serif}.i_10_m,.i_10_r{color:#702f8a;font-size:10px}.i_10_r{font-family:omnes-regular,sans-serif}.i_10_m{font-family:omnes-medium,sans-serif}.j_36,.j_36_m{color:#9063cd;font-size:36px}.j_36{font-family:omnes-light,sans-serif}.j_36_m{font-family:omnes-medium,sans-serif}.j_26,.j_26_m{color:#9063cd;font-size:26px}.j_26{font-family:omnes-light,sans-serif}.j_26_m{font-family:omnes-medium,sans-serif}.j_24,.j_24_m,.j_24_r{color:#9063cd;font-size:24px}.j_24{font-family:omnes-light,sans-serif}.j_24_m{font-family:omnes-medium,sans-serif}.j_24_r{font-family:omnes-regular,sans-serif}.j_22,.j_22_m{color:#9063cd;font-size:22px}.j_22{font-family:omnes-light,sans-serif}.j_22_m{font-family:omnes-medium,sans-serif}.j_20,.j_20_m{color:#9063cd;font-size:20px}.j_20{font-family:omnes-light,sans-serif}.j_20_m{font-family:omnes-medium,sans-serif}.j_18,.j_18_m,.j_18_r{color:#9063cd;font-size:18px}.j_18{font-family:omnes-light,sans-serif}.j_18_r{font-family:omnes-regular,sans-serif}.j_18_m{font-family:omnes-medium,sans-serif}.j_16_i,.j_16_m,.j_16_r{color:#9063cd;font-size:16px}.j_16_i{font-family:omnes-medium-italic,sans-serif}.j_16_r{font-family:omnes-regular,sans-serif}.j_16_m{font-family:omnes-medium,sans-serif}.j_14_i,.j_14_m,.j_14_r{color:#9063cd;font-size:14px}.j_14_r{font-family:omnes-regular,sans-serif}.j_14_m{font-family:omnes-medium,sans-serif}.j_14_i{font-family:omnes-medium-italic,sans-serif}.j_13_i,.j_13_m,.j_13_r{color:#9063cd;font-size:13px}.j_13_r{font-family:omnes-regular,sans-serif}.j_13_m{font-family:omnes-medium,sans-serif}.j_13_i{font-family:omnes-medium-italic,sans-serif}.j_12_i,.j_12_m,.j_12_r{color:#9063cd;font-size:12px}.j_12_r{font-family:omnes-regular,sans-serif}.j_12_m{font-family:omnes-medium,sans-serif}.j_12_i{font-family:omnes-medium-italic,sans-serif}.j_10_m,.j_10_r{color:#9063cd;font-size:10px}.j_10_r{font-family:omnes-regular,sans-serif}.j_10_m{font-family:omnes-medium,sans-serif}.k_36,.k_36_m{color:#caa2dd;font-size:36px}.k_36{font-family:omnes-light,sans-serif}.k_36_m{font-family:omnes-medium,sans-serif}.k_26,.k_26_m{color:#caa2dd;font-size:26px}.k_26{font-family:omnes-light,sans-serif}.k_26_m{font-family:omnes-medium,sans-serif}.k_24,.k_24_m,.k_24_r{color:#caa2dd;font-size:24px}.k_24{font-family:omnes-light,sans-serif}.k_24_m{font-family:omnes-medium,sans-serif}.k_24_r{font-family:omnes-regular,sans-serif}.k_22,.k_22_m{color:#caa2dd;font-size:22px}.k_22{font-family:omnes-light,sans-serif}.k_22_m{font-family:omnes-medium,sans-serif}.k_20,.k_20_m{color:#caa2dd;font-size:20px}.k_20{font-family:omnes-light,sans-serif}.k_20_m{font-family:omnes-medium,sans-serif}.k_18,.k_18_m,.k_18_r{color:#caa2dd;font-size:18px}.k_18{font-family:omnes-light,sans-serif}.k_18_r{font-family:omnes-regular,sans-serif}.k_18_m{font-family:omnes-medium,sans-serif}.k_16_i,.k_16_m,.k_16_r{color:#caa2dd;font-size:16px}.k_16_i{font-family:omnes-medium-italic,sans-serif}.k_16_r{font-family:omnes-regular,sans-serif}.k_16_m{font-family:omnes-medium,sans-serif}.k_14_i,.k_14_m,.k_14_r{color:#caa2dd;font-size:14px}.k_14_r{font-family:omnes-regular,sans-serif}.k_14_m{font-family:omnes-medium,sans-serif}.k_14_i{font-family:omnes-medium-italic,sans-serif}.k_13_i,.k_13_m,.k_13_r{color:#caa2dd;font-size:13px}.k_13_r{font-family:omnes-regular,sans-serif}.k_13_m{font-family:omnes-medium,sans-serif}.k_13_i{font-family:omnes-medium-italic,sans-serif}.k_12_i,.k_12_m,.k_12_r{color:#caa2dd;font-size:12px}.k_12_r{font-family:omnes-regular,sans-serif}.k_12_m{font-family:omnes-medium,sans-serif}.k_12_i{font-family:omnes-medium-italic,sans-serif}.k_10_m,.k_10_r{color:#caa2dd;font-size:10px}.k_10_r{font-family:omnes-regular,sans-serif}.k_10_m{font-family:omnes-medium,sans-serif}.l_36,.l_36_m{color:#000;font-size:36px}.l_36{font-family:omnes-light,sans-serif}.l_36_m{font-family:omnes-medium,sans-serif}.l_26,.l_26_m{color:#000;font-size:26px}.l_26{font-family:omnes-light,sans-serif}.l_26_m{font-family:omnes-medium,sans-serif}.l_24,.l_24_m,.l_24_r{color:#000;font-size:24px}.l_24{font-family:omnes-light,sans-serif}.l_24_m{font-family:omnes-medium,sans-serif}.l_24_r{font-family:omnes-regular,sans-serif}.l_22,.l_22_m{color:#000;font-size:22px}.l_22{font-family:omnes-light,sans-serif}.l_22_m{font-family:omnes-medium,sans-serif}.l_20,.l_20_m{color:#000;font-size:20px}.l_20{font-family:omnes-light,sans-serif}.l_20_m{font-family:omnes-medium,sans-serif}.l_18,.l_18_m,.l_18_r{color:#000;font-size:18px}.l_18{font-family:omnes-light,sans-serif}.l_18_r{font-family:omnes-regular,sans-serif}.l_18_m{font-family:omnes-medium,sans-serif}.l_16_i,.l_16_m,.l_16_r{color:#000;font-size:16px}.l_16_i{font-family:omnes-medium-italic,sans-serif}.l_16_r{font-family:omnes-regular,sans-serif}.l_16_m{font-family:omnes-medium,sans-serif}.l_14_i,.l_14_m,.l_14_r{color:#000;font-size:14px}.l_14_r{font-family:omnes-regular,sans-serif}.l_14_m{font-family:omnes-medium,sans-serif}.l_14_i{font-family:omnes-medium-italic,sans-serif}.l_13_i,.l_13_m,.l_13_r{color:#000;font-size:13px}.l_13_r{font-family:omnes-regular,sans-serif}.l_13_m{font-family:omnes-medium,sans-serif}.l_13_i{font-family:omnes-medium-italic,sans-serif}.l_12_i,.l_12_m,.l_12_r{color:#000;font-size:12px}.l_12_r{font-family:omnes-regular,sans-serif}.l_12_m{font-family:omnes-medium,sans-serif}.l_12_i{font-family:omnes-medium-italic,sans-serif}.l_10_m,.l_10_r{color:#000;font-size:10px}.l_10_r{font-family:omnes-regular,sans-serif}.l_10_m{font-family:omnes-medium,sans-serif}.m_36,.m_36_m{color:#5a5a5a;font-size:36px}.m_36{font-family:omnes-light,sans-serif}.m_36_m{font-family:omnes-medium,sans-serif}.m_26,.m_26_m{color:#5a5a5a;font-size:26px}.m_26{font-family:omnes-light,sans-serif}.m_26_m{font-family:omnes-medium,sans-serif}.m_24,.m_24_m,.m_24_r{color:#5a5a5a;font-size:24px}.m_24{font-family:omnes-light,sans-serif}.m_24_m{font-family:omnes-medium,sans-serif}.m_24_r{font-family:omnes-regular,sans-serif}.m_22,.m_22_m{color:#5a5a5a;font-size:22px}.m_22{font-family:omnes-light,sans-serif}.m_22_m{font-family:omnes-medium,sans-serif}.m_20,.m_20_m{color:#5a5a5a;font-size:20px}.m_20{font-family:omnes-light,sans-serif}.m_20_m{font-family:omnes-medium,sans-serif}.m_18,.m_18_m,.m_18_r{color:#5a5a5a;font-size:18px}.m_18{font-family:omnes-light,sans-serif}.m_18_r{font-family:omnes-regular,sans-serif}.m_18_m{font-family:omnes-medium,sans-serif}.m_16_i,.m_16_m,.m_16_r{color:#5a5a5a;font-size:16px}.m_16_i{font-family:omnes-medium-italic,sans-serif}.m_16_r{font-family:omnes-regular,sans-serif}.m_16_m{font-family:omnes-medium,sans-serif}.m_14_i,.m_14_m,.m_14_r{color:#5a5a5a;font-size:14px}.m_14_r{font-family:omnes-regular,sans-serif}.m_14_m{font-family:omnes-medium,sans-serif}.m_14_i{font-family:omnes-medium-italic,sans-serif}.m_13_i,.m_13_m,.m_13_r{color:#5a5a5a;font-size:13px}.m_13_r{font-family:omnes-regular,sans-serif}.m_13_m{font-family:omnes-medium,sans-serif}.m_13_i{font-family:omnes-medium-italic,sans-serif}.m_12_i,.m_12_m,.m_12_r{color:#5a5a5a;font-size:12px}.m_12_r{font-family:omnes-regular,sans-serif}.m_12_m{font-family:omnes-medium,sans-serif}.m_12_i{font-family:omnes-medium-italic,sans-serif}.m_10_m,.m_10_r{color:#5a5a5a;font-size:10px}.m_10_r{font-family:omnes-regular,sans-serif}.m_10_m{font-family:omnes-medium,sans-serif}.n_36,.n_36_m{color:#959595;font-size:36px}.n_36{font-family:omnes-light,sans-serif}.n_36_m{font-family:omnes-medium,sans-serif}.n_26,.n_26_m{color:#959595;font-size:26px}.n_26{font-family:omnes-light,sans-serif}.n_26_m{font-family:omnes-medium,sans-serif}.n_24,.n_24_m,.n_24_r{color:#959595;font-size:24px}.n_24{font-family:omnes-light,sans-serif}.n_24_m{font-family:omnes-medium,sans-serif}.n_24_r{font-family:omnes-regular,sans-serif}.n_22,.n_22_m{color:#959595;font-size:22px}.n_22{font-family:omnes-light,sans-serif}.n_22_m{font-family:omnes-medium,sans-serif}.n_20,.n_20_m{color:#959595;font-size:20px}.n_20{font-family:omnes-light,sans-serif}.n_20_m{font-family:omnes-medium,sans-serif}.n_18,.n_18_m,.n_18_r{color:#959595;font-size:18px}.n_18{font-family:omnes-light,sans-serif}.n_18_r{font-family:omnes-regular,sans-serif}.n_18_m{font-family:omnes-medium,sans-serif}.n_16_i,.n_16_m,.n_16_r{color:#959595;font-size:16px}.n_16_i{font-family:omnes-medium-italic,sans-serif}.n_16_r{font-family:omnes-regular,sans-serif}.n_16_m{font-family:omnes-medium,sans-serif}.n_14_i,.n_14_m,.n_14_r{color:#959595;font-size:14px}.n_14_r{font-family:omnes-regular,sans-serif}.n_14_m{font-family:omnes-medium,sans-serif}.n_14_i{font-family:omnes-medium-italic,sans-serif}.n_13_i,.n_13_m,.n_13_r{color:#959595;font-size:13px}.n_13_r{font-family:omnes-regular,sans-serif}.n_13_m{font-family:omnes-medium,sans-serif}.n_13_i{font-family:omnes-medium-italic,sans-serif}.n_12_i,.n_12_m,.n_12_r{color:#959595;font-size:12px}.n_12_r{font-family:omnes-regular,sans-serif}.n_12_m{font-family:omnes-medium,sans-serif}.n_12_i{font-family:omnes-medium-italic,sans-serif}.n_10_m,.n_10_r{color:#959595;font-size:10px}.n_10_r{font-family:omnes-regular,sans-serif}.n_10_m{font-family:omnes-medium,sans-serif}.o_36,.o_36_m{color:#d2d2d2;font-size:36px}.o_36{font-family:omnes-light,sans-serif}.o_36_m{font-family:omnes-medium,sans-serif}.o_26,.o_26_m{color:#d2d2d2;font-size:26px}.o_26{font-family:omnes-light,sans-serif}.o_26_m{font-family:omnes-medium,sans-serif}.o_24,.o_24_m,.o_24_r{color:#d2d2d2;font-size:24px}.o_24{font-family:omnes-light,sans-serif}.o_24_m{font-family:omnes-medium,sans-serif}.o_24_r{font-family:omnes-regular,sans-serif}.o_22,.o_22_m{color:#d2d2d2;font-size:22px}.o_22{font-family:omnes-light,sans-serif}.o_22_m{font-family:omnes-medium,sans-serif}.o_20,.o_20_m{color:#d2d2d2;font-size:20px}.o_20{font-family:omnes-light,sans-serif}.o_20_m{font-family:omnes-medium,sans-serif}.o_18,.o_18_m,.o_18_r{color:#d2d2d2;font-size:18px}.o_18{font-family:omnes-light,sans-serif}.o_18_r{font-family:omnes-regular,sans-serif}.o_18_m{font-family:omnes-medium,sans-serif}.o_16_i,.o_16_m,.o_16_r{color:#d2d2d2;font-size:16px}.o_16_i{font-family:omnes-medium-italic,sans-serif}.o_16_r{font-family:omnes-regular,sans-serif}.o_16_m{font-family:omnes-medium,sans-serif}.o_14_i,.o_14_m,.o_14_r{color:#d2d2d2;font-size:14px}.o_14_r{font-family:omnes-regular,sans-serif}.o_14_m{font-family:omnes-medium,sans-serif}.o_14_i{font-family:omnes-medium-italic,sans-serif}.o_13_i,.o_13_m,.o_13_r{color:#d2d2d2;font-size:13px}.o_13_r{font-family:omnes-regular,sans-serif}.o_13_m{font-family:omnes-medium,sans-serif}.o_13_i{font-family:omnes-medium-italic,sans-serif}.o_12_i,.o_12_m,.o_12_r{color:#d2d2d2;font-size:12px}.o_12_r{font-family:omnes-regular,sans-serif}.o_12_m{font-family:omnes-medium,sans-serif}.o_12_i{font-family:omnes-medium-italic,sans-serif}.o_10_m,.o_10_r{color:#d2d2d2;font-size:10px}.o_10_r{font-family:omnes-regular,sans-serif}.o_10_m{font-family:omnes-medium,sans-serif}.p_36,.p_36_m{color:#fff;font-size:36px}.p_36{font-family:omnes-light,sans-serif}.p_36_m{font-family:omnes-medium,sans-serif}.p_26,.p_26_m{color:#fff;font-size:26px}.p_26{font-family:omnes-light,sans-serif}.p_26_m{font-family:omnes-medium,sans-serif}.p_24,.p_24_m,.p_24_r{color:#fff;font-size:24px}.p_24{font-family:omnes-light,sans-serif}.p_24_m{font-family:omnes-medium,sans-serif}.p_24_r{font-family:omnes-regular,sans-serif}.p_22,.p_22_m{color:#fff;font-size:22px}.p_22{font-family:omnes-light,sans-serif}.p_22_m{font-family:omnes-medium,sans-serif}.p_20,.p_20_m{color:#fff;font-size:20px}.p_20{font-family:omnes-light,sans-serif}.p_20_m{font-family:omnes-medium,sans-serif}.p_18,.p_18_m,.p_18_r{color:#fff;font-size:18px}.p_18{font-family:omnes-light,sans-serif}.p_18_r{font-family:omnes-regular,sans-serif}.p_18_m{font-family:omnes-medium,sans-serif}.p_16_i,.p_16_m,.p_16_r{color:#fff;font-size:16px}.p_16_i{font-family:omnes-medium-italic,sans-serif}.p_16_r{font-family:omnes-regular,sans-serif}.p_16_m{font-family:omnes-medium,sans-serif}.p_14_i,.p_14_m,.p_14_r{color:#fff;font-size:14px}.p_14_r{font-family:omnes-regular,sans-serif}.p_14_m{font-family:omnes-medium,sans-serif}.p_14_i{font-family:omnes-medium-italic,sans-serif}.p_13_i,.p_13_m,.p_13_r{color:#fff;font-size:13px}.p_13_r{font-family:omnes-regular,sans-serif}.p_13_m{font-family:omnes-medium,sans-serif}.p_13_i{font-family:omnes-medium-italic,sans-serif}.p_12_i,.p_12_m,.p_12_r{color:#fff;font-size:12px}.p_12_r{font-family:omnes-regular,sans-serif}.p_12_m{font-family:omnes-medium,sans-serif}.p_12_i{font-family:omnes-medium-italic,sans-serif}.p_10_m,.p_10_r{color:#fff;font-size:10px}.p_10_r{font-family:omnes-regular,sans-serif}.p_10_m{font-family:omnes-medium,sans-serif}.q_36,.q_36_m{color:#cf2a2a;font-size:36px}.q_36{font-family:omnes-light,sans-serif}.q_36_m{font-family:omnes-medium,sans-serif}.q_26,.q_26_m{color:#cf2a2a;font-size:26px}.q_26{font-family:omnes-light,sans-serif}.q_26_m{font-family:omnes-medium,sans-serif}.q_24,.q_24_m,.q_24_r{color:#cf2a2a;font-size:24px}.q_24{font-family:omnes-light,sans-serif}.q_24_m{font-family:omnes-medium,sans-serif}.q_24_r{font-family:omnes-regular,sans-serif}.q_22,.q_22_m{color:#cf2a2a;font-size:22px}.q_22{font-family:omnes-light,sans-serif}.q_22_m{font-family:omnes-medium,sans-serif}.q_20,.q_20_m{color:#cf2a2a;font-size:20px}.q_20{font-family:omnes-light,sans-serif}.q_20_m{font-family:omnes-medium,sans-serif}.q_18,.q_18_m,.q_18_r{color:#cf2a2a;font-size:18px}.q_18{font-family:omnes-light,sans-serif}.q_18_r{font-family:omnes-regular,sans-serif}.q_18_m{font-family:omnes-medium,sans-serif}.q_16_m,.q_16_r{color:#cf2a2a;font-size:16px}.q_16_r{font-family:omnes-regular,sans-serif}.q_16_m{font-family:omnes-medium,sans-serif}.q_14_i,.q_14_m,.q_14_r{color:#cf2a2a;font-size:14px}.q_14_r{font-family:omnes-regular,sans-serif}.q_14_m{font-family:omnes-medium,sans-serif}.q_14_i{font-family:omnes-medium-italic,sans-serif}.q_13_i,.q_13_m,.q_13_r{color:#cf2a2a;font-size:13px}.q_13_r{font-family:omnes-regular,sans-serif}.q_13_m{font-family:omnes-medium,sans-serif}.q_13_i{font-family:omnes-medium-italic,sans-serif}.q_12_i,.q_12_m,.q_12_r{color:#cf2a2a;font-size:12px}.q_12_r{font-family:omnes-regular,sans-serif}.q_12_m{font-family:omnes-medium,sans-serif}.q_12_i{font-family:omnes-medium-italic,sans-serif}.r_36,.r_36_m{color:#f2f2f2;font-size:36px}.r_36{font-family:omnes-light,sans-serif}.r_36_m{font-family:omnes-medium,sans-serif}.r_26,.r_26_m{color:#f2f2f2;font-size:26px}.r_26{font-family:omnes-light,sans-serif}.r_26_m{font-family:omnes-medium,sans-serif}.r_24,.r_24_m,.r_24_r{color:#f2f2f2;font-size:24px}.r_24{font-family:omnes-light,sans-serif}.r_24_m{font-family:omnes-medium,sans-serif}.r_24_r{font-family:omnes-regular,sans-serif}.r_22,.r_22_m{color:#f2f2f2;font-size:22px}.r_22{font-family:omnes-light,sans-serif}.r_22_m{font-family:omnes-medium,sans-serif}.r_20,.r_20_m{color:#f2f2f2;font-size:20px}.r_20{font-family:omnes-light,sans-serif}.r_20_m{font-family:omnes-medium,sans-serif}.r_18,.r_18_m,.r_18_r{color:#f2f2f2;font-size:18px}.r_18{font-family:omnes-light,sans-serif}.r_18_r{font-family:omnes-regular,sans-serif}.r_18_m{font-family:omnes-medium,sans-serif}.r_16_m,.r_16_r{color:#f2f2f2;font-size:16px}.r_16_r{font-family:omnes-regular,sans-serif}.r_16_m{font-family:omnes-medium,sans-serif}.r_14_i,.r_14_m,.r_14_r{color:#f2f2f2;font-size:14px}.r_14_r{font-family:omnes-regular,sans-serif}.r_14_m{font-family:omnes-medium,sans-serif}.r_14_i{font-family:omnes-medium-italic,sans-serif}.r_13_i,.r_13_m,.r_13_r{color:#f2f2f2;font-size:13px}.r_13_r{font-family:omnes-regular,sans-serif}.r_13_m{font-family:omnes-medium,sans-serif}.r_13_i{font-family:omnes-medium-italic,sans-serif}.r_12_i,.r_12_m,.r_12_r{color:#f2f2f2;font-size:12px}.r_12_r{font-family:omnes-regular,sans-serif}.r_12_m{font-family:omnes-medium,sans-serif}.r_12_i{font-family:omnes-medium-italic,sans-serif}.s_36,.s_36_m{color:#191919;font-size:36px}.s_36{font-family:omnes-light,sans-serif}.s_36_m{font-family:omnes-medium,sans-serif}.s_26,.s_26_m{color:#191919;font-size:26px}.s_26{font-family:omnes-light,sans-serif}.s_26_m{font-family:omnes-medium,sans-serif}.s_24,.s_24_m,.s_24_r{color:#191919;font-size:24px}.s_24{font-family:omnes-light,sans-serif}.s_24_m{font-family:omnes-medium,sans-serif}.s_24_r{font-family:omnes-regular,sans-serif}.s_22,.s_22_m{color:#191919;font-size:22px}.s_22{font-family:omnes-light,sans-serif}.s_22_m{font-family:omnes-medium,sans-serif}.s_20,.s_20_m{color:#191919;font-size:20px}.s_20{font-family:omnes-light,sans-serif}.s_20_m{font-family:omnes-medium,sans-serif}.s_18,.s_18_m,.s_18_r{color:#191919;font-size:18px}.s_18{font-family:omnes-light,sans-serif}.s_18_r{font-family:omnes-regular,sans-serif}.s_18_m{font-family:omnes-medium,sans-serif}.s_16_m,.s_16_r{color:#191919;font-size:16px}.s_16_r{font-family:omnes-regular,sans-serif}.s_16_m{font-family:omnes-medium,sans-serif}.s_14_i,.s_14_m,.s_14_r{color:#191919;font-size:14px}.s_14_r{font-family:omnes-regular,sans-serif}.s_14_m{font-family:omnes-medium,sans-serif}.s_14_i{font-family:omnes-medium-italic,sans-serif}.s_13_i,.s_13_m,.s_13_r{color:#191919;font-size:13px}.s_13_r{font-family:omnes-regular,sans-serif}.s_13_m{font-family:omnes-medium,sans-serif}.s_13_i{font-family:omnes-medium-italic,sans-serif}.s_12_i,.s_12_m,.s_12_r{color:#191919;font-size:12px}.s_12_r{font-family:omnes-regular,sans-serif}.s_12_m{font-family:omnes-medium,sans-serif}.s_12_i{font-family:omnes-medium-italic,sans-serif}.x_36,.x_36_m{color:#D74854;font-size:36px}.x_36{font-family:omnes-light,sans-serif}.x_36_m{font-family:omnes-medium,sans-serif}.x_26,.x_26_m{color:#D74854;font-size:26px}.x_26{font-family:omnes-light,sans-serif}.x_26_m{font-family:omnes-medium,sans-serif}.x_24,.x_24_m,.x_24_r{color:#D74854;font-size:24px}.x_24{font-family:omnes-light,sans-serif}.x_24_m{font-family:omnes-medium,sans-serif}.x_24_r{font-family:omnes-regular,sans-serif}.x_22,.x_22_m{color:#D74854;font-size:22px}.x_22{font-family:omnes-light,sans-serif}.x_22_m{font-family:omnes-medium,sans-serif}.x_20,.x_20_m{color:#D74854;font-size:20px}.x_20{font-family:omnes-light,sans-serif}.x_20_m{font-family:omnes-medium,sans-serif}.x_18,.x_18_m,.x_18_r{color:#D74854;font-size:18px}.x_18{font-family:omnes-light,sans-serif}.x_18_r{font-family:omnes-regular,sans-serif}.x_18_m{font-family:omnes-medium,sans-serif}.x_16_m,.x_16_r{color:#D74854;font-size:16px}.x_16_r{font-family:omnes-regular,sans-serif}.x_16_m{font-family:omnes-medium,sans-serif}.x_14_i,.x_14_m,.x_14_r{color:#D74854;font-size:14px}.x_14_r{font-family:omnes-regular,sans-serif}.x_14_m{font-family:omnes-medium,sans-serif}.x_14_i{font-family:omnes-medium-italic,sans-serif}.x_13_i,.x_13_m,.x_13_r{color:#D74854;font-size:13px}.x_13_r{font-family:omnes-regular,sans-serif}.x_13_m{font-family:omnes-medium,sans-serif}.x_13_i{font-family:omnes-medium-italic,sans-serif}.x_12_i,.x_12_m,.x_12_r{color:#D74854;font-size:12px}.x_12_r{font-family:omnes-regular,sans-serif}.x_12_m{font-family:omnes-medium,sans-serif}.x_12_i{font-family:omnes-medium-italic,sans-serif}.t_36,.t_36_m{color:#faf8f8;font-size:36px}.t_36{font-family:omnes-light,sans-serif}.t_36_m{font-family:omnes-medium,sans-serif}.t_26,.t_26_m{color:#faf8f8;font-size:26px}.t_26{font-family:omnes-light,sans-serif}.t_26_m{font-family:omnes-medium,sans-serif}.t_24,.t_24_m,.t_24_r{color:#faf8f8;font-size:24px}.t_24{font-family:omnes-light,sans-serif}.t_24_m{font-family:omnes-medium,sans-serif}.t_24_r{font-family:omnes-regular,sans-serif}.t_22,.t_22_m{color:#faf8f8;font-size:22px}.t_22{font-family:omnes-light,sans-serif}.t_22_m{font-family:omnes-medium,sans-serif}.t_20,.t_20_m{color:#faf8f8;font-size:20px}.t_20{font-family:omnes-light,sans-serif}.t_20_m{font-family:omnes-medium,sans-serif}.t_18,.t_18_m,.t_18_r{color:#faf8f8;font-size:18px}.t_18{font-family:omnes-light,sans-serif}.t_18_r{font-family:omnes-regular,sans-serif}.t_18_m{font-family:omnes-medium,sans-serif}.t_16_m,.t_16_r{color:#faf8f8;font-size:16px}.t_16_r{font-family:omnes-regular,sans-serif}.t_16_m{font-family:omnes-medium,sans-serif}.t_14_i,.t_14_m,.t_14_r{color:#faf8f8;font-size:14px}.t_14_r{font-family:omnes-regular,sans-serif}.t_14_m{font-family:omnes-medium,sans-serif}.t_14_i{font-family:omnes-medium-italic,sans-serif}.t_13_i,.t_13_m,.t_13_r{color:#faf8f8;font-size:13px}.t_13_r{font-family:omnes-regular,sans-serif}.t_13_m{font-family:omnes-medium,sans-serif}.t_13_i{font-family:omnes-medium-italic,sans-serif}.t_12_i,.t_12_m,.t_12_r{color:#faf8f8;font-size:12px}.t_12_r{font-family:omnes-regular,sans-serif}.t_12_m{font-family:omnes-medium,sans-serif}.t_12_i{font-family:omnes-medium-italic,sans-serif}.u_36,.u_36_m{color:#eaeaea;font-size:36px}.u_36{font-family:omnes-light,sans-serif}.u_36_m{font-family:omnes-medium,sans-serif}.u_26,.u_26_m{color:#eaeaea;font-size:26px}.u_26{font-family:omnes-light,sans-serif}.u_26_m{font-family:omnes-medium,sans-serif}.u_24,.u_24_m,.u_24_r{color:#eaeaea;font-size:24px}.u_24{font-family:omnes-light,sans-serif}.u_24_m{font-family:omnes-medium,sans-serif}.u_24_r{font-family:omnes-regular,sans-serif}.u_22,.u_22_m{color:#eaeaea;font-size:22px}.u_22{font-family:omnes-light,sans-serif}.u_22_m{font-family:omnes-medium,sans-serif}.u_20,.u_20_m{color:#eaeaea;font-size:20px}.u_20{font-family:omnes-light,sans-serif}.u_20_m{font-family:omnes-medium,sans-serif}.u_18,.u_18_m,.u_18_r{color:#eaeaea;font-size:18px}.u_18{font-family:omnes-light,sans-serif}.u_18_r{font-family:omnes-regular,sans-serif}.u_18_m{font-family:omnes-medium,sans-serif}.u_16_m,.u_16_r{color:#eaeaea;font-size:16px}.u_16_r{font-family:omnes-regular,sans-serif}.u_16_m{font-family:omnes-medium,sans-serif}.u_14_i,.u_14_m,.u_14_r{color:#eaeaea;font-size:14px}.u_14_r{font-family:omnes-regular,sans-serif}.u_14_m{font-family:omnes-medium,sans-serif}.u_14_i{font-family:omnes-medium-italic,sans-serif}.u_13_i,.u_13_m,.u_13_r{color:#eaeaea;font-size:13px}.u_13_r{font-family:omnes-regular,sans-serif}.u_13_m{font-family:omnes-medium,sans-serif}.u_13_i{font-family:omnes-medium-italic,sans-serif}.u_12_i,.u_12_m,.u_12_r{color:#eaeaea;font-size:12px}.u_12_r{font-family:omnes-regular,sans-serif}.u_12_m{font-family:omnes-medium,sans-serif}.u_12_i{font-family:omnes-medium-italic,sans-serif}.v_36,.v_36_m{color:#e6f6fb;font-size:36px}.v_36{font-family:omnes-light,sans-serif}.v_36_m{font-family:omnes-medium,sans-serif}.v_26,.v_26_m{color:#e6f6fb;font-size:26px}.v_26{font-family:omnes-light,sans-serif}.v_26_m{font-family:omnes-medium,sans-serif}.v_24,.v_24_m,.v_24_r{color:#e6f6fb;font-size:24px}.v_24{font-family:omnes-light,sans-serif}.v_24_m{font-family:omnes-medium,sans-serif}.v_24_r{font-family:omnes-regular,sans-serif}.v_22,.v_22_m{color:#e6f6fb;font-size:22px}.v_22{font-family:omnes-light,sans-serif}.v_22_m{font-family:omnes-medium,sans-serif}.v_20,.v_20_m{color:#e6f6fb;font-size:20px}.v_20{font-family:omnes-light,sans-serif}.v_20_m{font-family:omnes-medium,sans-serif}.v_18,.v_18_m,.v_18_r{color:#e6f6fb;font-size:18px}.v_18{font-family:omnes-light,sans-serif}.v_18_r{font-family:omnes-regular,sans-serif}.v_18_m{font-family:omnes-medium,sans-serif}.v_16_m,.v_16_r{color:#e6f6fb;font-size:16px}.v_16_r{font-family:omnes-regular,sans-serif}.v_16_m{font-family:omnes-medium,sans-serif}.v_14_i,.v_14_m,.v_14_r{color:#e6f6fb;font-size:14px}.v_14_r{font-family:omnes-regular,sans-serif}.v_14_m{font-family:omnes-medium,sans-serif}.v_14_i{font-family:omnes-medium-italic,sans-serif}.v_13_i,.v_13_m,.v_13_r{color:#e6f6fb;font-size:13px}.v_13_r{font-family:omnes-regular,sans-serif}.v_13_m{font-family:omnes-medium,sans-serif}.v_13_i{font-family:omnes-medium-italic,sans-serif}.v_12_i,.v_12_m,.v_12_r{color:#e6f6fb;font-size:12px}.v_12_r{font-family:omnes-regular,sans-serif}.v_12_m{font-family:omnes-medium,sans-serif}.v_12_i{font-family:omnes-medium-italic,sans-serif}.disabled{opacity:.4!important;cursor:auto;background-color:transparent;pointer-events:none}.modal-content{border:6px solid #1370A3;border-radius:0;padding:30px}.modal-content .modal-header{border-bottom:none;border-top:none;padding:0}.modal-content .modal-header h2,.modal-content .modal-header h3{color:#1370a3;font-family:omnes-medium,sans-serif;font-size:24px;margin-bottom:10px}.modal-content .modal-header .close{outline:0;background:url(images/icons-sprite-v5.png) -503px 0 no-repeat;width:15px;height:15px;display:block;opacity:1;position:absolute;top:10px;right:7px}.modal-content .modal-header .close span{display:none}.modal-content .modal-body{padding:0}.modal-content .modal-footer{border-top:none;padding:0}.modal-content .modal-footer .btn{width:100%}.modal-content .modal-footer .btn4Confirmation{width:20%}.modal-content .modal-footer .btn-primary{border:1px solid #8799A3;border-radius:6px;background:#1E79B0;background:linear-gradient(#1E79B0,#62ADD5)}.sprite{background:url(images/icons-sprite-v5.png) top left no-repeat;width:20px;height:20px}.profiles-sprite{background:url(images/profiles-sprite.png) top left no-repeat;width:40px;height:28px}.steps-sprite{background-image:url(images/steps-sprite.png);background-repeat:no-repeat;display:block}.actions-sprite{background:url(images/actions-sprite.png) top left no-repeat;width:15px;height:15px}.actions-sprite.delete_large{background-position:0 0}.actions-sprite.reject_large{background-position:-25px 0}.actions-sprite.approve_large{background-position:-50px 0}.sprite.added{background-position:0 0}.sprite.approve{background-position:-30px 0}.sprite.complete{background-position:-60px 0}.sprite.electricity{background-position:-90px 0}.sprite.invite{background-position:-120px 0}.sprite.upload{background-position:-150px 0}.sprite.add{background-position:-180px 0;width:18px;height:18px}.sprite.success{background-position:-208px 0;width:15px;height:15px}.sprite.delete{background-position:-233px 0;width:15px;height:15px}.sprite.edit-large{background-position:-258px 0;height:18px}.sprite.edit-medium{background-position:-288px 0;width:17px;height:16px}.sprite.edit-small{background-position:-315px 0;width:15px;height:14px}.sprite.amburger,.sprite.approved,.sprite.pending,.sprite.pendingnon-el,.sprite.todo{width:12px;height:12px}.sprite.approved{background-position:-340px 0}.sprite.pendingnon-el{background-position:-362px 0}.sprite.pending{background-position:-384px 0}.sprite.todo{background-position:-406px 0}.sprite.amburger{background-position:-428px 0}.sprite.question-mark{background-position:-450px 0;width:18px;height:18px}.sprite.delete-circle{background-position:-478px 0;width:15px;height:15px}.sprite.close{background-position:-503px 0;width:15px;height:15px}.sprite.automation-state{background-position:-529px 0;width:15px;height:15px}.sprite.review-state-active{background-position:-554px 0;width:15px;height:15px}.sprite.review-state{background-position:-579px 0;width:15px;height:15px}.sprite.peer_review-state-active{background-position:-604px 0;width:15px;height:15px}.sprite.peer_review-state{background-position:-629px 0;width:15px;height:15px}.sprite.approval-state-active{background-position:-654px 0;width:15px;height:15px}.sprite.approval-state{background-position:-679px 0;width:15px;height:15px}.sprite.handoff-state-active{background-position:-704px 0;width:15px;height:15px}.sprite.handoff-state{background-position:-729px 0;width:15px;height:15px}.sprite.closed-state-active{background-position:-754px 0;width:15px;height:15px}.sprite.closed-state{background-position:-779px 0;width:15px;height:15px}.sprite.active-cl{background-position:-804px 0;width:15px;height:15px}.sprite.delete-cl{background-position:-829px 0;width:15px;height:15px}.sprite.denied-cl{background-position:-854px 0;width:15px;height:15px}.sprite.approved-cl{background-position:-879px 0;width:15px;height:15px}.sprite.denied-cl-btn-active{background-position:-904px 0;width:25px;height:25px}.sprite.denied-cl-btn{background-position:-939px 0;width:25px;height:25px}.sprite.approved-cl-btn-active{background-position:-974px 0;width:25px;height:25px}.sprite.approved-cl-btn{background-position:-1009px 0;width:25px;height:25px}.sprite.not-relevant-btn-active{background-position:-1044px 0;width:25px;height:25px}.sprite.not-relevant-btn{background-position:-1079px 0;width:25px;height:25px}.sprite.items-todo{background-position:-1114px 0;width:8px;height:8px}.sprite.duedate{background-position:-1132px 0;width:12px;height:12px}.sprite.small-edit{background-position:-1154px 0;height:14px}.sprite.not-relevant-cl{background-position:-1179px 0;width:15px;height:15px}.sprite.pending-state{background-position:-1204px 0;width:15px;height:15px}.sprite.starred{background-position:-1230px 0;width:19px;height:19px}.sprite.starred-selected{background-position:-1260px 0;width:19px;height:19px}.sprite.small-grey-add{background-position:-1288px 0;width:17px;height:15px}.sprite.big-grey-add{background-position:-1313px 0;width:19px;height:18px}.sprite.red-delete{background-position:-1341px 0;width:17px;height:16px}.sprite.grey-check-mark{background-position:-1390px 0;width:17px;height:15px}.sprite.order{background-position:-1417px 0;width:14px;height:12px}.sprite.admin-dropdown{background-position:0 -63px;width:14px;height:14px}.profiles-sprite.avatar-blue{background-position:0 0;height:40px}.profiles-sprite.notification{background-position:0 -50px;width:25px}.profiles-sprite.profile-large{background-position:0 -88px;width:150px;height:140px}.profiles-sprite.profile-medium{background-position:0 -238px;height:40px}.profiles-sprite.profile-white{background-position:0 -288px;width:32px}.profiles-sprite.avatar-white{background-position:0 -326px;width:30px;height:30px}.steps-sprite.confirmed{width:12px;height:12px;background-position:-5px -5px}.steps-sprite.completed{width:12px;height:12px;background-position:-27px -5px}.steps-sprite.completed-non-el{width:12px;height:12px;background-position:-49px -5px}.steps-sprite.todo{width:12px;height:12px;background-position:-71px -5px}.logo-color,.logo-white{width:150px;height:30px}.logo-white{background:url(images/d2sandbox_logos-150x30.png) no-repeat}.logo-color{background:url(images/d2sandbox_logos_color-150x30.png) no-repeat}.dashboard,.dashboard .content-container #content{height:100%}.table-container-flex{clear:both}.table-container-flex .table{width:100%}.table-container-flex .table .head .head-row{text-align:center;padding:8px 15px;color:#000;font-family:omnes-medium,sans-serif;font-size:14px}.table-container-flex .table .head .head-row:last-child{border-right:none}.table-container-flex .flex-container{display:flex}.table-container-flex .flex-item{width:10px;line-height:25px;padding:5px 15px;flex-grow:1;text-align:left}.dashboard .content-container{height:100%;position:relative;padding-top:55px}.dashboard .content-container #content .row{height:auto}.dashboard #sidebar{padding:20px 5px;height:100%;overflow-y:auto}.dashboard #sidebar .line-separator{border-bottom:dashed 1px #1370a3;margin:20px 0}#full-page-with-header{margin-top:59px;background:url(images/top.jpg) no-repeat}#full-page-with-header #content{overflow:auto;position:absolute;top:201px;bottom:0;right:0;left:0;height:auto}#full-page-with-header #header-title{height:130px}#full-page-with-header .banner{box-shadow:0 1px 2px rgba(43,48,51,.08);z-index:20}#full-page-with-header .navbar{background-color:#fff;margin-bottom:0}#full-page-with-header #logo{float:left;display:block;margin:20px 0}#full-page-with-header #logo .logo-trans{display:none}#full-page-with-header .banner[data-transparent-header=true]{width:100%;z-index:9998;background-color:transparent;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none;-o-box-shadow:none;border-bottom:1px solid rgba(255,255,255,.25)!important}#full-page-with-header .boxed-mode .banner[data-transparent-header=true]{left:0;right:0;margin:0 auto}#full-page-with-header .banner[data-transparent-header=true] #logo .logo-trans{display:inline}#full-page-with-header .banner[data-transparent-header=true] #logo .logo-main{display:none}#full-page-with-header .banner[data-transparent-header=true] .navbar-nav>li.active>a,#full-page-with-header .banner[data-transparent-header=true] .navbar-nav>li.active>a:hover,#full-page-with-header .banner[data-transparent-header=true] .navbar-nav>li>a,#full-page-with-header .banner[data-transparent-header=true] .navbar-nav>li>a:hover{color:#fff}#full-page-with-header .banner[data-transparent-header=true] .navbar-nav>li.active>a:after,#full-page-with-header .banner[data-transparent-header=true] .navbar-nav>li.active>a:focus:after,#full-page-with-header .banner[data-transparent-header=true] .navbar-nav>li.active>a:hover:after,#full-page-with-header .banner[data-transparent-header=true] .navbar-nav>li>a:hover:after{background-color:#fff}.admin-navigation,.dashboard-navigation,.navigation .documentation{background-color:#DEF3FF;overflow-y:auto}#full-page-with-header .menu-seperator{color:#fff;font-family:omnes-regular,sans-serif;font-size:14px}.navigation h1.caption{color:#1370a3;font-family:omnes-medium,sans-serif;font-size:24px;position:relative}.navigation h1.caption.profile{float:none}.navigation li{text-decoration:none;list-style:none}.navigation ul.actions-list>li{color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:16px;margin:0 0 20px;cursor:pointer}.navigation ul.actions-list>li.selected{color:#5a5a5a;font-family:omnes-medium,sans-serif;font-size:16px;text-decoration:underline}.navigation ul.actions-list>li span.selected{float:right;text-decoration:none}.admin-navigation{border-right:1px solid #abb8c0;height:100%;padding:0 20px}.admin-navigation .menu-engagements-category{margin-bottom:20px}.admin-navigation .menu-engagements-category .menu-engagement-category-title{color:#5a5a5a;font-family:omnes-medium,sans-serif;font-size:16px;border-bottom:solid 2px;border-color:#abb8c0;margin:10px 0}.admin-navigation li{text-decoration:none;list-style:none}.admin-navigation ul.engagements-list>li{color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:16px;margin:0 0 10px}.admin-navigation ul.engagements-list>li.selected{color:#1370a3;font-family:omnes-medium,sans-serif;font-size:16px}.admin-navigation ul.engagements-list li{position:relative}.admin-navigation ul.engagements-list .clickable{display:block;cursor:pointer}.admin-navigation ul.engagement-details{padding:0 0 0 8px;border-left:1px solid;border-color:#abb8c0;color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:14px}.admin-navigation ul.engagement-details>li{margin:0;line-height:18px}.admin-navigation ul.engagement-details>li.selected>.engagement_detail_menu_name{text-decoration:underline}.admin-navigation ul.engagement-details>li.selected>.engagement_detail_menu_raquo{float:right;margin-right:20px}.admin-navigation ul.engagement-details>li.engagement-details-sub-catgeory{margin-top:5px}.admin-navigation ul.engagement-details>li.engagement-details-sub-catgeory>.sub-category-title{font-size:16px;font-weight:700}.admin-navigation .sub-category{display:inline-block;margin:0 0 10px;color:#1370a3;font-family:omnes-medium,sans-serif;font-size:16px;position:relative}.admin-navigation .admin-navbar{padding-right:0;padding-left:0}.admin-navigation .template-selected{color:#5a5a5a;font-family:omnes-medium,sans-serif;font-size:14px;text-decoration:underline}.dashboard-navigation li,.navigation .documentation li{text-decoration:none;list-style:none}.admin-navigation .template-selected .checklist-icon{background-position:-804px 0;width:15px;height:15px}.navigation .documentation{border-right:1px solid #abb8c0;height:100%;padding:0 20px}.navigation .documentation #documentation-search{margin-bottom:20px}.navigation .documentation #mobile-collapse{display:none}@media (max-width:992px){.navigation .documentation #mobile-collapse{display:block;position:relative;top:24px;color:#1370a3;cursor:pointer}}.navigation .documentation h1.caption{color:#1370a3;font-family:omnes-medium,sans-serif;font-size:24px;position:relative}.navigation .documentation h1.caption.documentation{float:none;width:95%}.navigation .documentation ul.actions-list .pages-list .page{display:block;cursor:pointer;margin-bottom:5px;padding-top:5px;color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:16px}.dashboard-navigation #engagement-search,.dashboard-navigation .menu-engagements-category{margin-bottom:20px}.navigation .documentation ul.actions-list .pages-list .sub-page{display:block;cursor:pointer;line-height:22px}.navigation .documentation ul.actions-list .pages-list .selected{color:#1370a3;font-family:omnes-medium,sans-serif;font-size:16px}.navigation .documentation ul.actions-list .pages-list .page-childs{font-family:omnes-regular,sans-serif;font-size:14px;cursor:pointer;padding:3px 0 0 8px;border-left:1px solid;border-color:#abb8c0;color:#5a5a5a}.navigation .documentation ul.actions-list .pages-list .page-childs .selected{color:#1370a3;font-family:omnes-medium,sans-serif;font-size:14px}.navigation .documentation span.fa-caret-right{vertical-align:middle}.navigation{height:100%;padding:0}.dashboard-navigation{border-right:1px solid #abb8c0;height:100%;padding:0 20px}.dashboard-navigation #engagement-search .popover .popover-content{padding:5px 10px;color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:10px}.dashboard-navigation #engagement-search .popover.right>.arrow:after{bottom:10px;left:1px;content:" "}.dashboard-navigation #engagement-search .popover>.arrow{border-width:0}.dashboard-navigation .menu-engagements-category .menu-engagement-category-title{color:#5a5a5a;font-family:omnes-medium,sans-serif;font-size:16px;border-bottom:solid 2px;border-color:#abb8c0;margin:10px 0}.dashboard-navigation #mobile-collapse{display:none}.dashboard-navigation #search-no-results{margin-top:10px}.dashboard-navigation #nav-bar-wrapper{padding:0}@media (max-width:992px){.dashboard-navigation #mobile-collapse{display:block;position:relative;top:21px;color:#1370a3;cursor:pointer}.dashboard-navigation{height:auto}}.dashboard-navigation h1.caption{float:left;color:#1370a3;font-family:omnes-medium,sans-serif;font-size:24px;position:relative}.dashboard-navigation h1.caption .add-engagement{display:inline-block;margin-left:8px;cursor:pointer;position:relative;top:2px}.dashboard-navigation ul.engagements-list>li{color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:16px;margin:0 0 10px}.dashboard-navigation ul.engagements-list>li.selected{color:#1370a3;font-family:omnes-medium,sans-serif;font-size:16px}.dashboard-navigation ul.engagements-list li{position:relative}.dashboard-navigation ul.engagements-list .red_dot{background-position:-1114px 0;width:8px;height:8px;display:block;position:absolute;left:-12px;top:4px}.dashboard-navigation ul.engagements-list .clickable{display:block;cursor:pointer}.dashboard-navigation ul.engagement-details>li.engagement-details-sub-catgeory .selected{color:#5a5a5a;font-family:omnes-medium,sans-serif;font-size:14px}.dashboard-navigation ul.engagement-details>li.engagement-details-sub-catgeory .selected .checklist-icon{background-position:-804px 0;width:15px;height:15px}.dashboard-navigation ul.engagement-details{padding:0 0 0 8px;border-left:1px solid;border-color:#abb8c0;color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:14px}.dashboard-navigation ul.engagement-details>li{margin:0;line-height:18px}.dashboard-navigation ul.engagement-details>li.selected>.engagement_detail_menu_name{text-decoration:underline}.dashboard-navigation ul.engagement-details>li.selected>.engagement_detail_menu_raquo{float:right;margin-right:20px}.dashboard-navigation ul.engagement-details>li.engagement-details-sub-catgeory{margin-top:5px}.dashboard-navigation ul.engagement-details>li.engagement-details-sub-catgeory>.sub-category-title{font-size:16px;font-weight:700}.dashboard-navigation ul.engagement-details>li.engagement-details-sub-catgeory>.sub-category-title>.add-checklist{width:18px;height:18px;display:inline-block;padding-left:2px;position:relative;top:2px}.dashboard-navigation ul.engagement-details>li.engagement-details-sub-catgeory>.engagement-checklist{padding-left:6px}.dashboard-navigation ul.engagement-details>li.engagement-details-sub-catgeory>.engagement-checklist>li>.checklist-icon{display:inline-block;position:relative;top:2px;left:-5px}.dashboard-navigation .search-engagement-name{text-decoration:underline;display:block}.dashboard-navigation .search-engagement-fields{font-size:smaller;display:block}.dashboard .dropdown-menu .divider{margin:0}.dashboard .dropdown-menu li{margin:8px}.dashboard .dropdown-menu li a.logout{color:#cf2a2a}.dashboard .dropdown-menu li a.dashboard-admin-link{color:#1370a3;font-family:omnes-regular,sans-serif;font-size:16px}.dashboard .dropdown-menu li i{margin-right:10px}.dashboard #toolbar{background-color:#4990E2;height:55px;display:flex;flex-direction:row;align-items:center}.dashboard #toolbar .header-logo{background:url(images/d2sandbox_logos-150x30.png) no-repeat;width:150px;height:30px;margin:0 30px}.dashboard #toolbar ul.header-top-menu{display:flex;flex-direction:row;justify-content:center;margin:0}.dashboard #toolbar ul.header-top-menu li{list-style:none;margin:0 20px}.dashboard #toolbar ul.header-top-menu li a{color:#fff;font-family:omnes-medium,sans-serif;font-size:18px;text-decoration:none}.add-vf #skip-add-vf-singup,.login .leftLink a,.login .rightLink a,.login a.register,.register .form-group a,.register a.login{text-decoration:underline}.dashboard #toolbar .header-right{margin:0 30px;display:flex;flex-direction:row;justify-content:flex-end}.dashboard #toolbar .header-right .dropdown-menu{left:-120px}.dashboard #toolbar .header-right .header-chat{background:url(images/profiles-sprite.png) 0 -50px no-repeat;height:28px;width:25px;margin-right:10px;position:relative}.dashboard #toolbar .header-right .header-avatar{background:url(images/profiles-sprite.png) 0 -326px no-repeat;width:30px;height:30px;cursor:pointer}.dashboard #toolbar .header-right .header-avatar .notifications{min-width:16px;height:16px;border:1px solid #fff;background-color:#F5A623;display:block;position:absolute;left:22px}.dashboard #toolbar .header-right .header-avatar .notifications .count{color:#fff;font-family:omnes-regular,sans-serif;font-size:10px;display:block;margin-left:4px;margin-right:4px;margin-top:1px}.ice-loader{background:url(images/wait.gif) top left no-repeat;width:16px;height:11px;display:block;color:#5a5a5a;font-family:omnes-medium,sans-serif;font-size:14px}.ice-loader-overlay{opacity:.2}#news-and-announcements{border:1px solid #D74854;padding:0}#news-and-announcements #news-and-announcements-header{background-color:#D74854;color:#fff;font-family:omnes-medium,sans-serif;font-size:22px;padding:10px 10px 0}#news-and-announcements #news-and-announcements-list{list-style:none;padding:0 15px}#news-and-announcements #news-and-announcements-list .news-and-announcements-details{border-bottom:1px dashed #1370a3;padding-bottom:10px}#news-and-announcements #news-and-announcements-list .news-and-announcements-details .news-and-announcements-details-header .news-and-announcements-details-title{font-family:omnes-medium,sans-serif;font-size:20px;cursor:pointer;margin-top:15px;margin-bottom:0;margin-left:15px;word-wrap:break-word}#news-and-announcements #news-and-announcements-list .news-and-announcements-details .news-and-announcements-description{color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:18px;margin:3px 0;line-height:20px;word-wrap:break-word}#news-and-announcements #news-and-announcements-list .news-and-announcements-details .news-and-announcements-creation{color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:12px}#news-and-announcements #news-and-announcements-list .news-and-announcements-details:last-child{padding:0;border:none}.steps-progress-wrapper,.tooltip-container{border:1px solid #d2d2d2;background-color:#fff}.ice-toast u{color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:14px}@media (max-width:992px){.ice-toast{padding-top:10px;padding-left:0}}.tooltip-container{padding:0}.tooltip-container .tooltip-title{font-family:omnes-medium,sans-serif;font-size:22px;background-color:#fff;color:#444141;padding:10px 10px 0}.tooltip-container .tooltip-content{background-color:#fff;word-wrap:break-word}.tooltip-container .tooltip-content h4{padding:0 15px}#nav-bar-wrapper .tooltip-container{bottom:10px}#nav-bar-wrapper .tooltip-container .tooltip-title{font-family:omnes-medium,sans-serif;font-size:16px;background-color:#fff;color:#444141;padding:15px 15px 0}#nav-bar-wrapper .tooltip-container .tooltip-content{background-color:#fff;word-wrap:break-word}#nav-bar-wrapper .tooltip-container .tooltip-content h4{font-family:omnes-regular,sans-serif;font-size:16px;padding:0 15px}.steps-progress-wrapper{position:relative;padding:10px 15px}.steps-progress-wrapper .progress-side-info{padding:0 10px;margin-top:4px}.steps-progress-wrapper .progress-side-info .value{line-height:20px;color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:12px}.steps-progress-wrapper .progress-side-info .progress-side-info-row{color:#5a5a5a;font-family:omnes-medium,sans-serif;font-size:12px;line-height:20px}.steps-progress-wrapper .progress-side-info .progress-side-info-row .progress-side-info-first-row{padding-top:1%}.steps-progress-wrapper .progress-side-info .progress-side-info-row .progress-side-info-last-row{padding-bottom:1%}.steps-progress-wrapper .progress-body-content .progress-left-content{border-right:solid 1px #d2d2d2}.steps-progress-wrapper .progress-body-content .progress-version-release{margin-top:5px;color:#5a5a5a}.steps-progress-wrapper .progress-body-content .description .progress-title{color:#1370a3;font-family:omnes-light,sans-serif;font-size:20px}.steps-progress-wrapper .progress-body-content .description .progress-title .manual-id{color:#1370a3;font-family:omnes-medium,sans-serif;font-size:20px}.steps-progress-wrapper .progress-body-content .description .progress-title .progress-click{cursor:pointer}.steps-progress-wrapper .progress-body-content .description .progress-title .progress-question-mark{font-size:20px;color:#1370A3;display:inline-block;margin-left:1px;cursor:pointer;position:relative;top:1px}.steps-progress-wrapper .progress-body-content .description .progress-title .star-engagement-action{display:inline-block;cursor:pointer;position:relative;margin-right:5px}.steps-progress-wrapper .progress-body-content .description .progress-edit-days-left{float:right;position:relative;margin-right:1%}.steps-progress-wrapper .progress-body-content .description .progress-edit-days-left .steps-progress-days-left{color:#5a5a5a;font-family:omnes-medium,sans-serif;font-size:14px;vertical-align:bottom}.steps-progress-wrapper .progress-body-content .description .progress-edit-days-left .edit{background:url(images/icons-sprite-v5.png) -288px 0 no-repeat;width:17px;height:16px;display:inline-block;cursor:pointer;position:relative;top:3px}.steps-progress-wrapper .progress-body-content .steps-progress-bar{display:flex;flex-direction:row;justify-content:space-between;overflow:hidden;border:1px solid #d2d2d2;height:30px}.steps-progress-wrapper .progress-body-content .steps-progress-bar .progress-filled{background:#4990E2;background:linear-gradient(to right,#4990E2 0,#DCEEFC 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#4990E2, endColorstr=#DCEEFC, GradientType=1);border-right:solid 1px #d2d2d2}.steps-progress-wrapper .progress-body-content .steps-progress-bar .progress-empty{position:relative}.steps-progress-wrapper .progress-body-content .steps-progress-bar .progress-empty.right .percents{left:10px}.steps-progress-wrapper .progress-body-content .steps-progress-bar .progress-empty.right .edit{left:50px}.steps-progress-wrapper .progress-body-content .steps-progress-bar .progress-empty .edit{font-size:21px;color:#1370A3;display:inline-block;position:absolute;top:5px;left:-25px;cursor:pointer}.steps-progress-wrapper .progress-body-content .steps-progress-bar .progress-empty .percents{position:absolute;top:4px;left:-60px}.steps-progress-wrapper .progress-body-content .steps-progress-bar .progress-empty.full .percents{left:-70px}.steps-stages-wrapper{display:flex;flex-direction:row;justify-content:space-between;overflow:hidden;padding:10px 0 0}.steps-stages-wrapper .steps-stage{width:100%}.steps-stages-wrapper .steps-stage:not(.selected){position:relative}.steps-stages-wrapper .steps-stage:not(.selected) .circle{border-radius:50%;width:34px;height:34px;display:inline-block;background-color:#fff;border:1px dashed #4990E2}.steps-stages-wrapper .steps-stage:not(.selected) .line{border-bottom:dashed 1px #4990E2;position:absolute;top:16px;width:100%}.steps-stages-wrapper .steps-stage:not(.selected) .text{position:absolute;top:-5px;margin-left:10px;color:#1370a3;font-family:omnes-medium,sans-serif;font-size:16px}.steps-stages-wrapper .steps-stage.selected{position:relative}.steps-stages-wrapper .steps-stage.selected .circle{border-radius:50%;width:34px;height:34px;display:inline-block;background-color:#4990E2}.steps-stages-wrapper .steps-stage.selected .line{border-bottom:solid 2px #4990E2;position:absolute;top:16px;width:100%}.steps-stages-wrapper .steps-stage.selected .text{position:absolute;top:-5px;margin-left:10px;color:#1370a3;font-family:omnes-medium,sans-serif;font-size:16px}.steps-stages-wrapper .steps-stage.hover-selected{position:relative;cursor:pointer}.steps-stages-wrapper .steps-stage.hover-selected .circle{border-radius:50%;width:34px;height:34px;display:inline-block;background-color:#4990E2}.steps-stages-wrapper .steps-stage.hover-selected .line{border-bottom:solid 2px #4990E2;position:absolute;top:16px;width:100%}.steps-stages-wrapper .steps-stage.hover-selected .text{position:absolute;top:-5px;margin-left:10px;color:#1370a3;font-family:omnes-medium,sans-serif;font-size:16px}.steps-stages-wrapper .steps-stage.previous-stage{position:relative}.steps-stages-wrapper .steps-stage.previous-stage .circle{border-radius:50%;width:34px;height:34px;display:inline-block;background-color:#fff;border:1px solid #4990E2}.steps-stages-wrapper .steps-stage.previous-stage .line{border-bottom:solid 1px #4990E2;position:absolute;top:16px;width:100%}.steps-stages-wrapper .steps-stage.previous-stage .text{position:absolute;top:-5px;margin-left:10px;color:#1370a3;font-family:omnes-medium,sans-serif;font-size:16px}.steps-stages-wrapper .steps-stage.hover-previous-stage{position:relative;cursor:pointer}.steps-stages-wrapper .steps-stage.hover-previous-stage .circle{border-radius:50%;width:34px;height:34px;display:inline-block;background-color:#fff;border:1px solid #4990E2}.steps-stages-wrapper .steps-stage.hover-previous-stage .line{border-bottom:solid 1px #4990E2;position:absolute;top:16px;width:100%}.steps-stages-wrapper .steps-stage.hover-previous-stage .text{position:absolute;top:-5px;margin-left:10px;color:#1370a3;font-family:omnes-medium,sans-serif;font-size:16px}.addVendorContact .add-button{float:left;background:url(images/icons-sprite-v5.png) -180px 0 no-repeat;width:18px;height:18px}.addVendorContact .remove-button{width:100px;height:40px;line-height:20px;vertical-align:middle;padding-left:10px;float:left}.addVendorContact .login-form{margin-top:20px}.addVendorContact .btn{width:100%}.addVendorContact .btn-primary{border:1px solid #8799A3;border-radius:6px;background:#1E79B0;background:linear-gradient(#1E79B0,#62ADD5)}.addVendorContact a.register{text-decoration:underline;float:right;margin:10px 0 0}.add-vf .reject_large{background:url(images/actions-sprite.png) -25px 0 no-repeat;width:15px;height:15px;cursor:pointer}.add-vf .table{margin-bottom:0}.add-vf .table-container-flex .action-row-wrapper,.add-vf .table-container-flex .data-row-wrapper{padding:5px 10px;margin-bottom:5px}.add-vf .table-container-flex .data-row-wrapper:nth-child(even){background:rgba(158,158,158,.28)}.add-vf .table-container-flex .data-row-wrapper:nth-child(odd){border-bottom:1px solid;border-top:1px solid;border-color:#abb8c0}.add-vf .table-container-flex .data-row-wrapper:first-child{border-top:none}.add-vf .table-container-flex .data-row-wrapper:last-child{border-bottom:none}.add-vf .table-container-flex .flex-item{padding-left:0}.add-vf .table-container-flex .flex-item:nth-child(1){padding:5px 15px 5px 0;flex-grow:25}.add-vf .table-container-flex .flex-item:nth-child(2),.add-vf .table-container-flex .flex-item:nth-child(3),.add-vf .table-container-flex .flex-item:nth-child(4),.add-vf .table-container-flex .flex-item:nth-child(5){flex-grow:25}.add-vf .add-vf-confirm-checkbox{display:block;clear:both}.add-vf .add-button{display:block}.add-vf .add-button .add-text{color:#1370a3;font-family:omnes-medium,sans-serif;font-size:16px;vertical-align:top;margin-left:6px}.add-vf .add-button .add-icon{background:url(images/icons-sprite-v5.png) -180px 0 no-repeat;width:18px;height:18px;display:inline-block}.add-vf .remove-button{width:100px;height:40px;line-height:20px;vertical-align:middle;padding-left:10px;float:left;color:#1370a3;font-family:omnes-medium,sans-serif;font-size:16px;margin-top:8px;cursor:pointer}.add-vf .remove-button .remove-icon{display:inline-block;vertical-align:text-top;margin-right:6px;background:url(images/icons-sprite-v5.png) -478px 0 no-repeat;width:15px;height:15px;cursor:pointer}.add-vf .btn,.contact-us .btn{width:100%}.add-vf .lineColor{margin:2px}.add-vf .addVf-form{margin-top:20px}.add-vf .btn-primary{border:1px solid #8799A3;border-radius:6px;background:#1E79B0;background:linear-gradient(#1E79B0,#62ADD5)}.add-vf #skip-add-vf-singup{margin-top:10px;display:block;text-align:left;color:#1370a3;font-family:omnes-regular,sans-serif;font-size:16px}.contact-us .contact-us-form{margin-top:20px}.contact-us .btn-primary{border:1px solid #8799A3;border-radius:6px;background:#1E79B0;background:linear-gradient(#1E79B0,#62ADD5)}.inviteMembers .inviteMembers-title{height:130px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.inviteMembers .inviteMembers-title h1{color:#fff;font-family:omnes-light,sans-serif;font-size:24px;margin:20px 0 10px}.inviteMembers .inviteMembers-title h2{color:#fff;font-family:omnes-medium,sans-serif;font-size:16px;margin:0}.inviteMembers .inviteMembers-form,.login .login-form{margin-top:20px}.inviteMembers .add-button:after{background:url(images/icons-sprite-v5.png) -180px 0 no-repeat;width:18px;height:18px;display:block}.inviteMembers .remove-button{width:100px;height:40px;line-height:20px;vertical-align:middle;padding-left:10px;float:left}.inviteMembers .btn,.login .btn{width:100%}.inviteMembers .btn-primary{border:1px solid #8799A3;border-radius:6px;background:#1E79B0;background:linear-gradient(#1E79B0,#62ADD5)}.login .btn-primary{border:1px solid #8799A3;border-radius:6px;background:#1E79B0;background:linear-gradient(#1E79B0,#62ADD5)}.login a.register{float:right;margin:10px 0 0}.login .leftLink,.login .rightLink{width:50%;float:left;padding-top:5px}.login .leftLink{text-align:left}.login .leftLink a,.login .leftLink a:active,.login .leftLink a:focus,.login .leftLink a:hover{color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:14px;cursor:pointer}.login .rightLink{font-size:14px;text-align:right}.register .btn,.resend-activation .btn{width:100%}.login .rightLink a,.login .rightLink a:active,.login .rightLink a:focus,.login .rightLink a:hover{color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:14px;cursor:pointer}.register .phone-place-holder::-webkit-input-placeholder{opacity:.7}.register .phone-place-holder::-moz-placeholder{opacity:.7}.register .phone-place-holder:-moz-placeholder{opacity:.7}.register .phone-place-holder:-ms-input-placeholder{opacity:.7}.register .register-form{margin-top:20px}.register .btn-primary{border:1px solid #8799A3;border-radius:6px;background:#1E79B0;background:linear-gradient(#1E79B0,#62ADD5)}.register a,.register a:active,.register a:focus,.register a:hover{color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:14px;cursor:pointer}.register a.login,.register a.login:hover{color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:14px;float:right;margin:5px 0 0}.resend-activation .active-form,.resetPassword .resetPassword-form{margin-top:20px}.register .form-group a,.register .form-group a:hover{font-size:14px}.resend-activation .btn-primary{border:1px solid #8799A3;border-radius:6px;background:#1E79B0;background:linear-gradient(#1E79B0,#62ADD5)}.resend-activation .leftLink{padding-top:5px;width:50%;text-align:left;float:left}.resetPassword .btn,.terms .btn,.updatePassword .btn{width:100%}.resetPassword a.register,.terms a.register,.updatePassword a.register{float:right;text-decoration:underline}.resetPassword .btn-primary{border:1px solid #8799A3;border-radius:6px;background:#1E79B0;background:linear-gradient(#1E79B0,#62ADD5)}.resetPassword a.register{margin:10px 0 0}.resetPassword .leftLink{width:100%;padding-top:5px;text-align:left}.resetPassword .leftLink a,.resetPassword .leftLink a:active,.resetPassword .leftLink a:focus,.resetPassword .leftLink a:hover{color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:14px;cursor:pointer}.resetPassword .leftLink a{text-decoration:underline}.terms .terms-form{margin-top:20px}.terms .btn-primary{border:1px solid #8799A3;border-radius:6px;background:#1E79B0;background:linear-gradient(#1E79B0,#62ADD5)}.terms a.register{margin:10px 0 0}.updatePassword .updatePassword-form{margin-top:20px}.updatePassword .btn-primary{border:1px solid #8799A3;border-radius:6px;background:#1E79B0;background:linear-gradient(#1E79B0,#62ADD5)}.updatePassword a.register{margin:10px 0 0}.updatePassword .leftLink{padding-top:5px;width:50%;text-align:left;float:left}.updatePassword .leftLink a,.updatePassword .leftLink a:active,.updatePassword .leftLink a:focus,.updatePassword .leftLink a:hover{color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:14px;cursor:pointer}.updatePassword .leftLink a{text-decoration:underline}.cl-add-item-line{width:80%}.cl-add-item-line .add-button{background:url(images/icons-sprite-v5.png) -1288px 0 no-repeat;width:17px;height:15px;display:inline-block;cursor:pointer;position:relative;top:3px}.checklist-template-edit-item{padding:5px}.checklist-template-edit-item.edit-template-name{color:#1370a3;font-family:omnes-regular,sans-serif;font-size:24px}.checklist-template-edit-item.edit-section-name{color:#5a5a5a;font-family:omnes-light,sans-serif;font-size:24px}.checklist-template-edit-item.edit-lineitem-name{color:#5a5a5a;font-family:omnes-light,sans-serif;font-size:18px;background-color:#fff;line-height:normal}.checklist-template-edit-item.edit-lineitem-description{color:#5a5a5a;font-family:omnes-light,sans-serif;font-size:18px;width:100%;line-height:normal}.glyphicon-cursor-approve-changes{display:inline-block;cursor:pointer;position:relative;top:3px;float:right}.lineitem-changed-icon{background:url(images/icons-sprite-v5.png) -1390px 0 no-repeat;width:17px;height:15px;display:inline-block;cursor:pointer;position:relative;top:3px;margin-left:-15px}.remove-item,.template-edit-item{width:17px;height:16px;float:right;display:inline-block;top:3px;position:relative;cursor:pointer}.remove-item{background:url(images/icons-sprite-v5.png) -1341px 0 no-repeat;margin-right:1%}.template-edit-item{background:url(images/icons-sprite-v5.png) -288px 0 no-repeat}.add-another-section{background:url(images/icons-sprite-v5.png) -1313px 0 no-repeat;width:19px;height:18px;display:inline-block;cursor:pointer;position:relative;top:3px}.another-section{border-top:1px dashed;padding-top:.5%}.checklist-template{height:100%}.checklist-template #checklist-main-section{padding-left:12px}.checklist-template .ice-form-error{text-transform:none}.checklist-template .section-topic{padding-left:4%;color:#5a5a5a;font-family:omnes-medium,sans-serif;font-size:24px}.checklist-template .lineitem-index{padding-left:5%}.checklist-template #cl-header .checklist-template-topic #cl-title,.checklist-template .lineitem-icon-and-index{padding-left:0}.checklist-template #cl-header{height:12%;padding-top:1%;padding-bottom:2%}.checklist-template #cl-header .checklist-template-topic{border-right:1px solid}.checklist-template #cl-header .checklist-template-topic #cl-title .template-name{color:#1370a3;font-family:omnes-regular,sans-serif;font-size:24px}.checklist-template #cl-header .checklist-template-topic #cl-title .template-topic{color:#1370a3;font-family:omnes-medium,sans-serif;font-size:24px}.checklist-template #cl-header .checklist-template-topic .edit-checklist{display:inline-block;margin-right:5px;cursor:pointer}.checklist-template #state-actions .btn{width:100%}.checklist-template .action-buttons{width:100%;margin-bottom:7px}.checklist-template .add-icon,.checklist-template h2 .add-people,.checklist-template h2 .add-step{background:url(images/icons-sprite-v5.png) -180px 0 no-repeat;width:18px;height:18px;display:inline-block}.checklist-template .add-button{margin-top:8px}.checklist-template .add-button .add-text{color:#1370a3;font-family:omnes-medium,sans-serif;font-size:16px;vertical-align:top;margin-left:6px}.checklist-template #cl-title h1{color:#1370a3;font-family:omnes-regular,sans-serif;font-size:24px;margin:0 0 30px}.checklist-template h3{color:#5a5a5a;font-family:omnes-medium,sans-serif;font-size:18px}.checklist-template h2{margin:0 0 10px;color:#1370a3;font-family:omnes-medium,sans-serif;font-size:24px;position:relative}.checklist-template h2 .add-people,.checklist-template h2 .add-step{margin-left:8px;cursor:pointer}.checklist-template .main-section{margin-top:30px}#state-bar{float:none;height:5%}#cl-header>#cl-title>span.bold{color:#1370a3;font-family:omnes-medium,sans-serif;font-size:24px}.cl-action-buttons-frame{list-style:none;display:inline;padding-top:20px}#line-item-list{list-style:none;padding-right:15px}#line-item-list>li{margin-bottom:25px}#line-item-list>li>h2{text-transform:capitalize;border-bottom:1px solid;border-color:#abb8c0;width:100%;margin-bottom:0;padding-left:5px;color:#5a5a5a;font-family:omnes-light,sans-serif;font-size:24px}#line-item-list>li>h2>span.bold{color:#5a5a5a;font-family:omnes-medium,sans-serif;font-size:24px}#line-item-list>li>ul{list-style:none}#line-item-list>li>ul>li.line-item-row{border-bottom:1px solid;border-color:#abb8c0;line-height:30px;padding:0;vertical-align:middle;height:30px;color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:16px;cursor:pointer}#line-item-list>li>ul>li.line-item-row .value-icon{padding:0}#line-item-list>li>ul>li.line-item-row .value-icon span{display:inline-block;position:relative;top:3px;margin-right:5px;margin-left:3px;width:15px;height:15px}#line-item-list>li>ul>li.line-item-row .auto-icon{text-align:right;padding:0}#line-item-list>li>ul>li.line-item-row .auto-icon span{display:inline-block;position:relative;top:3px;margin-right:3px}#line-item-list>li>ul>li.line-item-row.selected-line{background-color:#EEF9FF;border-left:2px solid;border-top:2px solid;border-bottom:2px solid;border-color:#1370a3;position:relative;z-index:1;top:-1px;left:-2px}#line-item-list>li>ul>li.line-item-row.selected-line>.selected-line-connector{position:absolute;right:-19px;width:20px;height:30px;top:-2px;background-color:#EEF9FF;border-top:2px solid;border-bottom:2px solid;border-color:#1370a3}#line-item-extended{background-color:#EEF9FF;border:2px solid #1370a3;padding:15px}#line-item-extended>header{padding:0 30px}#line-item-extended>header>h2{text-transform:capitalize;padding:0;margin:0;line-height:32px;color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:18px}#line-item-extended>header>h2>span.bold{color:#5a5a5a;font-family:omnes-medium,sans-serif;font-size:18px}#line-item-extended>header>#decision-actions{list-style:none;text-align:right;margin:0}#line-item-extended>header>#decision-actions>li{display:inline-block;margin-left:2px;background:url(images/icons-sprite-v5.png) top left no-repeat;width:20px;height:20px}.btn-gradient-primary,.checkList .btn-gradient-primary{font-weight:700;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-repeat:repeat-x}#line-item-extended>header>#decision-actions.active>li{cursor:pointer}#line-item-extended>header>#decision-actions>li.not-relevant-btn{background-position:-1079px 0;width:25px;height:25px}#line-item-extended>header>#decision-actions.active>li.not-relevant-btn:hover,#line-item-extended>header>#decision-actions>li.not-relevant-btn.active{background-position:-1044px 0;width:25px;height:25px}#line-item-extended>header>#decision-actions>li.denied-cl-btn{background-position:-939px 0;width:25px;height:25px}#line-item-extended>header>#decision-actions.active>li.denied-cl-btn:hover,#line-item-extended>header>#decision-actions>li.denied-cl-btn.active{background-position:-904px 0;width:25px;height:25px}#line-item-extended>header>#decision-actions>li.approved-cl-btn{background-position:-1009px 0;width:25px;height:25px}#line-item-extended>header>#decision-actions.active>li.approved-cl-btn:hover,#line-item-extended>header>#decision-actions>li.approved-cl-btn.active{background-position:-974px 0;width:25px;height:25px}#line-item-extended>#line-item-description{margin:0 15px;color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:16px}#line-item-extended>#line-item-validation-instructions{color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:14px;background-color:#fff;border:1px solid #1370a3;padding:15px;margin-top:15px}#line-item-extended>#line-item-audit-logs>h3,#line-item-extended>#line-item-validation-instructions h3{text-transform:capitalize;font-size:18px;font-family:omnes-medium,sans-serif;color:#5a5a5a}#line-item-extended>#line-item-validation-instructions h3{margin:0}#line-item-extended>#line-item-validation-instructions p{margin-top:5px}#line-item-extended>#line-item-validation-instructions p ul{padding-left:15px}#line-item-extended>#line-item-audit-logs{padding:0 15px}#line-item-extended>#line-item-audit-logs>#audit-log-list{list-style:none}#line-item-extended>#line-item-audit-logs>#audit-log-list>li{margin:0 15px 10px;border-bottom:2px solid;border-color:#abb8c0}#line-item-extended>#line-item-audit-logs>#audit-log-list>li>.audit-creator{color:#5a5a5a;font-family:omnes-medium,sans-serif;font-size:16px;margin:0;padding:0}#line-item-extended>#line-item-audit-logs>#audit-log-list>li>.audit-date{text-align:right;color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:14px;padding:0}#line-item-extended>#line-item-audit-logs>#audit-log-list>li>.audit-text{color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:16px;margin-bottom:0;padding:0}#line-item-extended>#line-item-audit-logs>#new-audit-log-from{margin:0 0 15px}#line-item-extended>#line-item-audit-logs>#new-audit-log-from #new-audit-log-text{border-color:#abb8c0;margin-bottom:15px}.btn-gradient-primary{color:#FFF;background-color:#37B2E5;background-image:linear-gradient(to bottom,#0079AB,#37B2E5);border-color:#37B2E5;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0079AB', endColorstr='#37B2E5', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.account .btn{width:100%}.account .btn-primary{border:1px solid #8799A3;border-radius:6px;background:#1E79B0;background:linear-gradient(#1E79B0,#62ADD5)}.account .content .steps-progress-wrapper{margin-top:10px}.account .content h1{color:#1370a3;font-family:omnes-light,sans-serif;font-size:36px;margin:0 0 30px}.account .content h2,.account .content h3{color:#1370a3;font-family:omnes-medium,sans-serif}.account .content h2{margin:0 0 10px;font-size:24px;position:relative}.account .content h2 .add-people,.account .content h2 .add-step{background:url(images/icons-sprite-v5.png) -180px 0 no-repeat;width:18px;height:18px;display:inline-block;margin-left:8px;cursor:pointer}.account .content h3{font-size:20px}.account .content .main-section{margin-top:30px}.account .content .steps{border-right:dashed 1px #1370a3;height:100%;padding-right:20px}.account .content .steps ul li.step .description .step-state.completed,.account .content .steps ul li.step .description .step-state.completed-non-el,.account .content .steps ul li.step .description .step-state.confirmed,.account .content .steps ul li.step .description .step-state.todo{background-image:url(images/steps-sprite.png);background-repeat:no-repeat;width:12px;height:12px;display:inline-block}.account .content .steps ul li.step{list-style:none;position:relative;padding:10px 10px 10px 4px}.account .content .steps ul li.step.selected{background-color:#DEF3FF}.account .content .steps ul li.step .description{color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:16px;border-bottom:dashed 1px #959595;padding:10px 0}.account .content .steps ul li.step .description input{position:absolute;top:10px;left:0;margin-right:20px}.account .content .steps ul li.step .description .step-text{margin-left:20px}.account .content .steps ul li.step .description .step-state{position:absolute;top:24px}.account .content .steps ul li.step .description .step-state.todo{background-position:-71px -5px}.account .content .steps ul li.step .description .step-state.confirmed{background-position:-5px -5px}.account .content .steps ul li.step .description .step-state.completed{background-position:-27px -5px}.account .content .steps ul li.step .description .step-state.completed-non-el{background-position:-49px -5px}.account .content .steps ul li.step .details{color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:12px;margin-bottom:20px}.account .content .steps ul li.step .details .actions{float:right;margin-top:4px}.account .content .steps ul li.step .details .actions .moveto-confirmed{background:url(images/icons-sprite-v5.png) -208px 0 no-repeat;width:15px;height:15px;display:inline-block;cursor:pointer}.account .content .steps ul li.step .details .actions .moveto-todo{background:url(images/icons-sprite-v5.png) -478px 0 no-repeat;width:15px;height:15px;display:inline-block;cursor:pointer}.account .content .steps ul li.step .details .actions .moveto-delete{background:url(images/icons-sprite-v5.png) -233px 0 no-repeat;width:15px;height:15px;display:inline-block;cursor:pointer}.account .content .right-panel{height:100%;padding-left:20px;padding-bottom:5px}.account .content .right-panel .personImage{background:url(images/profiles-sprite.png) 0 -88px no-repeat;width:150px;height:140px;display:block}.account .content .right-panel .line-separator{border-bottom:solid #d3d3d3;margin:20px 0}.account .content .right-panel .storage-credentials{color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:18px}.account .content .right-panel .access-key,.account .content .right-panel .access-secret{margin-bottom:10px;color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:16px}.account .content .right-panel .show-secret{cursor:pointer}.engagement_link{text-decoration:underline;cursor:pointer}.notifications .table{margin-bottom:0}.notifications .table-container-flex .data-row-wrapper{padding:10px 20px}.notifications .table-container-flex .flex-item:nth-child(1){padding-left:5px;padding-top:15px;flex-grow:2}.notifications .table-container-flex .flex-item:nth-child(2){padding-top:12px;flex-grow:93}.notifications .table-container-flex .flex-item:nth-child(3){padding-top:12px;flex-grow:5}.notifications .pagination>.active>a,.notifications .pagination>.active>a:focus,.notifications .pagination>.active>a:hover,.notifications .pagination>.active>span,.notifications .pagination>.active>span:focus,.notifications .pagination>.active>span:hover{background-color:#DEF3FF;border-color:#DDD;color:#000;cursor:pointer;z-index:2}.notifications .btn{width:100%}.notifications .lineColor{background-color:#F6F3F3}.notifications .electricity{background:url(images/icons-sprite-v5.png) -90px 0 no-repeat;width:20px;height:20px;display:block;margin-top:10px;margin-left:10px}.notifications .delete{background:url(images/icons-sprite-v5.png) -478px 0 no-repeat;width:15px;height:15px;display:block;cursor:pointer;margin-top:11px}.notifications .fLeft{float:left;height:50px}.notifications .hoverCyan{line-height:40px}.notifications .hoverCyan:hover{background-color:#DEF3FF}.notifications .boldFont{font-weight:700}.notifications .marginLeft60{margin-left:-60px}.notifications .height510{height:510px;margin-top:-30px}.notifications .height50{height:50px;line-height:50px;width:1100px}.notifications .marginLeft5{margin-left:5px}.notifications .marginTop5{margin-top:5px;margin-left:40px}.notifications .personImage{background:url(images/profiles-sprite.png) 0 -88px no-repeat;width:150px;height:140px;display:block}.notifications .textAlignCenter{text-align:center;width:1100px}.notifications .btn-primary{border:1px solid #8799A3;border-radius:6px;background:#1E79B0;background:linear-gradient(#1E79B0,#62ADD5)}.notifications .pad17{padding-top:17px;display:block}.notifications .content .steps-progress-wrapper{margin-top:10px}.notifications .content h1{color:#1370a3;font-family:omnes-light,sans-serif;font-size:36px;margin:0 0 30px}.notifications .content h2{margin:0 0 10px;color:#1370a3;font-family:omnes-medium,sans-serif;font-size:24px;position:relative}.notifications .content h2 .add-people,.notifications .content h2 .add-step{background:url(images/icons-sprite-v5.png) -180px 0 no-repeat;width:18px;height:18px;display:inline-block;margin-left:8px;cursor:pointer}.notifications .content .main-section{margin-top:30px}.notifications .content .steps{height:100%;padding-right:20px}.notifications .content .steps ul li.step .description .step-state.completed,.notifications .content .steps ul li.step .description .step-state.completed-non-el,.notifications .content .steps ul li.step .description .step-state.confirmed,.notifications .content .steps ul li.step .description .step-state.todo{background-image:url(images/steps-sprite.png);background-repeat:no-repeat;width:12px;height:12px;display:inline-block}.notifications .content .steps ul li.step{list-style:none;position:relative;padding:10px 10px 10px 4px}.notifications .content .steps ul li.step.selected{background-color:#DEF3FF}.notifications .content .steps ul li.step .description{color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:16px;padding:10px 0}.notifications .content .steps ul li.step .description input{position:absolute;top:10px;left:0;margin-right:20px}.notifications .content .steps ul li.step .description .step-text{margin-left:20px}.notifications .content .steps ul li.step .description .step-state{position:absolute;top:24px}.notifications .content .steps ul li.step .description .step-state.todo{background-position:-71px -5px}.notifications .content .steps ul li.step .description .step-state.confirmed{background-position:-5px -5px}.notifications .content .steps ul li.step .description .step-state.completed{background-position:-27px -5px}.notifications .content .steps ul li.step .description .step-state.completed-non-el{background-position:-49px -5px}.notifications .content .steps ul li.step .details{color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:12px;margin-bottom:20px}.notifications .content .steps ul li.step .details .actions{float:right;margin-top:4px}.notifications .content .steps ul li.step .details .actions .moveto-confirmed{background:url(images/icons-sprite-v5.png) -208px 0 no-repeat;width:15px;height:15px;display:inline-block;cursor:pointer}.notifications .content .steps ul li.step .details .actions .moveto-todo{background:url(images/icons-sprite-v5.png) -478px 0 no-repeat;width:15px;height:15px;display:inline-block;cursor:pointer}.notifications .content .steps ul li.step .details .actions .moveto-delete{background:url(images/icons-sprite-v5.png) -233px 0 no-repeat;width:15px;height:15px;display:inline-block;cursor:pointer}.notifications .content .team-and-logs{height:100%;padding-left:20px}.notifications .content .team-and-logs .team ul.team-avatars li{list-style:none;display:inline-block;margin-right:10px;background:url(images/profiles-sprite.png) 0 -238px no-repeat;width:40px;height:40px}.notifications .content .team-and-logs .team ul.team-avatars li.me{background:url(images/profiles-sprite.png) no-repeat;width:40px;height:40px}.notifications .content .team-and-logs .activity-log ul.activity-log-details li{list-style:none;position:relative;margin-left:30px}.notifications .content .team-and-logs .activity-log ul.activity-log-details li:before{content:'';display:inline-block;background:url(images/icons-sprite-v5.png) -90px 0 no-repeat;width:20px;height:20px;position:absolute;top:0;left:-30px}.user-profile-settings-form .receive-email-options{padding-left:20px}.cl-action-button{width:30%;margin-bottom:2%;margin-right:3%}.cl-action-button:last-child{margin-right:0}#main .popover{max-width:330px}.popover{border:2px solid #15B3E8;color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:14px;z-index:100000}.popover .popover-title{background-color:#fff;margin-top:5px;color:#1370a3;font-family:omnes-medium,sans-serif;font-size:18px;padding:5px 10px}.popover .popover-content,.popover .popover-content ul{font-family:omnes-regular,sans-serif;font-size:16px;color:#5a5a5a}.popover .popover-content{padding:5px 10px}.popover .popover-content ul{list-style-type:none;padding-left:0;margin-left:0;word-wrap:break-word}.cl-action-control{padding-left:8%}.checkList{height:100%;padding:0 20px}.checkList>#checklist-main-section{height:80%!important}.checkList .blocked-area{pointer-events:none;opacity:.5;filter:alpha(opacity=50);background-color:#fff}.checkList #modal_header_checklist{margin-top:0;padding:0 29px}.checkList #modal-header-checklist-15{margin-top:0;padding:0 15px}.checkList .lineColor{background-color:#F6F3F3}.checkList .font_header{color:#5a5a5a;font-family:omnes-medium,sans-serif;font-size:18px}.checkList .font_header_chk_name{color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:18px}.checkList .font_user_name{color:#5a5a5a;font-family:omnes-medium,sans-serif;font-size:18px}.checkList .font_date,.checkList .font_desc{font-family:omnes-regular,sans-serif;color:#5a5a5a}.checkList .font_date{font-size:14px}.checkList .font_line{border-bottom:1px solid grey}.checkList .font_desc{font-size:16px;text-align:left}.checkList .pad0{padding:0}.checkList .dash{border-bottom:dashed 1px;border-color:#abb8c0;padding:0}.checkList #modal-title{margin:0}.checkList .checkList-form{max-height:100%}.checkList .checkList-form #checklist-subject{padding:0 15px;margin-bottom:0}.checkList .checkList-form .checklist-modal-multi-select{margin-top:1%}.checkList .checkList-form .checklist-modal-multi-select .btn-group .btn{color:#5a5a5a;font-family:omnes-medium,sans-serif;font-size:14px}.checkList .checkList-form .add-button .add-text,.checkList .checkList-form .font_title{font-family:omnes-medium,sans-serif;font-size:16px;color:#1370a3}.checkList .checkList-form .btn{width:100%}.checkList .checkList-form .action-buttons{width:100%;margin-bottom:7px}.checkList .checkList-form .col-no-pad{padding:0}.checkList .checkList-form .col-no-top{margin:0}.checkList .checkList-form .text-right{text-align:right}.checkList .checkList-form .modal-header{display:flex;flex-direction:row}.checkList .checkList-form .modal-header h2,.checkList .checkList-form .modal-header h3{display:inline-block;flex-grow:10}.checkList .checkList-form .add-icon{background:url(images/icons-sprite-v5.png) -180px 0 no-repeat;width:18px;height:18px;display:inline-block}.checkList .checkList-form .add-button{margin-top:8px;display:block}.checkList .checkList-form .add-button .add-text{vertical-align:top;margin-left:6px}.checkList .checkList-form .margin_btm{margin-bottom:12px}.checkList .checkList-form .margin_top{margin-top:12px}.checkList .checkList-form .margin_btm5{margin-bottom:5px}.checkList .checkList-form .personImage{background:url(images/profiles-sprite.png) 0 -88px no-repeat;width:150px;height:140px;display:block}.checkList .checkList-form .table{margin-bottom:0}.checkList .checkList-form .table-container-flex .data-row-wrapper{padding:10px 20px}.checkList .checkList-form .table-container-flex .flex-item:nth-child(1){padding-left:0;flex-grow:25}.checkList .checkList-form .table-container-flex .flex-item:nth-child(2),.checkList .checkList-form .table-container-flex .flex-item:nth-child(3),.checkList .checkList-form .table-container-flex .flex-item:nth-child(4){flex-grow:25}.checkList .checkList-form .table-container-flex-a .data-row-wrapper{padding:10px 20px}.checkList .checkList-form .table-container-flex-a .flex-item-a:nth-child(1){padding-left:0;flex-grow:40;width:90%;float:left}.checkList .checkList-form .table-container-flex-a .flex-item-a:nth-child(2){flex-grow:25;width:10%;float:left}.checkList .checkList-form .remove-icon{cursor:pointer;vertical-align:text-top;background:url(images/actions-sprite.png) no-repeat;width:15px;height:15px;display:block;position:relative;top:11px}.checkList .checkList-form .flex-item-a:nth-child(0){padding-left:0;flex-grow:40;width:80%}.checkList .checkList-form .flex-item-a:nth-child(1){flex-grow:25;width:20%}.checkList .checkList-form .steps-progress-wrapper{margin-top:10px}.checkList .checkList-form .fnt{font-size:20px}.checkList .checkList-form h1{color:#1370a3;font-family:omnes-light,sans-serif;font-size:36px;margin:0 0 30px}.checkList .checkList-form h3{color:#5a5a5a;font-family:omnes-medium,sans-serif;font-size:18px}.checkList .checkList-form h2{margin:0 0 10px;color:#1370a3;font-family:omnes-medium,sans-serif;font-size:24px;position:relative}.checkList .checkList-form h2 .add-people,.checkList .checkList-form h2 .add-step{background:url(images/icons-sprite-v5.png) -180px 0 no-repeat;width:18px;height:18px;display:inline-block;margin-left:8px;cursor:pointer}.checkList .checkList-form .main-section{margin-top:30px}.checkList #state-bar{float:none;height:5%}.checkList #state-bar>ul{border-bottom:dashed 1px;border-color:#abb8c0;padding-bottom:2px}.checkList #state-bar>ul>li{color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:14px;text-transform:uppercase;text-align:left}.checkList #state-bar>ul>li.active{font-family:omnes-bold,sans-serif}.checkList #state-bar>ul>li>.state-icon{display:inline-block;position:relative;top:2px;margin-right:5px}.checkList #cl-header{height:12%;padding-top:1%}.checkList #cl-header>#cl-title{padding-left:0;color:#1370a3;font-family:omnes-light,sans-serif;font-size:24px}.checkList #cl-header>#cl-title>span.bold{color:#1370a3;font-family:omnes-medium,sans-serif;font-size:24px}.checkList #cl-header>#cl-title>#edit-checklist{display:inline-block;margin-right:5px;cursor:pointer}.checkList #cl-side-actions{list-style:none;margin-top:5px}.checkList #cl-side-actions>li{display:inline-block;margin-left:5px;color:#959595;font-family:omnes-medium,sans-serif;font-size:12px}.checkList .cl-action-buttons-frame{list-style:none;text-align:right}.checkList .cl-btn-associated{border-bottom:1px solid;border-color:#000;color:#1370a3;font-family:omnes-medium,sans-serif;font-size:26px}.checkList .cl-btn-cl-audit{margin-right:15%;border-bottom:1px solid;border-color:#000}.checkList #state-actions{display:inline-block;border-bottom:1px solid;border-color:#abb8c0;padding-bottom:5px}.checkList #state-actions button{margin-left:10px}.checkList #state-actions button:first-child{margin-left:0}.checkList #cl-side-actions span{cursor:pointer;border-bottom:2px solid #5a5a5a;border-bottom:1px solid;border-color:#abb8c0}.checkList #line-item-list{list-style:none;padding-right:15px}.checkList #line-item-list>li{margin-bottom:25px}.checkList #line-item-list>li>h2{text-transform:capitalize;border-bottom:1px solid;border-color:#abb8c0;width:100%;margin-bottom:0;padding-left:5px;color:#5a5a5a;font-family:omnes-light,sans-serif;font-size:24px}.checkList #line-item-list>li>h2>span.bold{color:#5a5a5a;font-family:omnes-medium,sans-serif;font-size:24px}.checkList #line-item-list>li>ul{list-style:none}.checkList #line-item-list>li>ul>li.line-item-row{border-bottom:1px solid;border-color:#abb8c0;line-height:30px;padding:0;vertical-align:middle;height:30px;color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:16px;cursor:pointer}.checkList #line-item-list>li>ul>li.line-item-row .value-icon{padding:0}.checkList #line-item-list>li>ul>li.line-item-row .value-icon span{display:inline-block;position:relative;top:3px;margin-right:5px;margin-left:3px;width:15px;height:15px}.checkList #line-item-list>li>ul>li.line-item-row .auto-icon{text-align:right;padding:0}.checkList #line-item-list>li>ul>li.line-item-row .auto-icon span{display:inline-block;position:relative;top:3px;margin-right:3px}.checkList #line-item-list>li>ul>li.line-item-row.selected-line{background-color:#EEF9FF;border-left:2px solid;border-top:2px solid;border-bottom:2px solid;border-color:#1370a3;position:relative;z-index:1;top:-1px;left:-2px}.checkList #line-item-list>li>ul>li.line-item-row.selected-line>.selected-line-connector{position:absolute;right:-19px;width:20px;height:30px;top:-2px;background-color:#EEF9FF;border-top:2px solid;border-bottom:2px solid;border-color:#1370a3}.checkList #line-item-extended{background-color:#EEF9FF;border:2px solid #1370a3;padding:15px}@media (min-width:992px){#line-item-extended,.checkList #line-item-extended{max-height:100%;overflow-y:auto}}.checkList #line-item-extended>header{padding:0 30px}.checkList #line-item-extended>header>h2{text-transform:capitalize;padding:0;margin:0;line-height:32px;color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:18px}.checkList #line-item-extended>header>h2>span.bold{color:#5a5a5a;font-family:omnes-medium,sans-serif;font-size:18px}.checkList #line-item-extended>header>#decision-actions{list-style:none;text-align:right;margin:0}.checkList #line-item-extended>header>#decision-actions>li{display:inline-block;margin-left:2px;background:url(images/icons-sprite-v5.png) top left no-repeat;width:20px;height:20px}.checkList #line-item-extended>header>#decision-actions.active>li{cursor:pointer}.checkList #line-item-extended>header>#decision-actions>li.not-relevant-btn{background-position:-1079px 0;width:25px;height:25px}.checkList #line-item-extended>header>#decision-actions.active>li.not-relevant-btn:hover,.checkList #line-item-extended>header>#decision-actions>li.not-relevant-btn.active{background-position:-1044px 0;width:25px;height:25px}.checkList #line-item-extended>header>#decision-actions>li.denied-cl-btn{background-position:-939px 0;width:25px;height:25px}.checkList #line-item-extended>header>#decision-actions.active>li.denied-cl-btn:hover,.checkList #line-item-extended>header>#decision-actions>li.denied-cl-btn.active{background-position:-904px 0;width:25px;height:25px}.checkList #line-item-extended>header>#decision-actions>li.approved-cl-btn{background-position:-1009px 0;width:25px;height:25px}.checkList #line-item-extended>header>#decision-actions.active>li.approved-cl-btn:hover,.checkList #line-item-extended>header>#decision-actions>li.approved-cl-btn.active{background-position:-974px 0;width:25px;height:25px}.checkList #line-item-extended>#line-item-description{margin:0 15px;color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:16px}.checkList #line-item-extended>#line-item-validation-instructions{color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:14px;background-color:#fff;border:1px solid #1370a3;padding:15px;margin-top:15px}.checkList #line-item-extended>#line-item-audit-logs>h3,.checkList #line-item-extended>#line-item-validation-instructions h3{text-transform:capitalize;font-size:18px;font-family:omnes-medium,sans-serif;color:#5a5a5a}.checkList #line-item-extended>#line-item-validation-instructions h3{margin:0}.checkList #line-item-extended>#line-item-validation-instructions p{margin-top:5px}.checkList #line-item-extended>#line-item-validation-instructions p ul{padding-left:15px}.checkList #line-item-extended>#line-item-audit-logs{padding:0 15px}.checkList #line-item-extended>#line-item-audit-logs>#audit-log-list{list-style:none}.checkList #line-item-extended>#line-item-audit-logs>#audit-log-list>li{margin:0 15px 10px;border-bottom:2px solid;border-color:#abb8c0}.checkList #line-item-extended>#line-item-audit-logs>#audit-log-list>li>.audit-creator{color:#5a5a5a;font-family:omnes-medium,sans-serif;font-size:16px;margin:0;padding:0}.checkList #line-item-extended>#line-item-audit-logs>#audit-log-list>li>.audit-date{text-align:right;color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:14px;padding:0}.checkList #line-item-extended>#line-item-audit-logs>#audit-log-list>li>.audit-text{color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:16px;margin-bottom:0;padding:0}.checkList #line-item-extended>#line-item-audit-logs>#new-audit-log-from{margin:0 0 15px}.checkList #line-item-extended>#line-item-audit-logs>#new-audit-log-from #new-audit-log-text{border-color:#abb8c0;margin-bottom:15px}.checkList .btn-gradient-primary{color:#FFF;background-color:#37B2E5;background-image:linear-gradient(to bottom,#0079AB,#37B2E5);border-color:#37B2E5;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0079AB', endColorstr='#37B2E5', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.checkList .btn-gradient-danger,.checkList .btn-gradient-success{text-shadow:0 -1px 0 rgba(0,0,0,.25);background-repeat:repeat-x;border-color:#888;font-weight:700}.checkList .btn-gradient-success{color:#FFF;background-color:#41A02C;background-image:linear-gradient(to bottom,#A2E652,#41A02C);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#A2E652', endColorstr='#41A02C', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.checkList .btn-gradient-danger,.checkList .btn-sample.active,.checkList .btn-sample.disabled,.checkList .btn-sample:active,.checkList .btn-sample:focus,.checkList .btn-sample:hover,.checkList .btn-sample[disabled]{color:#FFF;background-color:#AE0020}.checkList .btn-gradient-danger{background-image:linear-gradient(to bottom,#F74658,#AE0020);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#F74658', endColorstr='#AE0020', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.dashboard .content-container #content{overflow-y:auto}.dashboard-view{padding:10px}.dashboard-view .steps-progress-wrapper{border:none;background-color:#fff}.dashboard-view #dashboard-main-panel #dashboard-header #dashboard-title{color:#1370a3;font-family:omnes-medium,sans-serif;font-size:26px;margin:0;line-height:40px}.dashboard-view #dashboard-main-panel #dashboard-header .search-filters{text-align:right;color:#5a5a5a;font-family:omnes-medium,sans-serif;font-size:16px;line-height:40px}.dashboard-view #dashboard-main-panel #dashboard-header .search-filters #search-filter-keyword,.dashboard-view #dashboard-main-panel #dashboard-header .search-filters .search-filter-stage{margin-left:10px;display:inline-block;width:40%}.dashboard-view #dashboard-main-panel #search-results .progress-bar-row{padding:0}.dashboard-view #dashboard-main-panel #search-results .progress-bar-row:nth-child(even) .steps-progress-wrapper{background-color:#f2f2f2}.dashboard-view #dashboard-main-panel #search-results #export-to-csv{text-align:right;color:#5a5a5a;font-family:omnes-medium,sans-serif;font-size:14px;text-decoration:underline;cursor:pointer}.dashboard-view #dashboard-main-panel #search-results #engagements-pagination{text-align:center}.dashboard-view #dashboard-side-panel #statistics #statistics-header .search-filters,.dashboard-view #dashboard-side-panel #statistics #statistics-list .statistic-count{text-align:right}.dashboard-view #dashboard-main-panel #search-results #engagements-pagination .pagination{margin:0}.dashboard-view #dashboard-side-panel{border-left:solid 1px #9B9B9B}.dashboard-view #dashboard-side-panel #assgined-nextsteps{border:1px solid #4990E2;padding:0}.dashboard-view #dashboard-side-panel #assgined-nextsteps #next-steps-header{background-color:#4990E2;color:#fff;font-family:omnes-medium,sans-serif;font-size:22px;padding:10px 10px 0}.dashboard-view #dashboard-side-panel #assgined-nextsteps #next-steps-list{list-style:none;padding:0 15px}.dashboard-view #dashboard-side-panel #assgined-nextsteps #next-steps-list .next-step-details{border-bottom:1px dashed #1370a3;padding-bottom:10px}.dashboard-view #dashboard-side-panel #assgined-nextsteps #next-steps-list .next-step-details .next-step-details-header .engagement-title{cursor:pointer;color:#5a5a5a;font-family:omnes-medium,sans-serif;font-size:14px;margin-top:15px;margin-bottom:0}.dashboard-view #dashboard-side-panel #assgined-nextsteps #next-steps-list .next-step-details .next-step-details-header .engagement-title .engagement-name{text-decoration:underline}.dashboard-view #dashboard-side-panel #assgined-nextsteps #next-steps-list .next-step-details .next-step-details-header .due-date{color:#5a5a5a;font-family:omnes-medium,sans-serif;font-size:14px;margin-top:10px;margin-bottom:0;text-align:right}.dashboard-view #dashboard-side-panel #assgined-nextsteps #next-steps-list .next-step-details .next-step-description{color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:18px;margin:3px 0;line-height:20px}.dashboard-view #dashboard-side-panel #assgined-nextsteps #next-steps-list .next-step-details .next-step-creation{color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:14px}.dashboard-view #dashboard-side-panel #assgined-nextsteps #next-steps-list .next-step-details:last-child{padding:0;border:none}.dashboard-view #dashboard-side-panel .line-seperator{border-bottom:dashed 1px #9B9B9B;margin:20px 0}.dashboard-view #dashboard-side-panel #statistics{border:1px solid #9B9B9B;padding:15px}.dashboard-view #dashboard-side-panel #statistics #statistics-header{margin-bottom:10px}.dashboard-view #dashboard-side-panel #statistics #statistics-header h2{font-family:omnes-medium,sans-serif;font-size:24px;color:#9B9B9B;margin:0}.dashboard-view #dashboard-side-panel #statistics #statistics-header .search-filters .search-filter-stage{margin-left:10px;width:50%}#detailed-view{padding:0 30px}#detailed-view .glyphicon-cursor-detailed-view{cursor:pointer;margin-left:.5%}#detailed-view .detailed-view-edit-mode{cursor:pointer;margin-left:.5%;display:inline-block;position:relative;top:3px;background:url(images/icons-sprite-v5.png) -288px 0 no-repeat;width:17px;height:16px}#detailed-view .hide-element{display:none}#detailed-view .show-select{display:block;margin-bottom:3%}#detailed-view .row>h1{padding:0;margin-bottom:0;color:#1370a3;font-family:omnes-light,sans-serif;font-size:36px}#detailed-view .remove-button,#detailed-view .row>h1 .bold,#detailed-view .steps-header .steps-filter,#detailed-view h2{color:#1370a3;font-family:omnes-medium,sans-serif}#detailed-view .row>h1 .bold{font-size:36px}#detailed-view .remove-button{height:10px;font-size:16px;cursor:pointer}#detailed-view .remove-button .remove-icon{background:url(images/icons-sprite-v5.png) -233px 0 no-repeat;width:15px;height:15px;cursor:pointer;display:block;position:relative}#detailed-view .steps-progress-wrapper{margin-top:10px}#detailed-view h2{display:inline-block;margin:0 0 10px;font-size:24px;font-size:20px;position:relative}#detailed-view h2 .add-vfc{background:url(images/icons-sprite-v5.png) -180px 0 no-repeat;width:18px;height:18px;display:inline-block;margin-left:8px;cursor:pointer;position:relative;top:3px}#detailed-view .main-section{margin-top:30px}#detailed-view .steps-header .steps-filter{display:inline-block;float:right;font-size:16px}#detailed-view .steps-header .steps-filter .todo{background:url(images/icons-sprite-v5.png) -406px 0 no-repeat;width:12px;height:12px;display:inline-block;cursor:pointer}#detailed-view .steps-header .steps-filter .completed{background:url(images/icons-sprite-v5.png) -384px 0 no-repeat;width:12px;height:12px;display:inline-block;cursor:pointer}#detailed-view .steps-header .steps-filter .confirmed{background:url(images/icons-sprite-v5.png) -340px 0 no-repeat;width:12px;height:12px;display:inline-block;cursor:pointer}#detailed-view .vfc-column{height:100%;padding-right:20px;padding-left:20px;padding-top:20px}#detailed-view .vfc-column ul li.step{list-style:none;position:relative;padding:5px 10px 0 4px;font-size:16px}#detailed-view .vfc-steps{border-right:dashed 1px #1370a3;height:100%;padding-right:20px;padding-left:0;padding-top:20px}#detailed-view .vfc-steps ul li.step .description .step-state.completed,#detailed-view .vfc-steps ul li.step .description .step-state.completed-non-el,#detailed-view .vfc-steps ul li.step .description .step-state.confirmed,#detailed-view .vfc-steps ul li.step .description .step-state.todo{background-image:url(images/steps-sprite.png);background-repeat:no-repeat;width:12px;height:12px;display:inline-block}#detailed-view .vfc-steps ul li.step{list-style:none;position:relative;padding:5px 10px 0 4px;font-size:16px}#detailed-view .vfc-steps ul li.step:hover{background-color:#DEF3FF}#detailed-view .vfc-steps ul li.step:hover .details .actions span{visibility:visible}#detailed-view .vfc-steps ul li.step.completed{background-color:#ddd;opacity:.7}#detailed-view .vfc-steps ul li.step .description{color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:16px;border-bottom:dashed 1px #959595;padding:10px 0}#detailed-view .vfc-steps ul li.step .description input{position:absolute;top:10px;left:0;margin-right:20px}#detailed-view .vfc-steps ul li.step .description .step-text{margin-left:20px}#detailed-view .vfc-steps ul li.step .description .step-state{position:absolute;top:24px}#detailed-view .vfc-steps ul li.step .description .step-state.todo{background-position:-71px -5px}#detailed-view .vfc-steps ul li.step .description .step-state.confirmed{background-position:-5px -5px}#detailed-view .vfc-steps ul li.step .description .step-state.completed{background-position:-27px -5px}#detailed-view .vfc-steps ul li.step .description .step-state.completed-non-el{background-position:-49px -5px}#detailed-view .vfc-steps ul li.step .details{color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:12px;margin:6px 0 10px}#detailed-view .vfc-steps ul li.step .details .actions{float:right;margin-top:2px}#detailed-view .vfc-steps ul li.step .details .actions span{visibility:hidden}#detailed-view .vfc-steps ul li.step .details .actions .moveto-confirmed{background:url(images/actions-sprite.png) -50px 0 no-repeat;width:15px;height:15px;display:inline-block;cursor:pointer}#detailed-view .vfc-steps ul li.step .details .actions .moveto-todo{background:url(images/actions-sprite.png) -25px 0 no-repeat;width:15px;height:15px;display:inline-block;cursor:pointer}#detailed-view .vfc-steps ul li.step .details .actions .moveto-delete{background:url(images/actions-sprite.png) no-repeat;width:15px;height:15px;display:inline-block;cursor:pointer}#detailed-view #deployment-targets{border:1px solid #9B9B9B;padding:0;margin-bottom:20px}#detailed-view #deployment-targets #deployment-targets-header{background-color:#9B9B9B;color:#fff;font-family:omnes-medium,sans-serif;font-size:18px;padding:5px 5px 0;line-height:35px}#detailed-view #deployment-targets #deployment-targets-header .edit-target-completion{font-size:21px;vertical-align:middle;padding-left:6px;cursor:pointer}#detailed-view #deployment-targets #deployment-targets-content{font-family:omnes-regular,sans-serif;font-size:16px;margin:15px}#detailed-view #virtual-function-components{border:1px solid #98C678;padding:0;margin-bottom:20px}#detailed-view #virtual-function-components #virtual-function-header{background-color:#98C678;color:#fff;font-family:omnes-medium,sans-serif;font-size:18px;padding:5px 5px 0;line-height:35px}#detailed-view #virtual-function-components #virtual-function-header .edit-target-completion{font-size:21px;vertical-align:middle;padding-left:6px;cursor:pointer}#detailed-view #virtual-function-components #virtual-function-content{font-family:omnes-regular,sans-serif;font-size:16px;margin:15px}#detailed-view #target-lab-entry{border:1px solid #FAC05F;padding:0;margin-bottom:20px}#detailed-view #target-lab-entry #target-lab-entry-header{background-color:#FAC05F;color:#fff;font-family:omnes-medium,sans-serif;font-size:18px;padding:5px 5px 0;line-height:35px}#detailed-view #target-lab-entry #target-lab-entry-header .edit-target-completion{font-size:21px;vertical-align:middle;padding-left:6px;cursor:pointer}#detailed-view #target-lab-entry #target-lab-entry-content{font-family:omnes-regular,sans-serif;font-size:16px;margin:15px}#detailed-view #validation-details{border:1px solid #4990E2;padding:0;margin-bottom:20px}#detailed-view #validation-details #validation-details-header{background-color:#4990E2;color:#fff;font-family:omnes-medium,sans-serif;font-size:18px;padding:5px 5px 0;line-height:35px}#detailed-view #validation-details #validation-details-header .edit-target-completion{font-size:21px;vertical-align:middle;padding-left:6px;cursor:pointer}#detailed-view #validation-details #validation-details-content{font-family:omnes-regular,sans-serif;font-size:16px;margin:15px}#detailed-view .team-and-logs .line,.getting-started-wizard .inviteMembers-form .input-wrapper{margin-bottom:10px}#detailed-view .team-and-logs{height:100%;padding-left:20px;padding-top:20px;margin-left:-1px;border-left:dashed 1px #1370a3}#detailed-view .add-next-step-form .ice-wysiwyg{height:200px}#detailed-view .add-next-step-form .ice-wysiwyg .wysiwyg-menu>div{background-color:#f1f1f1;padding:2px}#detailed-view .vfc-main-section{margin-top:0}.dev-button{position:absolute;top:0;left:0}.reject_large{background:url(images/actions-sprite.png) -25px 0 no-repeat;width:15px;height:15px;cursor:pointer}.modal-content .getting-started-wizard .modal-header{display:flex;flex-direction:row}.modal-content .getting-started-wizard .modal-header h2,.modal-content .getting-started-wizard .modal-header h3{display:inline-block;flex-grow:10}.modal-content .getting-started-wizard .modal-body .btn{width:100%}.modal-content .getting-started-wizard .modal-body .btn-primary{border:1px solid #8799A3;border-radius:6px;background:#1E79B0;background:linear-gradient(#1E79B0,#62ADD5)}.getting-started-wizard md-datepicker.btn.datepicker_btn .md-datepicker-input{width:100%;text-align:center;line-height:32px}.getting-started-wizard #vf-name-title{font-size:16px}.getting-started-wizard #title-key-metadata{font-size:16px;position:relative;top:20px;left:30px;background:#fff;padding:0 20px;margin-top:-15px}.getting-started-wizard .addVendorContact-form button,.getting-started-wizard .inviteMembers-form button{margin-top:10px}.getting-started-wizard .fields_key_metadata{border:1px solid #ccc;padding:26px 10px}.getting-started-wizard .container{width:auto}.getting-started-wizard .container .col-md-2{width:0}.getting-started-wizard .container .col-md-8{width:100%}.getting-started-wizard .container .table-container-flex .flex-item{padding:5px}.getting-started-wizard .container .remove-button{display:none}.getting-started-wizard .table-container-flex .flex-item:nth-child(1){padding-left:0;flex-grow:33}.getting-started-wizard .table-container-flex .flex-item:nth-child(2),.getting-started-wizard .table-container-flex .flex-item:nth-child(3){flex-grow:33}.getting-started-wizard ul.step-indication{list-style:none;display:inline-block}.getting-started-wizard ul.step-indication li{display:inline-block;background-color:#DDD;width:30px;height:30px;margin-right:10px;padding:6px 11px;color:#5a5a5a;font-family:omnes-medium,sans-serif;font-size:14px}.getting-started-wizard .addVendorContact-form,.getting-started-wizard .inviteMembers-form{padding:20px 0 0}.getting-started-wizard ul.step-indication li.selected{color:#fff;font-family:omnes-medium,sans-serif;font-size:14px;background-color:#1370A3}.getting-started-wizard ul.step-indication li:last-child{margin-right:0}.getting-started-wizard .inviteMembers-form .add-button{margin-top:8px;display:block}.getting-started-wizard .inviteMembers-form .add-button .add-text{color:#1370a3;font-family:omnes-medium,sans-serif;font-size:16px;vertical-align:top;margin-left:6px}.getting-started-wizard .inviteMembers-form .add-button .add-icon{background:url(images/icons-sprite-v5.png) -180px 0 no-repeat;width:18px;height:18px;display:inline-block}.getting-started-wizard .inviteMembers-form .remove-button .remove-icon{display:inline-block;vertical-align:text-top;margin-right:6px;background:url(images/icons-sprite-v5.png) -478px 0 no-repeat;width:15px;height:15px;cursor:pointer}.getting-started-wizard .inviteMembers-form .remove-button{vertical-align:middle;color:#1370a3;font-family:omnes-medium,sans-serif;font-size:16px;cursor:pointer}.getting-started-wizard .inviteMembers-form .remove-button .reject-large{display:inline-block;vertical-align:text-top;margin-right:6px;background:url(images/icons-sprite-v5.png) -478px 0 no-repeat;width:15px;height:15px;cursor:pointer}.getting-started-wizard .addSsh-form,.getting-started-wizard .addVf-form{padding:0}.getting-started-wizard .addSsh-form .form-group{margin-top:20px}.dashboard .overview .steps-progress-wrapper,.getting-started-wizard .addSsh-form button{margin-top:10px}.getting-started-wizard .addSsh-form textarea{min-height:80px}.dashboard .remove-user-from-eng{color:#D74854;font-family:omnes-regular,sans-serif;font-size:16px;float:right;cursor:pointer}.dashboard .remove-user-from-eng .remove-icon{background:url(images/icons-sprite-v5.png) -1341px 0 no-repeat;width:17px;height:16px;display:inline-block;margin-left:8px;position:relative;top:3px}.dashboard .popover-title-name{color:#1370a3;font-family:omnes-medium,sans-serif;font-size:18px}.dashboard .popover-title-company{color:#1370a3;font-family:omnes-regular,sans-serif;font-size:18px}.dashboard .popover-role-title{color:#959595;font-family:omnes-medium-italic,sans-serif;font-size:16px}.dashboard .popover-details .popover-details-topic{color:#5a5a5a;font-family:omnes-medium,sans-serif;font-size:16px}.dashboard .popover-details .popover-details-detail{word-wrap:break-word;color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:16px}.dashboard .content-container #content .main-wrapper{height:100%;overflow-y:auto;overflow-x:hidden;padding:10px}.dashboard .no-display-text{color:#1370a3;font-family:omnes-medium,sans-serif;font-size:36px}.dashboard .no-display{display:none}.dashboard .overview #engagement-title{color:#4990E2}.dashboard .overview .manual-id{font-family:omnes-medium,sans-serif;font-size:36px;color:#4990E2}.dashboard .overview .filter-wrapper{text-align:right;padding:0}.dashboard .overview .filter-wrapper span{padding:0;margin-left:5px}.dashboard .overview .filter-wrapper .form-control-main-view{margin-left:5px;display:inline;padding:6px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,.075);transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.dashboard .overview .state-filter button{padding:0 5px 0 8px;margin-bottom:1px}.dashboard .overview .state-filter span{right:6px!important;top:9px!important}.dashboard .overview .state-filter a{font-size:14px}.dashboard .overview h1{display:inline-block;color:#1370a3;font-family:omnes-light,sans-serif;font-size:36px;margin:0 0 30px}.dashboard .overview h2{display:inline-block;margin:0 0 10px;color:#1370a3;font-family:omnes-medium,sans-serif;font-size:24px;position:relative}.dashboard .overview h2 .add-people,.dashboard .overview h2 .add-step{display:inline-block;margin-left:8px;cursor:pointer;position:relative;top:2px}.dashboard .overview .main-section{margin-top:30px}.dashboard .overview .steps-header{background-color:#4990E2;color:#fff;padding:10px 0 0;margin:0 0 0 -5px}.dashboard .overview .steps-header h2{font-size:20px;color:#fff}.dashboard .overview .steps-header .steps-filter{display:inline-block;float:right;color:#1370a3;font-family:omnes-medium,sans-serif;font-size:16px}.dashboard .overview .steps-header .steps-filter .todo{background:url(images/icons-sprite-v5.png) -406px 0 no-repeat;width:12px;height:12px;display:inline-block;cursor:pointer}.dashboard .overview .steps-header .steps-filter .completed{background:url(images/icons-sprite-v5.png) -384px 0 no-repeat;width:12px;height:12px;display:inline-block;cursor:pointer}.dashboard .overview .steps-header .steps-filter .confirmed{background:url(images/icons-sprite-v5.png) -340px 0 no-repeat;width:12px;height:12px;display:inline-block;cursor:pointer}.dashboard .overview #engagement-target-completion{border:1px solid #FAC05F;padding:0;margin-bottom:20px}.dashboard .overview #engagement-target-completion #target-completion-header{background-color:#FAC05F;color:#fff;font-family:omnes-medium,sans-serif;font-size:18px;padding:5px 5px 0;line-height:35px}.dashboard .overview #engagement-target-completion #target-completion-header .edit-target-completion{font-size:21px;vertical-align:middle;padding-left:6px;cursor:pointer}.dashboard .overview #engagement-target-completion .target-completion-content{font-family:omnes-regular,sans-serif;font-size:16px;margin:15px}.dashboard .overview #engagement-status{border:1px solid #98C678;padding:0;margin-bottom:20px}.dashboard .overview #engagement-status #engagement-status-header{background-color:#98C678;color:#fff;font-family:omnes-medium,sans-serif;font-size:18px;padding:5px 5px 0;line-height:35px}.dashboard .overview #engagement-status #engagement-status-header .add-engagement-status{font-size:21px;vertical-align:middle;padding-left:6px;cursor:pointer}.dashboard .overview #engagement-status .engagement-status-content{font-family:omnes-regular,sans-serif;font-size:16px;margin:15px}.dashboard .overview #engagement-status .engagement-status-content #status-update-details{display:block;color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:12px}.dashboard .overview #engagement-status .engagement-status-content #status-description{margin:3px 0 0;color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:16px}.dashboard .overview #engagement-status .engagement-status-content .edit-engagement-status{font-size:21px;padding-left:6px;cursor:pointer;color:#5a5a5a}.dashboard .overview #engagement-team{border:1px solid #9B9B9B;padding:0;margin-bottom:20px}.dashboard .overview #engagement-team #engagement-team-header{background-color:#9B9B9B;color:#fff;font-family:omnes-medium,sans-serif;font-size:18px;padding:5px 5px 0;line-height:35px}.dashboard .overview #engagement-team #engagement-team-header .add-team-member{font-size:21px;vertical-align:middle;padding-left:6px;cursor:pointer}.dashboard .overview #engagement-team .engagement-team-content{font-family:omnes-regular,sans-serif;font-size:16px;margin:15px}.dashboard .overview #engagement-team .engagement-team-content ul.team-avatars li.team-member-avatar{font-size:40px;cursor:pointer;color:#9B9B9B}.dashboard .overview #engagement-team .engagement-team-content ul.team-avatars li{list-style:none;display:inline-block;margin-right:10px}.dashboard .overview #star-engagement-action{display:inline-block;cursor:pointer;position:relative;bottom:3px;margin-right:5px}.dashboard .overview #star-engagement-action.not_starred{background-position:-1230px 0;width:19px;height:19px}.dashboard .overview #star-engagement-action.is_starred,.dashboard .overview #star-engagement-action.not_starred:hover{background-position:-1260px 0;width:19px;height:19px}.dashboard .overview #star-engagement-action.is_starred:hover{background-position:-1230px 0;width:19px;height:19px}.dashboard .overview .steps{padding-bottom:140px;padding-right:20px;padding-left:20px}.dashboard .overview .steps ul li.step{border-bottom:dashed 1px #959595;list-style:none;position:relative}.dashboard .overview .steps ul li.step .step-wrapper{border-left:2px solid transparent;margin:7px 0 7px 1px}.dashboard .overview .steps ul li.step .step-wrapper:hover{border-left:2px solid #1370a3;background-color:#DEF3FF}.dashboard .overview .steps ul li.step .step-wrapper:hover .description .step-state.incomplete{color:#4ca90c;opacity:.7}.dashboard .overview .steps ul li.step .next-step-actions .edit-next-step,.dashboard .overview .steps ul li.step .next-step-actions .moveto-delete,.dashboard .overview .steps ul li.step .next-step-actions .order-nextstep{color:#d2d2d2;cursor:pointer}.dashboard .overview .steps ul li.step .next-step-actions{display:none;height:100%;width:20px;position:relative;padding-top:10px;float:left;left:-18px;margin-right:-20px}.dashboard .overview .steps ul li.step .next-step-actions>span{margin-bottom:3px;cursor:pointer;display:block}.dashboard .overview .steps ul li.step .next-step-actions .moveto-confirmed{background:url(images/actions-sprite.png) -50px 0 no-repeat;width:15px;height:15px}.dashboard .overview .steps ul li.step .next-step-actions .moveto-todo{background:url(images/actions-sprite.png) -25px 0 no-repeat;width:15px;height:15px}.dashboard .overview .steps ul li.step:hover .next-step-actions{display:block}.dashboard .overview .steps ul li.step:hover .details .actions span{visibility:visible}.dashboard .overview .steps ul li.step div.completed,.dashboard .overview .steps ul li.step div.confirmed{opacity:.7}.dashboard .overview .steps ul li.step .details{text-align:right}.dashboard .overview .steps ul li.step .details .next-step-due-date{color:#5a5a5a;font-weight:700}.dashboard .overview .steps ul li.step .details .next-step-due-date .icon{display:inline-block;margin-right:5px;position:relative}.dashboard .overview .steps ul li.step .details .associated-files{color:#5a5a5a;font-weight:700;cursor:pointer}.dashboard .overview .steps ul li.step .details ul.next-step-team-mates li{list-style:none;display:inline-block;font-size:27px;padding-left:5px;color:#9B9B9B}.dashboard .overview .steps ul li.step .details ul.next-step-team-mates li.me{color:#1370a3}.dashboard .overview .steps ul li.step .description{color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:16px;padding:5px}.dashboard .overview .steps ul li.step .description input{position:absolute;top:10px;left:0;margin-right:20px}.dashboard .overview .steps ul li.step .description .step-text{margin-left:35px}.dashboard .overview .steps ul li.step .description .last-action-details{color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:12px}.dashboard .overview .steps ul li.step .description .last-action-details .name{font-weight:700;color:#5a5a5a;font-family:omnes-medium,sans-serif;font-size:12px}.dashboard .overview .steps ul li.step .description .step-state{position:absolute;top:25px;font-size:25px}.dashboard .overview .steps ul li.step .description .step-state.incomplete{color:#d2d2d2;display:inline-block}.dashboard .overview .steps ul li.step .description .step-state.completed{color:#4ca90c;display:inline-block}.dashboard .overview .team-and-logs{border-left:dashed 1px #1370a3;padding-left:20px;padding-right:20px}.dashboard .overview .team-and-logs .activity-log{border:1px solid #9B9B9B;padding:0;margin-bottom:20px}.dashboard .overview .team-and-logs .activity-log #activity-log-header{background-color:#9B9B9B;color:#fff;font-family:omnes-medium,sans-serif;font-size:18px;padding:5px 5px 0;line-height:35px}.dashboard .overview .team-and-logs .activity-log ul.activity-log-details{margin:15px}.dashboard .overview .team-and-logs .activity-log ul.activity-log-details li{list-style:none;position:relative;margin:0 0 10px}.dashboard .overview .admin-actions-dropdown{background-position:0 -63px;width:14px;height:14px;color:#1370a3;font-size:20px;vertical-align:4px;margin-left:5px;cursor:pointer;display:inline-block}.dashboard .add-next-step-form .ice-wysiwyg{height:200px}.dashboard .add-next-step-form .ice-wysiwyg .wysiwyg-menu>div{background-color:#f1f1f1;padding:2px}.dashboard .git-repo-url,.dashboard .storage-bucket-url{text-align:left;color:#5a5a5a;font-family:omnes-medium,sans-serif;font-size:16px}.dashboard .line-separator{border-bottom:solid thin;margin-top:5px;margin-bottom:7px;align-items:left}.intl-tel-input{width:100%}.iti-flag{background-image:url(images/flags.png)}.documentation-container .page-title{color:#1370a3;font-family:omnes-medium,sans-serif;font-size:26px;margin:0}.documentation-container .page-publish{font-family:omnes-medium,sans-serif;font-size:14px;bottom:10px}.documentation-container .page-content{font-family:omnes-regular,sans-serif;font-size:16px;margin-top:10px}.documentation-container .page-content ul{padding-left:30px}.documentation-container .page-content h1,.documentation-container .page-content h2,.documentation-container .page-content h3{font-weight:700}.documentation-container .page-content table{border-right:1px solid #1370a3;border-left:1px solid #1370a3}.documentation-container .page-content table tr{border-bottom:1px solid #1370a3;border-top:1px solid #1370a3;border-collapse:collapse}.documentation-container .page-content table tr td{padding:0 0 0 7px}.documentation-container .page-content table thead{background-color:#1370a3;color:#fff;font-weight:700}#documentation-side-panel{border-left:dashed 1px #1370a3}#documentation-side-panel .tooltip-title{font-size:18px}#documentation-side-panel #news-and-announcements-list .news-and-announcements-details .news-and-announcements-details-header .news-and-announcements-details-title,#documentation-side-panel #tooltip-description{font-size:16px}#documentation-side-panel #news-and-announcements-header{font-size:18px}.archive-engagement-modal{padding:0 15px}.archive-engagement-modal .archive-engagement-title{color:#1370a3;font-family:omnes-medium,sans-serif;font-size:24px}.archive-engagement-modal .archive-engagement-reason{color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:16px}.archive-engagement-modal .modal-body{top:10px}.auditlog .audit-log-items{border-bottom:1px solid;margin-bottom:5px}.auditlog .textarea-checklist-audit{resize:none}.modal-open .modal{z-index:30000!important}#approve-or-reject-state .modal-title{color:#1370a3;font-family:omnes-medium,sans-serif;font-size:22px}#approve-or-reject-state .decision-modal-body{margin-bottom:8px;margin-top:10px}#approve-or-reject-state .decision-comment{color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:14px}#approve-or-reject-state .modal_buttons .custom-button{position:relative;width:30%;float:left;display:inline-block}#approve-or-reject-state .modal_buttons .custom-space{position:relative;width:5%;float:left;min-height:1px}#approve-or-reject-state .state-title .bold{color:#5a5a5a;font-family:omnes-medium,sans-serif;font-size:18px}#approve-or-reject-state .state-title{color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:18px}#approve-or-reject-state .state-title-border{border-bottom:dashed 1px;border-color:#abb8c0;margin-left:0}#approve-or-reject-state .btn-gradient-danger,#approve-or-reject-state .btn-gradient-default,#approve-or-reject-state .btn-gradient-success{font-weight:700;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-repeat:repeat-x;border-color:#888}#approve-or-reject-state .comment-textarea{resize:vertical}#approve-or-reject-state .btn-gradient-success{color:#FFF;background-color:#41A02C;background-image:linear-gradient(to bottom,#A2E652,#41A02C);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#A2E652', endColorstr='#41A02C', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}#approve-or-reject-state .btn-gradient-danger{color:#FFF;background-color:#AE0020;background-image:linear-gradient(to bottom,#F74658,#AE0020);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#F74658', endColorstr='#AE0020', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}#approve-or-reject-state .btn-gradient-default{color:#B3B3B3;background-color:#D0D0D0;background-image:linear-gradient(to bottom,#FCFCFC,#D0D0D0);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FCFCFC', endColorstr='#D0D0D0', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}#approve-or-reject-state .btn-sample.active,#approve-or-reject-state .btn-sample.disabled,#approve-or-reject-state .btn-sample:active,#approve-or-reject-state .btn-sample:focus,#approve-or-reject-state .btn-sample:hover,#approve-or-reject-state .btn-sample[disabled]{color:#FFF;background-color:#D0D0D0}.toast-read-more-container{padding:0 20px;word-wrap:break-word}.toast-read-more-container .recent-cms-posts-container .line-separator{border-bottom:solid 1px #5a5a5a;margin:20px 0}.toast-read-more-container .recent-cms-posts-container .recent-cms-posts-title{color:#1370a3;font-family:omnes-medium,sans-serif;font-size:16px}.toast-read-more-container .recent-cms-posts-container ul.recent-cms-posts{margin-top:3px}.toast-read-more-container .recent-cms-posts-container ul.recent-cms-posts li{font-family:omnes-medium,sans-serif;font-size:16px;list-style:none;position:relative;line-height:28px;cursor:pointer}.toast-read-more-container .recent-cms-posts-container ul.recent-cms-posts li .post-creation{font-family:omnes-regular,sans-serif;font-size:12px}.toast-read-more-container .recent-cms-posts-container ul.recent-cms-posts li:before{content:'';display:inline-block;position:absolute;top:0}.toast-read-more-container .recent-cms-posts-container ul.recent-cms-posts li.selected{background-color:#f2f2f2}.toast-read-more-title{color:#1370a3;font-family:omnes-medium,sans-serif;font-size:26px;line-height:26px}.toast-read-more-creation{display:block}.toast-read-more-content{color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:18px;line-height:20px;padding:10px 20px 0}.modal-add-vfc .add-text,.vfc-remove-button{color:#1370a3;font-family:omnes-medium,sans-serif;font-size:16px}.modal-cms-post-read-more{width:70%;margin:0 auto;height:100%}.modal-cms-post-read-more .modal-content{height:100%}.vfc-remove-button{width:20px;height:40px;float:right;cursor:pointer;margin:14px 0 0}.vfc-remove-button .remove-icon{background:url(images/icons-sprite-v5.png) -478px 0 no-repeat;width:15px;height:15px;cursor:pointer;display:block}.modal-add-vfc{margin-top:8px;display:block}.modal-add-vfc .add-text{vertical-align:top;margin-left:6px}.modal-add-vfc .add-icon{background:url(images/icons-sprite-v5.png) -180px 0 no-repeat;width:18px;height:18px;display:inline-block}.feedback-modal-body .feedback-modal-description{border-color:#abb8c0;margin-bottom:15px}.general-log-containter{height:inherit;padding:0 20px 30px;word-wrap:break-word}.general-log-containter .general-log-subtitle{padding-bottom:10px}.general-log-containter .general-log-body{height:inherit;overflow:scroll;padding:0 20px;color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:18px;line-height:20px}.general-log-modal-title{color:#1370a3;font-family:omnes-medium,sans-serif;font-size:26px;line-height:26px}.modal-general-log-modal{width:70%;margin:0 auto;height:100%}.modal-general-log-modal .modal-content{height:100%}.general-prompt-text-details{color:#000;font-family:omnes-regular,sans-serif;font-size:14px;padding:3% 0}.general-prompt-upper-headline{color:#000;font-family:omnes-medium,sans-serif;font-size:14px}.general-prompt-upper-dash{border-bottom:dashed 1px #5a5a5a;margin-bottom:15px}.upper-headline-value{color:#000;font-family:omnes-medium-italic,sans-serif;font-size:14px}.general-prompt-body{margin:0}.general-prompt-title{color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:18px}.general-prompt-title .bold{color:#1370a3;font-family:omnes-medium,sans-serif;font-size:18px}.md-datepicker-calendar-pane{z-index:30001}md-datepicker.btn{width:100%;padding:0;position:relative}md-datepicker.btn .md-button.md-icon-button.md-datepicker-button{float:left;min-height:0;height:32px;z-index:2;width:100%;padding:0;margin:0}md-datepicker.btn .md-button.md-icon-button.md-datepicker-button md-icon{display:none}md-datepicker.btn .md-datepicker-input-container{line-height:28px;border-bottom:none;margin-left:0;position:absolute;left:0;padding-left:0;width:100%}md-datepicker.btn .md-datepicker-input{width:100%;text-align:left;line-height:32px;padding-left:10px;margin:0}md-datepicker.btn .md-datepicker-input::-webkit-input-placeholder{color:#555}md-datepicker.btn .md-datepicker-triangle-button{top:7px}md-datepicker.btn .md-datepicker-triangle-button .md-datepicker-expand-triangle{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid transparent;border-bottom:4px solid transparent}md-datepicker.btn .md-datepicker-triangle-button .md-datepicker-expand-triangle:before{position:absolute;top:-13px;left:-3px;display:inline-block;border-left:3.8px solid transparent;border-right:3.8px solid transparent;border-top:7px solid transparent;border-bottom:5.9px solid #555;content:''}md-datepicker.btn .md-datepicker-triangle-button .md-datepicker-expand-triangle:after{position:absolute;top:1px;left:-3px;display:inline-block;border-left:3.8px solid transparent;border-right:3.8px solid transparent;border-top:5.9px solid #555;border-bottom:7px solid transparent;content:''}.dropdown-menu li[data-ng-if="modelValue().length > 0"]{display:none}.next-steps md-datepicker .md-datepicker-input{text-align:center}.next-steps .checklist-name{padding-left:0;border-bottom:1px dashed}.next-steps .addNextSteps{margin-bottom:10px;margin-top:10px}.next-steps .repeaterNextStep{margin-bottom:10px;border:1px solid #CCC;padding:10px}.next-steps .padTop4{padding-top:4px}.next-steps .padTop10{padding-top:10px}.next-steps .padLeft0{padding-left:0}.next-steps .add-header{color:#1370a3;font-family:omnes-medium,sans-serif;font-size:16px}.next-steps .ice-wysiwyg{height:200px}.next-steps .ice-wysiwyg .wysiwyg-menu>div{background-color:#f1f1f1;padding:2px}.next-steps .text-right{text-align:right}.next-steps .font_header{margin_top:0;color:#5a5a5a;font-family:omnes-medium,sans-serif;font-size:18px}.next-steps .font_header_add_next{color:#1370a3;font-family:omnes-medium,sans-serif;font-size:24px}.next-steps .font_header_chk_name{color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:18px}.next-steps .margin_btm{margin-bottom:12px}.next-steps .ms{background-color:#ff0}.next-steps multiselect>.btn-group,.next-steps multiselect>.btn-group>.btn,.next-steps multiselect>.btn-group>.dropdown-menu{width:100%}.next-steps form>.lineColor{background-color:#F6F3F3}.next-steps .add-icon{background:url(images/icons-sprite-v5.png) -180px 0 no-repeat;width:18px;height:18px;display:inline-block}.next-steps .add-button{margin-top:8px;display:block}.next-steps .add-button .add-text{color:#1370a3;font-family:omnes-medium,sans-serif;font-size:16px;vertical-align:top;margin-left:6px}.next-steps .remove-icon{cursor:pointer;vertical-align:text-top;background:url(images/actions-sprite.png) no-repeat;width:15px;height:15px;display:block;position:relative;top:11px}.select-engagement-lead-modal .modal-body,.update-engagement-status-modal .modal-body{top:10px}.next-steps .posRelative{position:relative}.next-steps .posAbsDelBtn{position:absolute;top:10px;right:20px;z-index:40000}.next-steps #btn-submit{width:100%}.next-steps .btn-primary{border:1px solid #8799A3;border-radius:6px;background:#1E79B0;background:linear-gradient(#1E79B0,#62ADD5)}.next-steps .datepickerdemoBasicUsage md-content{padding-bottom:200px}.next-steps .datepickerdemoBasicUsage .validation-messages{font-size:12px;color:#dd2c00;margin-left:15px}.select-engagement-lead-modal{padding:0 15px}.select-engagement-lead-modal .select-engagement-lead-title{color:#1370a3;font-family:omnes-medium,sans-serif;font-size:24px}.set-stage-modal-text-details,.set-stage-title{color:#5a5a5a;font-family:omnes-regular,sans-serif}.select-engagement-lead-modal .select-engagement-lead-description{color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:16px}.set-stage-modal-text-details{font-size:18px;padding:3% 0}.set-stage-title{font-size:18px}.set-stage-title .bold{color:#1370a3;font-family:omnes-medium,sans-serif;font-size:18px}.btn-gradient-danger,.btn-gradient-success{color:#FFF;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-repeat:repeat-x;border-color:#888;font-weight:700}.btn-gradient-success{background-color:#41A02C;background-image:linear-gradient(to bottom,#A2E652,#41A02C);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#A2E652', endColorstr='#41A02C', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-gradient-danger{background-color:#AE0020;background-image:linear-gradient(to bottom,#F74658,#AE0020);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#F74658', endColorstr='#AE0020', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-gradient-default{font-weight:700;color:#B3B3B3;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#D0D0D0;background-image:linear-gradient(to bottom,#FCFCFC,#D0D0D0);background-repeat:repeat-x;border-color:#888;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FCFCFC', endColorstr='#D0D0D0', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-sample.active,.btn-sample.disabled,.btn-sample:active,.btn-sample:focus,.btn-sample:hover,.btn-sample[disabled]{color:#FFF;background-color:#D0D0D0}.status-modal-body .status-modal-description{border-color:#abb8c0;margin-bottom:15px}.edit-target-lab-date-modal .md-datepicker-input-container .md-datepicker-input{width:100%;text-align:left;line-height:32px;padding-left:95px;margin:0}.update-engagement-status-modal,.welcome-box p{padding:0 15px}.update-engagement-status-modal .update-engagement-status-title{color:#1370a3;font-family:omnes-medium,sans-serif;font-size:24px}.update-engagement-status-modal .form-field-title,.update-engagement-status-modal .update-engagement-status-description{color:#5a5a5a;font-family:omnes-regular,sans-serif;font-size:16px}.update-engagement-status-modal .md-datepicker-input{max-width:none}#validation-details-form #edit-validation-setails-save-button{margin-top:15px}#validation-details-form .field-title{color:#5a5a5a;font-family:omnes-medium,sans-serif;font-size:16px;margin-bottom:2px;margin-top:5px}.welcome-boxes{margin-top:60px}.welcome-box h3{font-weight:700}.welcome-box p{font-size:16px;color:#5c5c5c;margin-bottom:0}.get-started-button{width:190px;margin-top:20px;text-align:center;margin-left:auto;margin-right:auto;color:#fff!important;height:48px;font-size:18px!important;font-weight:700;line-height:38px;vertical-align:middle;background:linear-gradient(#1E79B0,#62ADD5);border:1px solid #8799A3;border-radius:6px}.welcome-body{overflow:auto}.welcome-navbar{background-color:#000;padding-left:10%;padding-right:10%;border-color:#585858;border-left:#000;z-index:1030;left:0;right:0;position:absolute;border-radius:0;top:0}.welcome,.welcome .header-content{position:relative;width:100%;text-align:center}.welcome-nav-link{color:#fff!important;font-weight:600;line-height:20px;margin-top:7px}.welcome{-o-background-size:cover;background:url(../styles/images/home_bg1-1920x1138.jpg) center;color:#fff}.welcome .header-content{padding:100px 15px}.welcome .header-content .header-content-inner h1{font-weight:700;margin-top:0;margin-bottom:0;font-size:30px;color:#fff}.welcome .header-content .header-content-inner p{font-weight:300;font-size:16px;margin-bottom:50px;color:#fff}@media (min-width:768px){.welcome{min-height:73%}.welcome .header-content{position:absolute;top:50%;transform:translateY(-50%);padding:0 50px}.welcome .header-content .header-content-inner{max-width:100%;margin-left:auto;margin-right:auto}.welcome .header-content .header-content-inner h1{font-size:50px}.welcome .header-content .header-content-inner p{font-size:18px;max-width:90%;margin-left:auto;margin-right:auto}}.welcome-footer{background:#2e2e2e;color:#cbcbcb;padding:60px 0 0;margin-top:60px}.welcome-footer-copyright{color:#cbcbcb;font-size:17px;line-height:25px;padding-bottom:5px;text-align:center}.welcome-logo{margin-top:-8px}.navbar-collapse .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{background:0 0}.navbar-collapse .navbar-nav>li.active>a:after,.navbar-collapse .navbar-nav>li.active>a:focus:after,.navbar-collapse .navbar-nav>li.active>a:hover:after,.navbar-collapse .navbar-nav>li>a:hover:after{position:absolute;bottom:9px;left:50%;content:'';width:20px;height:2px;margin-left:-10px;background-color:#fff}.navbar-nav>li+li{margin-left:2px}.navbar-collapse .navbar-nav>li.active>a,.navbar-collapse .navbar-nav>li.active>a:focus,.navbar-collapse .navbar-nav>li.active>a:hover{color:#828282;background-color:transparent} \ No newline at end of file diff --git a/d2ice.att.io/dist/styles/vendor.120f37b4.css b/d2ice.att.io/dist/styles/vendor.120f37b4.css deleted file mode 100755 index 144838b7..00000000 --- a/d2ice.att.io/dist/styles/vendor.120f37b4.css +++ /dev/null @@ -1,21 +0,0 @@ -@charset "UTF-8";/*! - * Bootstrap v3.2.0 (http://getbootstrap.com) - * Copyright 2011-2014 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - *//*! normalize.css v3.0.1 | MIT License | git.io/normalize */.btn,.btn-group,.btn-group-vertical,.caret,.checkbox-inline,.input-group-addon,.input-group-btn,.md-button.md-fab,.md-calendar tbody,.md-calendar td,.md-calendar tr,.md-calendar-month-label span,.md-chips,.md-datepicker-button,.radio-inline,img,md-checkbox .md-label,md-datepicker{vertical-align:middle}hr,img{border:0}.md-calendar,.md-calendar-day-header,table{border-spacing:0;border-collapse:collapse}.glyphicon,body,html{-moz-osx-font-smoothing:grayscale}.img-thumbnail,.thumbnail{-webkit-transition:all .2s ease-in-out}.btn-group>.btn-group,.btn-toolbar .btn-group,.btn-toolbar .input-group,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.dropdown-menu{float:left}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.pre-scrollable{max-height:340px}.modal.in .modal-dialog,.navbar-fixed-bottom,.navbar-fixed-top{-webkit-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0)}bdo[dir=ltr],bdo[dir=rtl]{unicode-bidi:bidi-override}.md-button .md-ripple-container,.md-button.md-fab .md-ripple-container,.md-button.md-icon-button .md-ripple-container{-webkit-mask-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC);background-clip:padding-box}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}b,optgroup,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0}mark{color:#000;background:#ff0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}svg:not(:root){overflow:hidden}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}.glyphicon,address,cite{font-style:normal}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}td,th{padding:0}@media print{blockquote,img,pre,tr{page-break-inside:avoid}*{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{border:1px solid #999}thead{display:table-header-group}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.table td,.table th{background-color:#fff!important}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}.dropdown-menu,.modal-content{-webkit-background-clip:padding-box}.btn,.btn-danger.active,.btn-danger:active,.btn-default.active,.btn-default:active,.btn-info.active,.btn-info:active,.btn-primary.active,.btn-primary:active,.btn-warning.active,.btn-warning:active,.btn.active,.btn:active,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover,.form-control,.navbar-toggle,.open>.dropdown-toggle.btn-danger,.open>.dropdown-toggle.btn-default,.open>.dropdown-toggle.btn-info,.open>.dropdown-toggle.btn-primary,.open>.dropdown-toggle.btn-warning{background-image:none}.img-thumbnail,body{background-color:#fff}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-weight:400;line-height:1;-webkit-font-smoothing:antialiased}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333}button,input,select,textarea{line-height:inherit}a{color:#428bca;text-decoration:none}a:focus,a:hover{color:#2a6496;text-decoration:underline}a:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}figure{margin:0}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;width:100%\9;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;width:100%\9;max-width:100%;height:auto;padding:4px;line-height:1.42857143;border:1px solid #ddd;border-radius:4px;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}dt,label{font-weight:700}address,blockquote .small,blockquote footer,blockquote small,dd,dt,pre{line-height:1.42857143}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-inline,.list-unstyled{padding-left:0;list-style:none}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#428bca}a.text-primary:hover{color:#3071a9}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#428bca}a.bg-primary:hover{background-color:#3071a9}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}pre code,table{background-color:transparent}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}dl,ol,ul{margin-top:0}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child,ol ol,ol ul,ul ol,ul ul{margin-bottom:0}address,dl{margin-bottom:20px}ol,ul{margin-bottom:10px}.list-inline{margin-left:-5px}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}legend,pre{display:block}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}.container{width:750px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}code,kbd{padding:2px 4px;font-size:90%}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}blockquote:after,blockquote:before{content:""}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;-webkit-box-shadow:none;box-shadow:none}pre{padding:9.5px;margin:0 0 10px;font-size:13px;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}.container,.container-fluid{margin-right:auto;margin-left:auto}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;border-radius:0}.container,.container-fluid{padding-right:15px;padding-left:15px}.pre-scrollable{overflow-y:scroll}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered,.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th,.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset,legend{padding:0;border:0}fieldset{min-width:0;margin:0}legend{width:100%;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}.form-control,output{font-size:14px;line-height:1.42857143;color:#555;display:block}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}output{padding-top:7px}.form-control{width:100%;height:34px;padding:6px 12px;background-color:#fff;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#777;opacity:1}.form-control:-ms-input-placeholder{color:#777}.form-control::-webkit-input-placeholder{color:#777}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .form-control-feedback,.has-success .help-block,.has-success .radio,.has-success .radio-inline{color:#3c763d}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee;opacity:1}textarea.form-control{height:auto}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{line-height:34px;line-height:1.42857143\9}input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;min-height:20px;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}.btn-block+.btn-block,.help-block{margin-top:5px}.checkbox-inline.disabled,.checkbox.disabled label,.radio-inline.disabled,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio label,fieldset[disabled] .radio-inline,fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.form-horizontal .form-group-sm .form-control,.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-horizontal .form-group-lg .form-control,.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:25px;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center}.collapsing,.dropdown{position:relative}.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .form-control-feedback,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .form-control-feedback,.has-error .help-block,.has-error .radio,.has-error .radio-inline{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .control-label,.form-inline .form-group{margin-bottom:0;vertical-align:middle}.form-inline .form-group{display:inline-block}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}.form-horizontal .has-feedback .form-control-feedback{top:0;right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.3px}.form-horizontal .form-group-sm .control-label{padding-top:6px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;border-radius:4px}.btn.active:focus,.btn:active:focus,.btn:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.active,.btn-default:active,.btn-default:focus,.btn-default:hover,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}.btn-primary.active,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#3071a9;border-color:#285e8e}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#428bca;border-color:#357ebd}.btn-primary .badge{color:#428bca;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.active,.btn-success:active,.btn-success:focus,.btn-success:hover,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.active,.btn-info:active,.btn-info:focus,.btn-info:hover,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.active,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.active,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#428bca;cursor:pointer;border-radius:0}.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#2a6496;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{height:0;overflow:hidden;-webkit-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu-right,.dropdown-menu.pull-right{right:0;left:auto}.dropdown-header,.dropdown-menu>li>a{display:block;padding:3px 20px;line-height:1.42857143;white-space:nowrap}.btn-group-vertical>.btn:not(:first-child):not(:last-child),.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn,.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{clear:both;font-weight:400;color:#333}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#428bca;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-left{right:auto;left:0}.dropdown-header{font-size:12px;color:#777}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.nav-justified>.dropdown .dropdown-menu,.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px solid}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group-vertical>.btn:focus,.btn-group>.btn:focus{outline:0}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn .caret,.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn-lg .caret{border-width:5px 5px 0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group,.input-group-btn>.btn+.btn{margin-left:-1px}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn>input[type=checkbox],[data-toggle=buttons]>.btn>input[type=radio]{position:absolute;z-index:-1;filter:alpha(opacity=0);opacity:0}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.nav>li,.nav>li>a{display:block;position:relative}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li>a{padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#428bca}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center;margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0;border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-justified>li,.nav-stacked>li{float:none}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#428bca}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar{border-radius:4px}.navbar-header{float:left}.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.embed-responsive,.modal,.modal-open,.progress{overflow:hidden}@media (max-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}.navbar-static-top{z-index:1000;border-width:0 0 1px}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030;transform:translate3d(0,0,0)}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}.navbar-fixed-bottom,.navbar-fixed-top,.navbar-static-top{border-radius:0}.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}.progress-bar-striped,.progress-striped .progress-bar,.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}@media (min-width:768px){.navbar-toggle{display:none}.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}.navbar-nav.navbar-right:last-child{margin-right:-15px}.navbar-left{float:left!important}.navbar-right{float:right!important}}.navbar-form{padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);margin:8px -15px}@media (min-width:768px){.navbar-form .control-label,.navbar-form .form-group{margin-bottom:0;vertical-align:middle}.navbar-form .form-group{display:inline-block}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-form.navbar-right:last-child{margin-right:-15px}}.breadcrumb>li,.pagination{display:inline-block}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}.navbar-text.navbar-right:last-child{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-nav>li>a,.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#777}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>li>a,.navbar-inverse .navbar-text{color:#777}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#777}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#777}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{padding-left:0;margin:20px 0;border-radius:4px}.pager li,.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#428bca;text-decoration:none;background-color:#fff;border:1px solid #ddd}.badge,.label{font-weight:700;line-height:1;white-space:nowrap;text-align:center;vertical-align:baseline}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{color:#2a6496;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:2;color:#fff;cursor:default;background-color:#428bca;border-color:#428bca}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;color:#fff;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#428bca}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#3071a9}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;color:#fff;background-color:#777;border-radius:10px}.badge:empty{display:none}.list-group-item,.media-object,.thumbnail{display:block}.btn .badge{position:relative;top:-1px}.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.nav-pills>.active>a>.badge,a.list-group-item.active>.badge{color:#428bca;background-color:#fff}.jumbotron,.jumbotron .h1,.jumbotron h1{color:inherit}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px;margin-bottom:30px;background-color:#eee}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.alert,.thumbnail{margin-bottom:20px}.alert .alert-link,.close{font-weight:700}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#428bca}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.modal,.modal-backdrop{top:0;right:0;bottom:0;left:0}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.close,.list-group-item>.badge{float:right}.progress-bar-striped,.progress-striped .progress-bar{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar[aria-valuenow="1"],.progress-bar[aria-valuenow="2"]{min-width:30px}.progress-bar[aria-valuenow="0"]{min-width:30px;color:#777;background-color:transparent;background-image:none;-webkit-box-shadow:none;box-shadow:none}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-striped .progress-bar-info,.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media,.media-body{overflow:hidden;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item>.badge+.badge{margin-right:5px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#e1edf7}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.panel-heading>.dropdown .dropdown-toggle,.panel-title,.panel-title>a{color:inherit}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-title,.panel>.list-group,.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-title{margin-top:0;font-size:16px}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel-group .panel-heading,.panel>.list-group:last-child .list-group-item:last-child,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.list-group:last-child .list-group-item:last-child,.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.list-group+.panel-footer,.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#428bca}.panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#428bca}.panel-primary>.panel-heading .badge{color:#428bca;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#428bca}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{font-size:21px;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.carousel-caption,.carousel-control{text-shadow:0 1px 2px rgba(0,0,0,.6)}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal{position:fixed;z-index:1050;display:none;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate3d(0,-25%,0);-o-transform:translate3d(0,-25%,0);transform:translate3d(0,-25%,0)}.modal.in .modal-dialog{transform:translate3d(0,0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{min-height:16.43px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-size:12px;line-height:1.4;visibility:visible;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow,.tooltip.top-left .tooltip-arrow,.tooltip.top-right .tooltip-arrow{bottom:0;border-width:5px 5px 0;border-top-color:#000}.tooltip.top .tooltip-arrow{left:50%;margin-left:-5px}.tooltip.top-left .tooltip-arrow{left:5px}.tooltip.top-right .tooltip-arrow{right:5px}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow,.tooltip.bottom-left .tooltip-arrow,.tooltip.bottom-right .tooltip-arrow{border-width:0 5px 5px;border-bottom-color:#000;top:0}.tooltip.bottom .tooltip-arrow{left:50%;margin-left:-5px}.tooltip.bottom-left .tooltip-arrow{left:5px}.tooltip.bottom-right .tooltip-arrow{right:5px}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.carousel,.carousel-inner{position:relative}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.left>.arrow:after,.popover.right>.arrow:after{bottom:-10px;content:" "}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{left:1px;border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;border-right-width:0;border-left-color:#fff}.carousel-inner{width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;margin-top:-10px;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}.colorpicker,body>.select2-container.open{z-index:9999}.carousel-caption .btn,.text-hide{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.hidden,.visible-lg,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;background-color:transparent;border:0}.hidden{visibility:hidden!important}.affix{position:fixed;-webkit-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}@-ms-viewport{width:device-width}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}.visible-xs-block{display:block!important}.visible-xs-inline{display:inline!important}.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}.visible-sm-block{display:block!important}.visible-sm-inline{display:inline!important}.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}.visible-md-block{display:block!important}.visible-md-inline{display:inline!important}.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}.visible-lg-block{display:block!important}.visible-lg-inline{display:inline!important}.visible-lg-inline-block{display:inline-block!important}.hidden-lg{display:none!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}.hidden-print{display:none!important}}.colorpicker-visible,.colorpicker-visible .dropdown-menu{display:block!important}colorpicker-saturation{display:block;width:100px;height:100px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAFJhJREFUeAGMU+/q4kAMzFYf4LgP96a+q4c+gSIqxf/r5maWDoTgz15gmM0kW5uMLa21v2b2G6jAG2iEzqUU6q5c/OlMuHtL/ULNd5TP6EJ1RP7NuXvKE397jmbg7MrzHI748T1UA3eopyGQV2qK1+vVHo/Hm1itVm0J7Q+afwGMmgeRphf7Noh6lCeuHJAvm/X8rAQNlw2VScoj6863OQjl2ZB3qkeu5Lh0RJ3qynuNjJA21FppQAHa8/l83263No5jOxwOttlsbL1e2xIXXpMZzzRsXoTw34bQgLiQbKh6M9SXDBSypn4XGOSkGUO1cJdn1Yh4/qYVgctmGSwXyARNcOSFRuBMHvA1GMzwy+Vix+PRdrvdYrvd2vl87oZYDCxBL9B/jEyopghzlNjL0DlB+gAoPNXyOfa3oA9puXonyVHzdH+g9MEISa5z0qUNkwkm6MJkxALg8mlMAxvNwBfhYLvf7w50vl6vBV9H2e/3BjYateQDY8gM5bmWovygdyEb87k/G5Zz9c/2zfEQFysO5nDJ6mMel91Z//pwFpygIWIaMXE3AoYssPBCI/B12DiONMT5VZxOJ0f+j/MyWo5chYGowfn/j03lNXBpl85Up8d46u6DChBMvKv2UePrrAsChtdLTi73oEBjFDYpmIp/KSgRhRw357sXuHLknRgI8d90F8QL761oI8iQeJqvUOGnAoEkgNblF13iiJASZCwhLkG+v7/Halvt5+enr7x+02lZOwKymJ7jMAXK32RxaXnNxfXzCOkCxTO2I3NiR0i9gAjQLLoVHkKG8pCi0UT4Q0h5xUFIlBJEYmg+1yg6TrUq+YfEWKK0lWsSS8+DkNvCWtvJXu0UbDyH/NYjoDHFybPd/cPeficiW5LvkVdBNY4UoIqOQMwPBXm9vUYIVCj3GkXCCo1tRS//uMhYoVG3q46HaBQtamESTs/+0o92hOTaBbqjBwpu8reCuzAP4rkXpQBzQwbhZxD7jNYEAS4CI2Rg4hLitPUor2hGh6j4hQ5FfWt8LQF+SwyJIpGUV05nu56VHqJhR8ybb+Q+/dnPYZYSigIICvY3xfYxCckz/qazprjDiFJ+5DWVwscaMpSDgkleI2uutaKk5kPFNTqO8pBDlBQZEqKvoJXp7+lxzx7Cuoqp2M7zlrm5JbH/9oZ/GLdzBGf9FNmmvPi+h2FXnm8L5WhdCMJNyr1D6yvKP1rFQYgSjWpteE0JMraEME8ykpzo/0/+wcg5yGHMooegQYIRyXU1i52tCSfn9oSQFH+Fe4jypxs3RHA+xNCcNUZ+BXRg7iu0lhgDAesisSfE6UA0iudz9sNHKChek5eBX9a+FwKkKQ+Nd6JljkLX6B4x2L8hhHOsVdhR4iHEEe1LeWJCSI2tCo9AU3OIKHGgbupv6NvyRciGgMzPPLP5LmhPdKTx8qgSWIXxVkZx8QJihmCvPP8nE6IRXniKT9GThhKF0QkZal3KQYcLgn+s8YwWJiNnLVL4mOz1b+4piM8/+YYb8xNlLoASXqC7c9DCOokhl4RAKgSkCNM9wklBOPL4BIJoblQggsb8Km9W/IlIJkKrPN4xEETPwtS3hczrp8//pxmzpoUIBfeSO8r8/OE59wgTIsnIb4yBj7Cft6pYI8Sbh5TBD749IANSlKPgJQQmrr0uUfjbCnlV/V9OCfLpDc9b0nw4x3bznAbWFAyfUeBLEIhA3uaCKifFyUBg8pg+Ro8nOCVOintKoy0xj5bFvhNCQMAfoUqgc8UwMRot8dWy/qPcDHQk5XkgOPD97//Gl/xC2kKlkhl2V4pMQmAON+22E+4XgIzMKYMSmp7S0ymTcpYEYM6eVjKlJV25HgYguZ6lD1hR4S4byoxRwMUQjm87MYVxrW19nCqbgTD4kSEde7FlxcF4tKDCPu41lBUKa7tjgGuHJuPCwpBPdcONuVTiMEMgbPpugJE0+GIRusL+yD9qGhrP05ClFHfOuppZeV4ZkgyJdJc3dkxh0+8YDBpbsyuxrXYzV4VfmJLFwxdAEq7azIj9Yw9AuUCjEL3I7pD1xgo0BPv5Y2U9MCBvegpGxq9/vK7BftOQssP3ueL+HfJwLkAqVLlgPH9CF7phgMoKj/X8EjiNCtGQHzFU9mM7gsR8W/5wkuZ9ZUKBcYuWdE3qU2YYqLIllfo5aog2m2haKnlsvP30YUHO+3f9Yu2GrNpW2rYV8id2bM/9KxBPc/QgZQT9AlotQRtgSls1pIDADvo+3hL0bXBU0yxqG4Fx2ZshdXSBaEjZYtIdh/uxQDOrpMV/Biatjj8nzRgq8p0Ud6w9fAwwe+9mSJPWUMWzPG+A21ZWG45nhoQp1RdaBZ1WYDteUQ4gffvH1jomTHlkxk9GTDi5AS0YAODxMoRjMiqsjq/MyqvFFJX9buv6+18Y8mwDyFRH7Dj+T1rBtYivRV1v9mHtiKhfD10QrRFdsxor9Z4bgChAtF22fLsv1sfsGL4B0grazi9DygpagZ0A2s2WBMBmLn0de15D11KG5WSAvh20rB92fEIVwk0jdV2qPdyWr4mYuw75NMua7FFtmZxbkN7qi4DSFgaqQjc75GwDwbgBMkMMAPfD6cR1wpl1o7GftDhMMSPaFmm05+Tv/HWW9aQXbMfiBAZ4cNLdnz6hyAyj7ki9oQYYqdYd4h405JRwXs4DhLKozKhzG65449eQ4i5nX2LKXYjCVDcWF58Y0uJvj2EpY2VN79NzjHlVF8E1M2JZxOzW62rIEhhlywoAMMhrS8dFBJhgMJx5aRxg/fv9rSW9WN7LeQxZPn4bo6ExYgppsWNkQIt2pOAU8DAK8Oh/yK7ECM8pCAboJDTRFNsJQ3ZkBdtFXgV+A5qAEasl4sk2WxjOzn9PY6sZ1ZxJD/p9FMwoc1pjLNhEbLd2eX2Kpv6Y+aSCn8OUxhqyGBOwS9fxUiwDPIXfZw2JeNs+hS2/2R6r2Lfv+S/ivt3PG7eHh3S/52EDDD0j5h9rStliJiQLc5/fW9wP0PNcfB77nmVpX6Js2WaOQwb9OrXLJ9UMz7UmuJaAQj7fjxi6V97wIGftsqVMwcGZN2ZTL30fr7IYkL4xpG/9Y9bV677pUYXfrHk5tzuvoS1aRPX9ScV+3+Mn1FU7YMR6GT8LEP38xs2OyzVZRjIz9mWrIV2lTYo6LLk3BKXGKCM47jycKCb4zb4GzBi0g3Ec0a9OsBVQQsp+YwTjo+Mr9C/MQluIJmIkYYvvzpL2RhuiKT1uttTrK+q74p8siUsR64/nlS3XedcfZgY6kfUsv/FOUZfOlwGTfjyPCxjrRDbCvMLr4vCc9kN26pBR7H8KuW0wHZrkYCzj2+z5WbPCoZM2rISeEwop48KRZdhiPtmYLXNSyZs91YAeH06dow/Vpg3o+W9a/hbgPI5jTnvdx5YxZUbrCY1V7De22qProHXrDL/9B8dlHIuM3QQqUxL7d/pLyyqrzKlV6/2O/F/GBXP6ochjYdiKvQ4saA1ddlTvY/bEkY9Wa1iLkEN2JVavOhxHRlvqMF/XAnEVOJgXy3fAhCgY0N8bC0Nnpl8Lw/bt2LnCnsENO6o5r7bMcn2hONzQswSK2WVbphBy2kcjGqqWNRJQfU6ALwFgHTlo41pWWaE+O4V2zuhYZ1jYinTnvVmcC0Oclck+MgTH1jZU9Ty/VWaUIS42JwFPpkiWyDiZafZDygiJTseTIrc/g5v1qYQ6kgVnT48A+bztNN774MD2U8kDphjxaP18nyGzZBGUh7Y9L1uGvIp6Mq3EePVl7Xxf2/pE9gWI2KTFX2J3xx8Z0jWvnv+VhaG6tr8vkccerdTfdvhaXzTlLUM8t6HNIa9a4DfuDYgCWEaUCQ5jBcz2YI43lgqsrRi21F+pRThPhW5NvqLDK0Nw5E7RV7DKjDreX69/ZVY14wGQ8+HN733OxHGci9MKTBlkMNCSMqJA/udFzgg5IWqXKW9pbwvDu9VxFIjREGtHAS1w7rs4bcXtpIEV1t7H9QdgfmPIGrTmKDAW+gmIFHxNaRl3iCKEvYcsjuPAgTEzQ5zO2SHY3q+FX98oqti8casANPRxL19nx34JWZ9XQJ4r+uOLpmwxZxGyZF8Bcb9lf+dUR0zZgjwCigMKmGltbXG/SzZmUzQlxzMzGCdcmVUDEH3OijXp7k5StNVSh7xnV6Nju98+MaTMaMjK+b7xCy2gD1vk+G54eVxM6PEzM2TLqjJk3IdR/4iG7RSF+y1klQk4jqGvb/h4n6TBQwHZ77GYE0alLzZOTOl1+ShiFvUyBYRJIvSC1PFPfYemMoW+EpWXtaznArCLitWSnX6BKnPOLkTWIT/3vB3SEFemqF+m0Bh7ZIoY13m7IfmhfyxNzsu90j/f65Bn5hSoMSHIvPE+nptWAKesbWRY6xJax/NG30AnvS4AAPkVEOuDmHBk3KJ+dsewIt41+3t8+kqRB85Sy82QAmZmpGrfGnfqejZrKlP8Rv+GIZ0nnWi/Ys74kWzs6Ly7INTfYvA4CshcGL6wpSJ8I1/GtLCs9ji0lQG+vgzBOkmInRh2a0Y1If0DYPmr5vTPwIv9hCWPXyBcjUGL+n+PhWEdL9Rhi390Wv2lxeHRjGZbYR0Os7DWgb0f15VVzPd5XVcgClAZ41se8uE/3efT7Eq7oQXk7xpSB3NcrfAYzGmFLUAL1MwYtabPjBeYXhcAAGolA3vSjJkZ88Zdx6+/pzrEaf35x9XeODgANYTlPox167cOfmJMAbnv4+1QGNA6pAwpg8qInhdAPa4GFTjrKQi5XSAsjrsf0qWSb3sjm+M4vQz5fNEaA1TGTMxo9vVu2wIATgWozlfavegXZJ7h/+3dYY7cOA7F8VQnu/e/5u4dtnqRwThD/KA/ywU0Jl9GQGCZkl0yHx9JSW4nGPRxKXuA8RzG/BygfJchBtujW5Ipzso9R5HGA998fC7MCMX2kYyrC+mrwd9z7+n5ZIMM9bODV8kYUjuEoeTPAyPemVxq0feB+cJ/xJYuKj3qFoL3r0khi4uHLEvLJwitTGlA4pz734whA7A+ElO05MEer2vLt9hPRgoQcVQmBUM6oNf7VxPlOXudyl7AYEI3Yk0z4TOYxXyEVDliCvOZp+NH8cmAEXNmevVk1p7fpr89MZyKP1l9xZIXzPmIdPmkkLlrqEL8bpbu8XUBJOTT+psdPAvPMV1LAnOlvgkIfyPoPsjxMxquUV2ncX/do65KmSvOriY70XSF2OecL0A7Yf08eYKMJeiHuFq7hE+A2V3WUGgE7sEKGHFjTuNKwAfp8HPGLRUA4N+GAv8QaOkqr91Yl9E+ActMDb059ktX92PIolQB+Hx9Ta9voeB8y/4A9mmCqjyzMvY5PhjHMchf7REHZNH15xSTIfafLss/R2hABEKmtPK5VwPszNms7xOwLB8VM5RrqZbprier+Ei/cncBZYzxQkCaIdv+uUvr9Mm3ViKmPIwBk0GAL7N0mRFjWh6z/+d0oRrAVGTMMSZwMwP9dOvW6077IcWUufB3cjnXUspxM2l+YvZwf2PHtFI+vEm/YMbhvGIJ/SI7Q4kyJGJVsk9mjIniD7Os27GEPjLiaLE323Nyimu85GXtMhM3kvs3F8BPsr+NISPNpR0WhKuaxvkSkIeu5PpW1rWqSrvnMqn+nvE4TxkymeA5zOnzcZnn34whtD281rb511sX+5mTPGVmrWWZP1vPd31Xix+gvMGcEwO9RycRvdFm7DH1TMB1VbqnQ1enDMYUWfNwtRelN1Nc32KVuIBA3qlxj6GMpZlhPYB4VIzyt4JhFyN+nXs/FH8vy5p7HlMZIjwyiGNGtCluDOrElNXKG+gEeAcw5j4HVygTbBf4qfTt/V7rP+YX5a7B+S1FFxFBvSeMs06/zfVk3f0Zf98gbJJge9WV6bKW9hP7vG8EeHcMUYxKOLkvY4D+WoDGMQO9TAt31oC2mysDAqhwaWBmf5iTACADEPZDZMJunYJG8NU9IburyOhztPgyjOt4igUE+3xW2SCYm7IFPQJ6z9SvclKKD6tchS0uyz4F/gocYDcjPLaRnTBIVzaex+Mp/pxiyXMAknvq5bZOR/vLBhX0oH8r/v6xx6d27x8FAgU3a2RixRCSooshjxUQPyV+zGooKD+PBUSwLmVfAWa09bOgZ9zQAwZMr/AcR1n10mWlHzaoNrv6WAogdazY9iXHUalOt+8FsJ8nt49rHYAMlxWAzBRYBWbATdkAVIujr22vLNd4Z+Z253pdh8quMQuMCp4NHUcA5PjWieDAjqByANJ1gRV0AcQ0yfioe6Rpldm2M6d/WuVHW7isUJ5lUV4yQ5mgC2y4SYGq/t5vjU8b4xmDynxo/TIi6iX7fgRk/ueQbrSMPY+rbrawAlfgFLA1nylSAHRbbjDj/n36ehk8ZBPome5eRZfV8w/lo+hK7Huso1TqgDkskvoat+L/X3QsGoDM2tHouKDcJmPWeT9kobMvXc+dwrkOhtJeK/Nm/XEXaCx01ssAWtc99rUOAJ6Uu/srhrQyWgn2g4K6GOvZL5TBwwSA742/x7ijZF3F7tfNUi7Lh5grvwbisoxwYReZamaf9VC8cWhVsAuV4Y5oYyaNcdAuoPa1TcPQZX3v/y16+N55kyFTGQIxNLcDpwIvFKe7cU7keHd2VMxrhR+Y+WXnx+xsrPbm4Mf+eTMn1mYGaFrjptDj/ZmkmjaXVWv19slxkTXJynCvnIdL8zdZOnn83A9ZFSTAB4VsSpGmyipunCjuGN9liwzZs8ddwQVEyzeyuGPYD7APuOS6o7aO9xWo/P3fbrnF8e5y2+7Lnamvyg8GKNeKog2m2NaW+SjwLCQhlr5/M6DamjnNlAbJLKtBaQZU226Ru2KbCe+Ph6Tk3THb/v5zaRQ7yz4M6usa1HywJU50n+7bgb4Z0sC2XIa8P56+JvvuWHTaa6kgbLn7ELvV9bU76A0+hpTKuh3PoryDwKvrflwx5F/1IMaK9wrK+h3ltf/+bb8d5d8/XdZ//txS/N9hxfdvGNg/ZQT1//4fih7V/hdi/qwAAAAASUVORK5CYII=);background-size:contain;cursor:crosshair;float:left}colorpicker-saturation i{display:block;height:7px;width:7px;border:1px solid #000;border-radius:5px;position:absolute;top:0;left:0;margin:-4px 0 0 -4px}colorpicker-saturation i::after{content:'';display:block;height:7px;width:7px;border:1px solid #fff;border-radius:5px}colorpicker-alpha,colorpicker-hue{width:15px;height:100px;float:left;cursor:row-resize;margin-left:4px;margin-bottom:4px}colorpicker-alpha i,colorpicker-hue i{display:block;height:2px;background:#000;border-top:1px solid #fff;position:absolute;top:0;left:0;width:100%;margin-top:-1px}.colorpicker,colorpicker-alpha{display:none}colorpicker-hue{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAABkCAMAAABw8qpSAAABLFBMVEUA/z8AuP//JAAA/33/3AAA/1ABAv8A/7r/AH7/jgD2AP8A//j/AEHmAP/XAP/HAP+4AP//ALyoAP+aAP+JAP97AP9rAP9cAP9MAP8+AP8tAP8fAP8PAP8ATv//AG7/cAD/vgD/APoAmv//ADH/AKwB/wMA5//4Eg4AL///AOr/UQD/nwAA/27/7AAA/+kAe/8Ayf8A/5sA/zEA/6z/ABEAEP8A/17/MgAA/9n/ACL/gAD/AJ0AXP8Aqv//AMoA/yHqFBb/zAD/AGD/ANsA9//1/wDk/wDV/wDF/wC3/wD/AI2m/wD/FACY/wCI/wB5/wBp/wD/YgBb/wBK/wA8/wAs/wAd/wAN/wAAPv8A/xH/AFAAi///rQAA/8r/+gAA1///QwAAH/8Abf8A/43c/JNGAAAAiUlEQVR4AQXBg2EDAAAAsMy2bds2ttp2+/8PTby79mDLsKJPq/oFPdk24dWXAxsGjRg1ZtykKdNmzJozb8GiJct63WjYl7fiWdOZkk0vOpyr2fVtyKl7FX2uXGjpcuxWDy69KdiRk5WRlpIUFxMVERLw78+vH1Unun1YV3ZkwKM1CYfq7nQK22sD03ITV2Aqp0IAAAAASUVORK5CYII=);background-size:contain}.colorpicker-color,colorpicker-alpha{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAABkCAMAAACIElGlAAADAFBMVEUAAADT09PT09P////T09P////e3t7q6urT09Px8fHT09P////////T09PT09P////////T09PT09P////////////T09PT09P////////////T09P////T09PT09PT09P////T09PT09P////////////////T09P////T09PT09P////T09PT09PT09PT09PT09PT09P////T09P////T09PT09P////////////T09P////T09P////////////T09PT09P////T09P////////////////////T09P////////T09PT09P////////////////////////T09PT09P////////////////////////T09PT09P////T09PT09P////////T09P////////////T09P////////T09P////T09P////T09P////T09PT09PT09PT09P////T09PT09PT09PT09PT09PT09P////T09P////T09PT09P////////////T09PT09PT09P////T09PT09PT09PT09PT09PT09PT09P////////////////T09PT09P////////////T09P////////T09P////T09PT09PT09P////////T09P////////T09P////T09PT09P////////////////T09PT09PT09PT09P////T09PT09PT09PT09PT09PT09PT09P////T09P////T09PT09PT09PT09PT09P////////////////////////////////////T09P////T09P////T09P////T09PT09P////////////T09P////T09P////T09P////////////T09PT09P////////////////T09PT09P////T09P////T09PT09P////T09P////T09PT09P////T09PT09PT09PT09P////T09PT09P////////////T09PT09P////T09P////////T09MQsm1FAAABAHRSTlMAgJN8/vcDAfcCnJyGaZmZlomGk4yJOmM/eTxs8wY0YDFC7HNdLx18n5/7aUvzCcW9+qKiK8P0ZiltRwfdw/n8Px3WduJjItj78ss5PDHUNELbwP5wplA2FglEVwvkqNarCs4Z7b2sDLgQ0xNdyLrr0eLLUeW1Vs5TWQLwjPI3ZvQGdvxFyFrAeevaLCLvGd0kpRskGyf4qK605xKvFrGyDRHnBYMEkJaDkIBvB/gpH99O6CrbIC4nH3Lg2SXp4A7Qul/GDEgPSlMQ6LjqFU0SjyCCj5V/gnBN7xglL3O70WBU7gjFFEfft0sPTo1ndRipwXr2yRemWRVENq+ytbGuxGaWGQAAAnpJREFUeNpNxmdcDHAAxvEHOWXvmXX23ntv2XvvMg/Z44x0KaRBSnfcKSqlnYZKp1QqGpT20KZh783/eePj+3vzw3/q/AM9iURPTy6XS+RwcXNzcZMQTE1dTE3bE7y9S0u9xxD600rCGtpI2ErOsbGxzoiMrIqscnaOi4vDdnp4XYSrguwxQSb7KpMllycnl2MFaTSaTxrY5NrY5BoKb2BnZ2doZ29vb2OPSdSd4Bcc7OcXGhqamgqrYCsrq+mEiEtC3gUBDg55Dg53IkQYSYG+gb6+GEqB5wV0o5D8/JAQdKK5hA40n3BS+L6c0JJmE+ZQW8JEak1YQJ0Jq+jbaQEPnotGE+IrK+Pj+xKqU6pTUrIDAgKysZ+WEY5QQkJxcQIO0WrCUbL4YmFhgZ3UlVAUHR1d1JEwjVoRRpDJKxMTE/ShBoRR1I6whLyyvLyyUFAQFhbWhTCFFArFawXOCu/bEHpQLYKnZ0aGZw2CR1qah0dmpqurK+pTU0ILakJoTi+PC7j5RHTrqQg1qRkh3T3d3b0xoSE1ItSleoSe1IswmIYQPl8UlhLWkaOj41tHbKENBLX6j1qt/KFUKnFN+Onk9NvJCQdJpfqlUqGiIjExcRthN91/JsJmGkhYRO/OCBhHwwgxMWUxZQMIu8j8o7m5OfbRLMJh2kTYQ1FRhYVR2EHzCOtpMmEG3SUsJEvLoKAg2Prb2tqOJYSH+/uH33shwlTaS1hLBwhX6AYX2tuiRwStVntOa5yUZJwEqbREKjUi5Bjl5BhZW1uXWOMYGRBOnNDX1zfoxz1FwwkfSJfgo6vr41P7soBBNJ7Qm2YSzHTMzMwmEHRoMf0Fm5mYOUrzNBYAAAAASUVORK5CYII=);background-size:10px 100%}.colorpicker{top:0;left:0}.colorpicker colorpicker-alpha,.colorpicker colorpicker-hue,.colorpicker colorpicker-saturation{position:relative}.colorpicker input{width:100px;font-size:11px;color:#000;background-color:#fff}.colorpicker.alpha{min-width:140px}.colorpicker.alpha colorpicker-alpha{display:block}.colorpicker.dropdown{position:absolute}.colorpicker.colorpicker-fixed-position{position:fixed}.colorpicker .dropdown-menu::after,.colorpicker .dropdown-menu::before{content:'';display:inline-block;position:absolute}.colorpicker .dropdown-menu::after{clear:both;border:6px solid transparent;top:-5px;left:7px}.colorpicker .dropdown-menu::before{border:7px solid transparent;top:-6px;left:6px}.colorpicker .dropdown-menu{position:static;top:0;left:0;min-width:129px;padding:4px;margin-top:0}.colorpicker-position-top .dropdown-menu::after{border-top:6px solid #fff;border-bottom:0;top:auto;bottom:-5px}.colorpicker-position-top .dropdown-menu::before{border-top:7px solid rgba(0,0,0,.2);border-bottom:0;top:auto;bottom:-6px}.colorpicker-position-right .dropdown-menu::after{border-right:6px solid #fff;border-left:0;top:11px;left:-5px}.colorpicker-position-right .dropdown-menu::before{border-right:7px solid rgba(0,0,0,.2);border-left:0;top:10px;left:-6px}.colorpicker-position-bottom .dropdown-menu::after{border-bottom:6px solid #fff;border-top:0}.colorpicker-position-bottom .dropdown-menu::before{border-bottom:7px solid rgba(0,0,0,.2);border-top:0}.colorpicker-position-left .dropdown-menu::after{border-left:6px solid #fff;border-right:0;top:11px;left:auto;right:-5px}.colorpicker-position-left .dropdown-menu::before{border-left:7px solid rgba(0,0,0,.2);border-right:0;top:10px;left:auto;right:-6px}colorpicker-preview{display:block;height:10px;margin:5px 0 3px;clear:both;background-position:0 100%}/*! - * ui-select - * http://github.com/angular-ui/ui-select - * Version: 0.19.5 - 2016-10-24T23:13:59.551Z - * License: MIT - */.ui-select-highlight{font-weight:700}.ui-select-offscreen{clip:rect(0 0 0 0)!important;width:1px!important;height:1px!important;border:0!important;margin:0!important;padding:0!important;overflow:hidden!important;position:absolute!important;outline:0!important;left:0!important;top:0!important}.selectize-control.single>.selectize-input>input,.selectize-control>.selectize-dropdown{width:100%}.ui-select-choices-row:hover{background-color:#f5f5f5}.ng-dirty.ng-invalid>a.select2-choice{border-color:#D44950}.select2-result-single{padding-left:0}.select-locked>.ui-select-match-close,.select2-locked>.select2-search-choice-close{display:none}.ui-select-container.select2.direction-up .ui-select-match,.ui-select-container[theme=select2].direction-up .ui-select-match{border-radius:0 0 4px 4px}.ui-select-container.select2.direction-up .ui-select-dropdown,.ui-select-container[theme=select2].direction-up .ui-select-dropdown{border-radius:4px 4px 0 0;border-top-width:1px;border-top-style:solid;box-shadow:0 -4px 8px rgba(0,0,0,.25);margin-top:-4px}.ui-select-container.select2.direction-up .ui-select-dropdown .select2-search,.ui-select-container[theme=select2].direction-up .ui-select-dropdown .select2-search{margin-top:4px}.ui-select-container.select2.direction-up.select2-dropdown-open .ui-select-match,.ui-select-container[theme=select2].direction-up.select2-dropdown-open .ui-select-match{border-bottom-color:#5897fb}.ui-select-container[theme=select2] .ui-select-dropdown .ui-select-search-hidden,.ui-select-container[theme=select2] .ui-select-dropdown .ui-select-search-hidden input{opacity:0;height:0;min-height:0;padding:0;margin:0;border:0}.selectize-input.selectize-focus{border-color:#007FBB!important}.selectize-control.multi>.selectize-input>input{margin:0!important}.ng-dirty.ng-invalid>div.selectize-input{border-color:#D44950}.ui-select-container[theme=selectize].direction-up .ui-select-dropdown{box-shadow:0 -4px 8px rgba(0,0,0,.25);margin-top:-2px}.ui-select-container[theme=selectize] input.ui-select-search-hidden{opacity:0;height:0;min-height:0;padding:0;margin:0;border:0;width:0}.btn-default-focus{color:#333;background-color:#EBEBEB;border-color:#ADADAD;text-decoration:none;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.ui-select-bootstrap .ui-select-toggle{position:relative}.ui-select-bootstrap .ui-select-toggle>.caret{position:absolute;height:10px;top:50%;right:10px;margin-top:-2px}.input-group>.ui-select-bootstrap.dropdown{position:static}.input-group>.ui-select-bootstrap>input.ui-select-search.form-control{border-radius:4px 0 0 4px}.input-group>.ui-select-bootstrap>input.ui-select-search.form-control.direction-up{border-radius:4px 0 0 4px!important}.ui-select-bootstrap .ui-select-search-hidden{opacity:0;height:0;min-height:0;padding:0;margin:0;border:0}.ui-select-bootstrap>.ui-select-match>.btn{text-align:left!important}.ui-select-bootstrap>.ui-select-match>.caret{position:absolute;top:45%;right:15px}.ui-select-bootstrap>.ui-select-choices,.ui-select-bootstrap>.ui-select-no-choice{width:100%;height:auto;max-height:200px;overflow-x:hidden;margin-top:-1px}body>.ui-select-bootstrap.open{z-index:1000}.ui-select-multiple.ui-select-bootstrap{height:auto;padding:3px 3px 0}.ui-select-multiple.ui-select-bootstrap input.ui-select-search{background-color:transparent!important;border:none;outline:0;height:1.666666em;margin-bottom:3px}.ui-select-multiple.ui-select-bootstrap .ui-select-match .close{font-size:1.6em;line-height:.75}.ui-select-multiple.ui-select-bootstrap .ui-select-match-item{outline:0;margin:0 3px 3px 0}.ui-select-multiple .ui-select-match-item{position:relative}.ui-select-multiple .ui-select-match-item.dropping .ui-select-match-close{pointer-events:none}.ui-select-multiple:hover .ui-select-match-item.dropping-before:before{content:"";position:absolute;top:0;right:100%;height:100%;margin-right:2px;border-left:1px solid #428bca}.ui-select-multiple:hover .ui-select-match-item.dropping-after:after{content:"";position:absolute;top:0;left:100%;height:100%;margin-left:2px;border-right:1px solid #428bca}.md-chips:after,md-autocomplete button:after,md-checkbox .md-container:after,md-checkbox .md-container:before{content:''}.ui-select-bootstrap .ui-select-choices-row>span{cursor:pointer;display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.ui-select-bootstrap .ui-select-choices-row>span:focus,.ui-select-bootstrap .ui-select-choices-row>span:hover{text-decoration:none;color:#262626;background-color:#f5f5f5}.ui-select-bootstrap .ui-select-choices-row.active>span{color:#fff;text-decoration:none;outline:0;background-color:#428bca}.ui-select-bootstrap .ui-select-choices-row.active.disabled>span,.ui-select-bootstrap .ui-select-choices-row.disabled>span{color:#777;cursor:not-allowed;background-color:#fff}button[disabled],html input[type=button][disabled],input[type=reset][disabled],input[type=submit][disabled],md-autocomplete[disabled] input{cursor:default}.ui-select-match.ng-hide-add,.ui-select-search.ng-hide-add{display:none!important}.ui-select-bootstrap.ng-dirty.ng-invalid>button.btn.ui-select-match{border-color:#D44950}.ui-select-container[theme=bootstrap].direction-up .ui-select-dropdown{box-shadow:0 -4px 8px rgba(0,0,0,.25)}.md-button.md-fab,.md-button.md-raised:not([disabled]),.md-button:not([disabled]).md-fab.md-focused,.md-button:not([disabled]).md-raised.md-focused,.md-shadow-bottom-z-1{box-shadow:0 2px 5px 0 rgba(0,0,0,.26)}.ui-select-bootstrap .ui-select-match-text{width:100%;padding-right:1em}.ui-select-bootstrap .ui-select-match-text span{display:inline-block;width:100%;overflow:hidden}.ui-select-bootstrap .ui-select-toggle>a.btn{position:absolute;height:10px;right:10px;margin-top:-2px}.ui-select-refreshing{position:absolute;right:0;padding:8px 27px;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased}.md-ripple-container,.md-scroll-mask,.md-scroll-mask>.md-scroll-mask-bar,.md-shadow,md-backdrop{position:absolute;top:0}button,html,input,md-bottom-sheet .md-subheader,select,textarea{font-family:Roboto,"Helvetica Neue",sans-serif}@-webkit-keyframes ui-select-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes ui-select-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.ui-select-spin{-webkit-animation:ui-select-spin 2s infinite linear;animation:ui-select-spin 2s infinite linear}.ui-select-refreshing.ng-animate{-webkit-animation:none 0s}/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v1.1.1 - */body,html{height:100%;position:relative;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;min-height:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-webkit-font-smoothing:antialiased}body{margin:0;padding:0}[tabindex='-1']:focus{outline:0}.inset{padding:10px}a.md-no-style,button.md-no-style{font-weight:400;background-color:inherit;text-align:left;border:none;padding:0;margin:0}button,input,select,textarea{vertical-align:baseline}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button}textarea{vertical-align:top;overflow:auto}input[type=search]{-moz-box-sizing:border-box;-webkit-appearance:textfield;box-sizing:content-box;-webkit-box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}input:-webkit-autofill{text-shadow:none}.md-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;text-transform:none;width:1px}.md-padding,md-card md-card-header md-card-avatar md-icon{padding:8px}.md-shadow{left:0;bottom:0;right:0;border-radius:inherit;pointer-events:none}.md-shadow-bottom-z-2{box-shadow:0 4px 8px 0 rgba(0,0,0,.4)}.md-shadow-animated.md-shadow{-webkit-transition:box-shadow .28s cubic-bezier(.4,0,.2,1);transition:box-shadow .28s cubic-bezier(.4,0,.2,1)}.md-ripple-container{pointer-events:none;overflow:hidden;left:0;width:100%;height:100%;-webkit-transition:all .55s cubic-bezier(.25,.8,.25,1);transition:all .55s cubic-bezier(.25,.8,.25,1)}.md-ripple{position:absolute;-webkit-transform:translate(-50%,-50%) scale(0);transform:translate(-50%,-50%) scale(0);-webkit-transform-origin:50% 50%;transform-origin:50% 50%;opacity:0;border-radius:50%}.md-ripple.md-ripple-placed{-webkit-transition:margin .9s cubic-bezier(.25,.8,.25,1),border .9s cubic-bezier(.25,.8,.25,1),width .9s cubic-bezier(.25,.8,.25,1),height .9s cubic-bezier(.25,.8,.25,1),opacity .9s cubic-bezier(.25,.8,.25,1),-webkit-transform .9s cubic-bezier(.25,.8,.25,1);transition:margin .9s cubic-bezier(.25,.8,.25,1),border .9s cubic-bezier(.25,.8,.25,1),width .9s cubic-bezier(.25,.8,.25,1),height .9s cubic-bezier(.25,.8,.25,1),opacity .9s cubic-bezier(.25,.8,.25,1),-webkit-transform .9s cubic-bezier(.25,.8,.25,1);transition:margin .9s cubic-bezier(.25,.8,.25,1),border .9s cubic-bezier(.25,.8,.25,1),width .9s cubic-bezier(.25,.8,.25,1),height .9s cubic-bezier(.25,.8,.25,1),opacity .9s cubic-bezier(.25,.8,.25,1),transform .9s cubic-bezier(.25,.8,.25,1);transition:margin .9s cubic-bezier(.25,.8,.25,1),border .9s cubic-bezier(.25,.8,.25,1),width .9s cubic-bezier(.25,.8,.25,1),height .9s cubic-bezier(.25,.8,.25,1),opacity .9s cubic-bezier(.25,.8,.25,1),transform .9s cubic-bezier(.25,.8,.25,1),-webkit-transform .9s cubic-bezier(.25,.8,.25,1)}.md-ripple.md-ripple-scaled{-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1)}.md-ripple.md-ripple-active,.md-ripple.md-ripple-full,.md-ripple.md-ripple-visible{opacity:.2}.md-ripple.md-ripple-remove{-webkit-animation:md-remove-ripple .9s cubic-bezier(.25,.8,.25,1);animation:md-remove-ripple .9s cubic-bezier(.25,.8,.25,1)}@-webkit-keyframes md-remove-ripple{0%{opacity:.15}100%{opacity:0}}@keyframes md-remove-ripple{0%{opacity:.15}100%{opacity:0}}.md-margin{margin:8px}.md-scroll-mask{background-color:transparent;right:0;bottom:0;left:0;z-index:50}.md-scroll-mask>.md-scroll-mask-bar{display:block;background-color:#fafafa;right:0;bottom:0;z-index:65;box-shadow:inset 0 0 1px rgba(0,0,0,.3)}.md-no-momentum{-webkit-overflow-scrolling:auto}.md-no-flicker{-webkit-filter:blur(0)}@media (min-width:960px){.md-padding{padding:16px}}body[dir=ltr],body[dir=rtl],html[dir=ltr],html[dir=rtl]{unicode-bidi:embed}bdo[dir=rtl]{direction:rtl}bdo[dir=ltr]{direction:ltr}.md-display-4{font-size:112px;font-weight:300;letter-spacing:-.010em;line-height:112px}.md-display-3{font-size:56px;font-weight:400;letter-spacing:-.005em;line-height:56px}.md-display-2{font-size:45px;font-weight:400;line-height:64px}.md-display-1{font-size:34px;font-weight:400;line-height:40px}.md-headline{font-size:24px;font-weight:400;line-height:32px}.md-title{font-size:20px;font-weight:500;letter-spacing:.005em}.md-subhead{font-size:16px;font-weight:400;letter-spacing:.010em;line-height:24px}.md-body-1,.md-body-2{font-size:14px;letter-spacing:.010em}.md-body-1{font-weight:400;line-height:20px}.md-body-2{font-weight:500;line-height:24px}.md-caption{font-size:12px;letter-spacing:.020em}button,input,select,textarea{font-size:100%}@-webkit-keyframes md-autocomplete-list-out{0%{-webkit-animation-timing-function:linear;animation-timing-function:linear}50%{opacity:0;height:40px;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}100%{height:0;opacity:0}}@keyframes md-autocomplete-list-out{0%{-webkit-animation-timing-function:linear;animation-timing-function:linear}50%{opacity:0;height:40px;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}100%{height:0;opacity:0}}@-webkit-keyframes md-autocomplete-list-in{0%{opacity:0;height:0;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{opacity:0;height:40px}100%{opacity:1;height:40px}}@keyframes md-autocomplete-list-in{0%{opacity:0;height:0;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{opacity:0;height:40px}100%{opacity:1;height:40px}}md-autocomplete{border-radius:2px;display:block;height:40px;position:relative;overflow:visible;min-width:190px}.md-autocomplete-suggestions li:not(.md-not-found-wrapper),.md-button,md-bottom-sheet md-list-item:hover{cursor:pointer}md-autocomplete[md-floating-label]{border-radius:0;background:0 0;height:auto}md-autocomplete[md-floating-label] md-input-container{padding-bottom:0}md-autocomplete[md-floating-label] md-autocomplete-wrap{height:auto}md-autocomplete[md-floating-label] button{position:absolute;top:auto;bottom:0;right:0;width:30px;height:30px}md-autocomplete md-autocomplete-wrap{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row;box-sizing:border-box;position:relative;overflow:visible;height:40px}md-autocomplete md-autocomplete-wrap.md-menu-showing{z-index:51}md-autocomplete md-autocomplete-wrap input,md-autocomplete md-autocomplete-wrap md-input-container{-webkit-box-flex:1;-webkit-flex:1 1 0%;flex:1 1 0%;box-sizing:border-box;min-width:0}md-autocomplete md-autocomplete-wrap md-progress-linear{position:absolute;bottom:-2px;left:0}md-autocomplete md-autocomplete-wrap md-progress-linear.md-inline{bottom:40px;right:2px;left:2px;width:auto}md-autocomplete md-autocomplete-wrap md-progress-linear .md-mode-indeterminate{position:absolute;top:0;left:0;width:100%;height:3px;-webkit-transition:none;transition:none}md-autocomplete md-autocomplete-wrap md-progress-linear .md-mode-indeterminate .md-container{-webkit-transition:none;transition:none;height:3px}md-autocomplete md-autocomplete-wrap md-progress-linear .md-mode-indeterminate.ng-enter{-webkit-transition:opacity .15s linear;transition:opacity .15s linear}md-autocomplete md-autocomplete-wrap md-progress-linear .md-mode-indeterminate.ng-enter.ng-enter-active{opacity:1}md-autocomplete md-autocomplete-wrap md-progress-linear .md-mode-indeterminate.ng-leave{-webkit-transition:opacity .15s linear;transition:opacity .15s linear}md-autocomplete md-autocomplete-wrap md-progress-linear .md-mode-indeterminate.ng-leave.ng-leave-active{opacity:0}md-autocomplete input:not(.md-input){font-size:14px;box-sizing:border-box;border:none;box-shadow:none;outline:0;background:0 0;width:100%;padding:0 15px;line-height:40px;height:40px}md-autocomplete input:not(.md-input)::-ms-clear{display:none}md-autocomplete button{position:relative;line-height:20px;text-align:center;width:30px;height:30px;cursor:pointer;border:none;border-radius:50%;padding:0;font-size:12px;background:0 0;margin:auto 5px}md-autocomplete button:after{position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:50%;-webkit-transform:scale(0);transform:scale(0);opacity:0;-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1)}md-autocomplete button:focus{outline:0}md-autocomplete button:focus:after{-webkit-transform:scale(1);transform:scale(1);opacity:1}md-autocomplete button md-icon{position:absolute;top:50%;left:50%;-webkit-transform:translate3d(-50%,-50%,0) scale(.9);transform:translate3d(-50%,-50%,0) scale(.9)}md-autocomplete button md-icon path{stroke-width:0}md-autocomplete button.ng-enter{-webkit-transform:scale(0);transform:scale(0);-webkit-transition:-webkit-transform .15s ease-out;transition:-webkit-transform .15s ease-out;transition:transform .15s ease-out;transition:transform .15s ease-out,-webkit-transform .15s ease-out}md-autocomplete button.ng-enter.ng-enter-active{-webkit-transform:scale(1);transform:scale(1)}md-autocomplete button.ng-leave{-webkit-transition:-webkit-transform .15s ease-out;transition:-webkit-transform .15s ease-out;transition:transform .15s ease-out;transition:transform .15s ease-out,-webkit-transform .15s ease-out}md-autocomplete button.ng-leave.ng-leave-active{-webkit-transform:scale(0);transform:scale(0)}.md-virtual-repeat-container.md-autocomplete-suggestions-container{position:absolute;box-shadow:0 2px 5px rgba(0,0,0,.25);height:225.5px;max-height:225.5px;z-index:100}.md-virtual-repeat-container.md-not-found{height:48px}.md-autocomplete-suggestions{margin:0;list-style:none;padding:0}.md-autocomplete-suggestions li{font-size:14px;overflow:hidden;padding:0 15px;line-height:48px;height:48px;-webkit-transition:background .15s linear;transition:background .15s linear;margin:0;white-space:nowrap;text-overflow:ellipsis}.md-autocomplete-suggestions li:focus{outline:0}@media screen and (-ms-high-contrast:active){.md-autocomplete-suggestions,md-autocomplete,md-autocomplete input{border:1px solid #fff}md-autocomplete li:focus{color:#fff}}md-backdrop{-webkit-transition:opacity 450ms;transition:opacity 450ms;bottom:0;left:0;right:0;z-index:50}md-backdrop.md-menu-backdrop{position:fixed!important;z-index:99}md-backdrop.md-click-catcher,md-bottom-sheet{position:absolute}md-backdrop.md-select-backdrop{z-index:81;-webkit-transition-duration:0;transition-duration:0}md-backdrop.md-dialog-backdrop{z-index:79}md-backdrop.md-bottom-sheet-backdrop{z-index:69}md-backdrop.md-sidenav-backdrop{z-index:59}md-backdrop.md-opaque{opacity:.48}md-backdrop.md-opaque.ng-enter{opacity:0}md-backdrop.md-opaque.ng-enter.md-opaque.ng-enter-active{opacity:.48}md-backdrop.md-opaque.ng-leave{opacity:.48;-webkit-transition:opacity .4s;transition:opacity .4s}md-backdrop.md-opaque.ng-leave.md-opaque.ng-leave-active{opacity:0}md-bottom-sheet{left:0;right:0;bottom:0;padding:8px 16px 88px;z-index:70;border-top-width:1px;border-top-style:solid;-webkit-transform:translate3d(0,80px,0);transform:translate3d(0,80px,0);-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform}md-bottom-sheet.md-has-header{padding-top:0}md-bottom-sheet.ng-enter{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}md-bottom-sheet.ng-enter-active{opacity:1;display:block;-webkit-transform:translate3d(0,80px,0)!important;transform:translate3d(0,80px,0)!important}md-bottom-sheet.ng-leave-active{-webkit-transform:translate3d(0,100%,0)!important;transform:translate3d(0,100%,0)!important;-webkit-transition:all .3s cubic-bezier(.55,0,.55,.2);transition:all .3s cubic-bezier(.55,0,.55,.2)}md-bottom-sheet .md-subheader{background-color:transparent;line-height:56px;padding:0;white-space:nowrap}md-bottom-sheet md-inline-icon{display:inline-block;height:24px;width:24px;fill:#444}md-bottom-sheet md-list-item{display:-webkit-box;display:-webkit-flex;display:flex;outline:0}md-bottom-sheet.md-list md-list-item{padding:0;-webkit-box-align:center;-webkit-align-items:center;-ms-grid-row-align:center;align-items:center;height:48px}md-bottom-sheet.md-grid{padding-left:24px;padding-right:24px;padding-top:0}md-bottom-sheet.md-grid md-list{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;flex-wrap:wrap;-webkit-transition:all .5s;transition:all .5s;-webkit-box-align:center;-webkit-align-items:center;align-items:center}md-bottom-sheet.md-grid md-list-item{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;-ms-grid-row-align:center;align-items:center;-webkit-transition:all .5s;transition:all .5s;height:96px;margin-top:8px;margin-bottom:8px}@media (max-width:960px){md-bottom-sheet.md-grid md-list-item{-webkit-box-flex:1;-webkit-flex:1 1 33.33333%;flex:1 1 33.33333%;max-width:33.33333%}md-bottom-sheet.md-grid md-list-item:nth-of-type(3n+1){-webkit-box-align:start;-webkit-align-items:flex-start;-ms-grid-row-align:flex-start;align-items:flex-start}md-bottom-sheet.md-grid md-list-item:nth-of-type(3n){-webkit-box-align:end;-webkit-align-items:flex-end;-ms-grid-row-align:flex-end;align-items:flex-end}}@media (min-width:960px) and (max-width:1279px){md-bottom-sheet.md-grid md-list-item{-webkit-box-flex:1;-webkit-flex:1 1 25%;flex:1 1 25%;max-width:25%}}@media (min-width:1280px) and (max-width:1919px){md-bottom-sheet.md-grid md-list-item{-webkit-box-flex:1;-webkit-flex:1 1 16.66667%;flex:1 1 16.66667%;max-width:16.66667%}}@media (min-width:1920px){md-bottom-sheet.md-grid md-list-item{-webkit-box-flex:1;-webkit-flex:1 1 14.28571%;flex:1 1 14.28571%;max-width:14.28571%}}md-bottom-sheet.md-grid md-list-item::before{display:none}md-bottom-sheet.md-grid md-list-item .md-list-item-content{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;align-items:center;width:48px;padding-bottom:16px}md-bottom-sheet.md-grid md-list-item .md-grid-item-content{border:1px solid transparent;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;align-items:center;width:80px}md-bottom-sheet.md-grid md-list-item .md-grid-text{font-weight:400;line-height:16px;font-size:13px;margin:0;white-space:nowrap;width:64px;text-align:center;text-transform:none;padding-top:8px}.md-button,md-card md-card-header md-card-avatar+md-card-header-text .md-title,md-card md-card-header md-card-header-text .md-subhead{font-size:14px}@media screen and (-ms-high-contrast:active){md-bottom-sheet{border:1px solid #fff}}button.md-button::-moz-focus-inner{border:0}.md-button{letter-spacing:.010em;display:inline-block;position:relative;min-height:36px;min-width:88px;line-height:36px;vertical-align:middle;-webkit-box-align:center;-webkit-align-items:center;-ms-grid-row-align:center;align-items:center;text-align:center;border-radius:3px;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;outline:0;border:0;padding:0 6px;margin:6px 8px;background:0 0;color:currentColor;white-space:nowrap;text-transform:uppercase;font-weight:500;font-style:inherit;font-variant:inherit;font-family:inherit;text-decoration:none;overflow:hidden;-webkit-transition:box-shadow .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1);transition:box-shadow .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1)}.md-chips md-chip._md-chip-content-edit-is-enabled,md-checkbox{-webkit-user-select:none;-ms-user-select:none;-moz-user-select:none}.md-button:focus{outline:0}.md-button:focus,.md-button:hover{text-decoration:none}.md-button.ng-hide,.md-button.ng-leave{-webkit-transition:none;transition:none}.md-button.md-cornered{border-radius:0}.md-button.md-icon{padding:0;background:0 0}.md-button.md-icon-button{margin:0 6px;height:40px;min-width:0;line-height:24px;padding:8px;width:40px;border-radius:50%}.md-button.md-icon-button .md-ripple-container{border-radius:50%;overflow:hidden}.md-button.md-fab{z-index:20;line-height:56px;min-width:0;width:56px;height:56px;border-radius:50%;background-clip:padding-box;overflow:hidden;-webkit-transition:all .3s cubic-bezier(.55,0,.55,.2);transition:all .3s cubic-bezier(.55,0,.55,.2);-webkit-transition-property:background-color,box-shadow,-webkit-transform;transition-property:background-color,box-shadow,-webkit-transform;transition-property:background-color,box-shadow,transform;transition-property:background-color,box-shadow,transform,-webkit-transform}.md-button.md-fab.md-fab-bottom-right{top:auto;right:20px;bottom:20px;left:auto;position:absolute}.md-button.md-fab.md-fab-bottom-left{top:auto;right:auto;bottom:20px;left:20px;position:absolute}.md-button.md-fab.md-fab-top-right{top:20px;right:20px;bottom:auto;left:auto;position:absolute}.md-button.md-fab.md-fab-top-left{top:20px;right:auto;bottom:auto;left:20px;position:absolute}.md-button.md-fab .md-ripple-container{border-radius:50%;overflow:hidden}.md-button.md-fab.md-mini{line-height:40px;width:40px;height:40px}.md-button.md-fab.ng-hide,.md-button.md-fab.ng-leave{-webkit-transition:none;transition:none}.md-button:not([disabled]).md-fab:active,.md-button:not([disabled]).md-raised:active{box-shadow:0 4px 8px 0 rgba(0,0,0,.4)}.md-button .md-ripple-container{border-radius:3px;overflow:hidden}.md-button.md-icon-button md-icon,button.md-button.md-fab md-icon{display:block}.md-toast-open-top .md-button.md-fab-top-left,.md-toast-open-top .md-button.md-fab-top-right{-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transform:translate3d(0,42px,0);transform:translate3d(0,42px,0)}.md-toast-open-top .md-button.md-fab-top-left:not([disabled]).md-focused,.md-toast-open-top .md-button.md-fab-top-left:not([disabled]):hover,.md-toast-open-top .md-button.md-fab-top-right:not([disabled]).md-focused,.md-toast-open-top .md-button.md-fab-top-right:not([disabled]):hover{-webkit-transform:translate3d(0,41px,0);transform:translate3d(0,41px,0)}.md-toast-open-bottom .md-button.md-fab-bottom-left,.md-toast-open-bottom .md-button.md-fab-bottom-right{-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transform:translate3d(0,-42px,0);transform:translate3d(0,-42px,0)}.md-toast-open-bottom .md-button.md-fab-bottom-left:not([disabled]).md-focused,.md-toast-open-bottom .md-button.md-fab-bottom-left:not([disabled]):hover,.md-toast-open-bottom .md-button.md-fab-bottom-right:not([disabled]).md-focused,.md-toast-open-bottom .md-button.md-fab-bottom-right:not([disabled]):hover{-webkit-transform:translate3d(0,-43px,0);transform:translate3d(0,-43px,0)}.md-button-group{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-flex:1;-webkit-flex:1;flex:1;width:100%}.md-button-group>.md-button{-webkit-box-flex:1;-webkit-flex:1;flex:1;display:block;overflow:hidden;width:0;border-width:1px 0 1px 1px;border-radius:0;text-align:center;text-overflow:ellipsis;white-space:nowrap}md-card,md-card md-card-header,md-card md-card-header md-card-header-text{display:-webkit-box;display:-webkit-flex}.md-button-group>.md-button:first-child{border-radius:2px 0 0 2px}.md-button-group>.md-button:last-child{border-right-width:1px;border-radius:0 2px 2px 0}@media screen and (-ms-high-contrast:active){.md-button.md-fab,.md-button.md-raised{border:1px solid #fff}}md-card{box-sizing:border-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;margin:8px;box-shadow:0 1px 3px 0 rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 2px 1px -1px rgba(0,0,0,.12)}.md-chips .md-chip-input-container md-autocomplete,.md-chips .md-chip-input-container md-autocomplete md-autocomplete-wrap{box-shadow:none}md-card md-card-header{padding:16px;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}md-card md-card-header:first-child md-card-avatar{margin-right:12px}[dir=rtl] md-card md-card-header:first-child md-card-avatar{margin-right:auto;margin-left:12px}md-card md-card-header:last-child md-card-avatar{margin-left:12px}[dir=rtl] md-card md-card-header:last-child md-card-avatar{margin-left:auto;margin-right:12px}md-card md-card-header md-card-avatar{width:40px;height:40px}md-card md-card-header md-card-avatar .md-user-avatar,md-card md-card-header md-card-avatar md-icon{border-radius:50%}md-card md-card-header md-card-avatar+md-card-header-text{max-height:40px}md-card md-card-header md-card-header-text{display:flex;-webkit-box-flex:1;-webkit-flex:1;flex:1;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column}md-card md-card-title-media img,md-card>img,md-card>md-card-header img{box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto;width:100%;height:auto}md-card md-card-title,md-card md-card-title md-card-title-text{display:-webkit-box;display:-webkit-flex;-webkit-box-direction:normal}md-card md-card-title{padding:24px 16px 16px;display:flex;-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto;-webkit-box-orient:horizontal;-webkit-flex-direction:row;flex-direction:row}md-card md-card-title+md-card-content{padding-top:0}md-card md-card-title md-card-title-text{-webkit-box-flex:1;-webkit-flex:1;flex:1;-webkit-box-orient:vertical;-webkit-flex-direction:column;flex-direction:column;display:flex}md-card md-card-title md-card-title-text .md-subhead{padding-top:0;font-size:14px}md-card md-card-title md-card-title-text:only-child .md-subhead{padding-top:12px}md-card md-card-title md-card-title-media{margin-top:-8px}md-card md-card-title md-card-title-media .md-media-sm{height:80px;width:80px}md-card md-card-title md-card-title-media .md-media-md{height:112px;width:112px}md-card md-card-title md-card-title-media .md-media-lg{height:152px;width:152px}md-card md-card-content{display:block;padding:16px}md-card md-card-content>p:first-child{margin-top:0}md-card md-card-content>p:last-child{margin-bottom:0}md-card md-card-content .md-media-xl{height:240px;width:240px}md-card .md-actions,md-card md-card-actions{margin:8px}md-card .md-actions.layout-column .md-button:not(.md-icon-button),md-card md-card-actions.layout-column .md-button:not(.md-icon-button){margin:2px 0}md-card .md-actions.layout-column .md-button:not(.md-icon-button):first-of-type,md-card md-card-actions.layout-column .md-button:not(.md-icon-button):first-of-type{margin-top:0}md-card .md-actions.layout-column .md-button:not(.md-icon-button):last-of-type,md-card md-card-actions.layout-column .md-button:not(.md-icon-button):last-of-type{margin-bottom:0}md-card .md-actions.layout-column .md-button.md-icon-button,md-card md-card-actions.layout-column .md-button.md-icon-button{margin-top:6px;margin-bottom:6px}md-card .md-actions md-card-icon-actions,md-card md-card-actions md-card-icon-actions{-webkit-box-flex:1;-webkit-flex:1;flex:1;-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}md-card .md-actions:not(.layout-column) .md-button:not(.md-icon-button),md-card md-card-actions:not(.layout-column) .md-button:not(.md-icon-button){margin:0 4px}md-card .md-actions:not(.layout-column) .md-button:not(.md-icon-button):first-of-type,md-card md-card-actions:not(.layout-column) .md-button:not(.md-icon-button):first-of-type{margin-left:0}[dir=rtl] md-card .md-actions:not(.layout-column) .md-button:not(.md-icon-button):first-of-type,[dir=rtl] md-card md-card-actions:not(.layout-column) .md-button:not(.md-icon-button):first-of-type{margin-left:auto;margin-right:0}md-card .md-actions:not(.layout-column) .md-button:not(.md-icon-button):last-of-type,md-card md-card-actions:not(.layout-column) .md-button:not(.md-icon-button):last-of-type{margin-right:0}[dir=rtl] md-card .md-actions:not(.layout-column) .md-button:not(.md-icon-button):last-of-type,[dir=rtl] md-card md-card-actions:not(.layout-column) .md-button:not(.md-icon-button):last-of-type{margin-right:auto;margin-left:0}md-card .md-actions:not(.layout-column) .md-button.md-icon-button,md-card md-card-actions:not(.layout-column) .md-button.md-icon-button{margin-left:6px;margin-right:6px}md-card .md-actions:not(.layout-column) .md-button.md-icon-button:first-of-type,md-card md-card-actions:not(.layout-column) .md-button.md-icon-button:first-of-type{margin-left:12px}[dir=rtl] md-card .md-actions:not(.layout-column) .md-button.md-icon-button:first-of-type,[dir=rtl] md-card md-card-actions:not(.layout-column) .md-button.md-icon-button:first-of-type{margin-left:auto;margin-right:12px}md-card .md-actions:not(.layout-column) .md-button.md-icon-button:last-of-type,md-card md-card-actions:not(.layout-column) .md-button.md-icon-button:last-of-type{margin-right:12px}[dir=rtl] md-card .md-actions:not(.layout-column) .md-button.md-icon-button:last-of-type,[dir=rtl] md-card md-card-actions:not(.layout-column) .md-button.md-icon-button:last-of-type{margin-right:auto;margin-left:12px}md-card .md-actions:not(.layout-column) .md-button+md-card-icon-actions,md-card md-card-actions:not(.layout-column) .md-button+md-card-icon-actions{-webkit-box-flex:1;-webkit-flex:1;flex:1;-webkit-box-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}md-card md-card-footer{margin-top:auto;padding:16px}@media screen and (-ms-high-contrast:active){md-card{border:1px solid #fff}}.md-image-no-fill>img{width:auto;height:auto}.md-contact-chips .md-chips md-chip{padding:0 25px 0 0}[dir=rtl] .md-contact-chips .md-chips md-chip{padding:0 0 0 25px}.md-contact-chips .md-chips md-chip .md-contact-avatar{float:left}[dir=rtl] .md-contact-chips .md-chips md-chip .md-contact-avatar{float:right}.md-contact-chips .md-chips md-chip .md-contact-avatar img{height:32px;border-radius:16px}.md-contact-chips .md-chips md-chip .md-contact-name{display:inline-block;height:32px;margin-left:8px}[dir=rtl] .md-contact-chips .md-chips md-chip .md-contact-name{margin-left:auto;margin-right:8px}.md-contact-suggestion{height:56px}.md-contact-suggestion img{height:40px;border-radius:20px;margin-top:8px}.md-contact-suggestion .md-contact-name{margin-left:8px;width:120px}[dir=rtl] .md-contact-suggestion .md-contact-name{margin-left:auto;margin-right:8px}.md-contact-suggestion .md-contact-email,.md-contact-suggestion .md-contact-name{display:inline-block;overflow:hidden;text-overflow:ellipsis}.md-contact-chips-suggestions li{height:100%}.md-chips{display:block;font-family:Roboto,"Helvetica Neue",sans-serif;font-size:16px;padding:0 0 8px 3px}.md-chips:after{display:table;clear:both}[dir=rtl] .md-chips{padding:0 3px 8px 0}.md-chips.md-readonly .md-chip-input-container{min-height:32px}.md-chips:not(.md-readonly){cursor:text}.md-chips.md-removable md-chip{padding-right:22px}[dir=rtl] .md-chips.md-removable md-chip{padding-right:0;padding-left:22px}.md-chips.md-removable md-chip .md-chip-content{padding-right:4px}[dir=rtl] .md-chips.md-removable md-chip .md-chip-content{padding-right:0;padding-left:4px}.md-chips md-chip{cursor:default;border-radius:16px;display:block;height:32px;line-height:32px;margin:8px 8px 0 0;padding:0 12px;float:left;box-sizing:border-box;max-width:100%;position:relative}[dir=rtl] .md-chips md-chip{margin:8px 0 0 8px;float:right}.md-chips md-chip .md-chip-content{display:block;float:left;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}[dir=rtl] .md-chips md-chip .md-chip-content{float:right}.md-chips md-chip .md-chip-content:focus{outline:0}.md-chips md-chip._md-chip-content-edit-is-enabled{-khtml-user-select:none}.md-chips md-chip .md-chip-remove-container{position:absolute;right:0;line-height:22px}[dir=rtl] .md-chips md-chip .md-chip-remove-container{right:auto;left:0}.md-chips md-chip .md-chip-remove{text-align:center;width:32px;height:32px;min-width:0;padding:0;background:0 0;border:none;box-shadow:none;margin:0;position:relative}.md-chips md-chip .md-chip-remove md-icon{height:18px;width:18px;position:absolute;top:50%;left:50%;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0)}.md-chips .md-chip-input-container md-autocomplete input,md-checkbox{position:relative}.md-chips .md-chip-input-container{display:block;line-height:32px;margin:8px 8px 0 0;padding:0;float:left}[dir=rtl] .md-chips .md-chip-input-container{margin:8px 0 0 8px;float:right}.md-chips .md-chip-input-container input:not([type]),.md-chips .md-chip-input-container input[type=email],.md-chips .md-chip-input-container input[type=tel],.md-chips .md-chip-input-container input[type=url],.md-chips .md-chip-input-container input[type=text],.md-chips .md-chip-input-container input[type=number]{border:0;height:32px;line-height:32px;padding:0}.md-chips .md-chip-input-container input:not([type]):focus,.md-chips .md-chip-input-container input[type=email]:focus,.md-chips .md-chip-input-container input[type=tel]:focus,.md-chips .md-chip-input-container input[type=url]:focus,.md-chips .md-chip-input-container input[type=text]:focus,.md-chips .md-chip-input-container input[type=number]:focus{outline:0}.md-chips .md-chip-input-container md-autocomplete,.md-chips .md-chip-input-container md-autocomplete-wrap{background:0 0;height:32px}.md-chips .md-chip-input-container input{border:0;height:32px;line-height:32px;padding:0;background:0 0}.md-chips .md-chip-input-container input:focus{outline:0}.md-chips .md-chip-input-container:not(:first-child){margin:8px 8px 0 0}[dir=rtl] .md-chips .md-chip-input-container:not(:first-child){margin:8px 0 0 8px}.md-chips md-autocomplete button{display:none}md-checkbox,md-checkbox .md-container{display:inline-block;box-sizing:border-box}@media screen and (-ms-high-contrast:active){.md-chip-input-container,md-chip{border:1px solid #fff}.md-chip-input-container md-autocomplete{border:none}}.md-inline-form md-checkbox{margin:19px 0 18px}md-checkbox{margin-bottom:16px;white-space:nowrap;cursor:pointer;outline:0;user-select:none;min-width:20px;min-height:20px;margin-left:0;margin-right:16px}.md-calendar-date.md-calendar-date-disabled,md-checkbox[disabled]{cursor:default}[dir=rtl] md-checkbox{margin-left:16px;margin-right:0}md-checkbox:last-of-type{margin-left:0;margin-right:0}md-checkbox.md-focused:not([disabled]) .md-container:before{left:-8px;top:-8px;right:-8px;bottom:-8px}md-checkbox.md-focused:not([disabled]):not(.md-checked) .md-container:before{background-color:rgba(0,0,0,.12)}md-checkbox.md-align-top-left>div.md-container{top:12px}md-checkbox .md-container{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:20px;height:20px;left:0;right:auto}[dir=rtl] md-checkbox .md-container{left:auto;right:0}md-checkbox .md-container:before{box-sizing:border-box;background-color:transparent;border-radius:50%;position:absolute;display:block;height:auto;left:0;top:0;right:0;bottom:0;-webkit-transition:all .5s;transition:all .5s;width:auto}md-checkbox .md-container:after{box-sizing:border-box;position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px}md-checkbox .md-container .md-ripple-container{position:absolute;display:block;width:auto;height:auto;left:-15px;top:-15px;right:-15px;bottom:-15px}md-checkbox.md-checked .md-icon:after,md-checkbox.md-indeterminate .md-icon:after{position:absolute;display:table;box-sizing:border-box;content:''}md-checkbox .md-icon{box-sizing:border-box;-webkit-transition:240ms;transition:240ms;position:absolute;top:0;left:0;width:20px;height:20px;border-width:2px;border-style:solid;border-radius:2px}md-checkbox.md-checked .md-icon{border-color:transparent}md-checkbox.md-checked .md-icon:after{-webkit-transform:rotate(45deg);transform:rotate(45deg);left:4.67px;top:.22px;width:6.67px;height:13.33px;border-width:2px;border-style:solid;border-top:0;border-left:0}md-checkbox.md-indeterminate .md-icon:after{top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:12px;height:2px;border-width:2px;border-style:solid;border-top:0;border-left:0}md-checkbox .md-label{box-sizing:border-box;position:relative;display:inline-block;white-space:normal;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;margin-left:30px;margin-right:0}md-calendar,md-option .md-text{-webkit-user-select:none;-ms-user-select:none}[dir=rtl] md-checkbox .md-label{margin-left:0;margin-right:30px}md-content{display:block;position:relative;overflow:auto;-webkit-overflow-scrolling:touch}md-content[md-scroll-y]{overflow-y:auto;overflow-x:hidden}md-content[md-scroll-x]{overflow-x:auto;overflow-y:hidden}@media print{md-content{overflow:visible!important}}md-calendar{font-size:13px;-moz-user-select:none;user-select:none}.md-calendar-scroll-mask{display:inline-block;overflow:hidden;height:308px}.md-calendar-scroll-mask .md-virtual-repeat-scroller{overflow-y:scroll;-webkit-overflow-scrolling:touch}.md-calendar-scroll-mask .md-virtual-repeat-scroller::-webkit-scrollbar{display:none}.md-calendar-scroll-mask .md-virtual-repeat-offsetter{width:100%}.md-calendar-scroll-container{box-shadow:inset -3px 3px 6px rgba(0,0,0,.2);display:inline-block;height:308px;width:346px}.md-calendar-date{height:44px;width:44px;text-align:center;padding:0;border:none;box-sizing:content-box}.md-calendar-date:first-child{padding-left:16px}[dir=rtl] .md-calendar-date:first-child{padding-left:0;padding-right:16px}.md-calendar-date:last-child{padding-right:16px}[dir=rtl] .md-calendar-date:last-child{padding-right:0;padding-left:16px}.md-calendar-date:not(.md-disabled) .md-calendar-date-selection-indicator,md-calendar-month .md-calendar-month-label:not(.md-calendar-month-label-disabled){cursor:pointer}.md-calendar-date-selection-indicator{-webkit-transition:background-color,color .4s cubic-bezier(.25,.8,.25,1);transition:background-color,color .4s cubic-bezier(.25,.8,.25,1);border-radius:50%;display:inline-block;width:40px;height:40px;line-height:40px}.md-calendar-month-label{height:44px;font-size:14px;font-weight:500;padding:0 0 0 24px}[dir=rtl] .md-calendar-month-label{padding:0 24px 0 0}.md-calendar-month-label md-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg)}[dir=rtl] .md-calendar-month-label md-icon{-webkit-transform:none;transform:none}.md-calendar-day-header{table-layout:fixed}.md-calendar-day-header th{height:40px;width:44px;text-align:center;padding:0;border:none;box-sizing:content-box;font-weight:400}.md-calendar-day-header th:first-child{padding-left:16px}[dir=rtl] .md-calendar-day-header th:first-child{padding-left:0;padding-right:16px}.md-calendar-day-header th:last-child{padding-right:16px}[dir=rtl] .md-calendar-day-header th:last-child{padding-right:0;padding-left:16px}.md-calendar{table-layout:fixed}.md-calendar tr:last-child td{border-bottom-width:1px;border-bottom-style:solid}.md-calendar:first-child{border-top:1px solid transparent}.md-calendar tbody,.md-calendar td,.md-calendar tr{box-sizing:content-box}md-datepicker{white-space:nowrap;overflow:hidden;padding-right:18px;margin-right:-18px}[dir=rtl] md-datepicker{padding-right:0;padding-left:18px;margin-right:auto;margin-left:-18px}.md-inline-form md-datepicker{margin-top:12px}.md-datepicker-button{display:inline-block;box-sizing:border-box;background:0 0;position:relative}.md-datepicker-button:before{top:0;left:0;bottom:0;right:0;position:absolute;content:'';speak:none}.md-datepicker-input{font-size:14px;box-sizing:border-box;border:none;box-shadow:none;outline:0;background:0 0;min-width:120px;max-width:328px;padding:0 0 5px}.md-datepicker-input::-ms-clear{display:none}._md-datepicker-floating-label>md-datepicker{overflow:visible}._md-datepicker-floating-label>md-datepicker .md-datepicker-input-container{border:none}.md-datepicker-open .md-datepicker-input-container,.md-datepicker-open input.md-input,md-datepicker[disabled] .md-datepicker-input-container{border-bottom-color:transparent}._md-datepicker-floating-label>md-datepicker .md-datepicker-button{float:left;margin-top:-2.5px}[dir=rtl] ._md-datepicker-floating-label>md-datepicker .md-datepicker-button{float:right}._md-datepicker-floating-label._md-datepicker-has-calendar-icon>label:not(.md-no-float):not(.md-container-ignore){right:18px;left:auto;width:calc(100% - 84px)}[dir=rtl] ._md-datepicker-floating-label._md-datepicker-has-calendar-icon>label:not(.md-no-float):not(.md-container-ignore){right:auto;left:18px}._md-datepicker-floating-label._md-datepicker-has-calendar-icon .md-input-message-animation{margin-left:64px}[dir=rtl] ._md-datepicker-floating-label._md-datepicker-has-calendar-icon .md-input-message-animation{margin-left:auto;margin-right:64px}.md-datepicker-input-container{position:relative;border-bottom-width:1px;border-bottom-style:solid;display:inline-block;width:auto}.md-datepicker-open .md-datepicker-triangle-button,.md-datepicker-open.md-input-has-placeholder>label,.md-datepicker-open.md-input-has-value>label,.md-datepicker-pos-adjusted .md-datepicker-input-mask,md-datepicker[disabled] .md-datepicker-triangle-button{display:none}.md-icon-button+.md-datepicker-input-container{margin-left:12px}[dir=rtl] .md-icon-button+.md-datepicker-input-container{margin-left:auto;margin-right:12px}.md-datepicker-input-container.md-datepicker-focused{border-bottom-width:2px}.md-datepicker-is-showing .md-scroll-mask{z-index:99}.md-datepicker-calendar-pane{position:absolute;top:0;left:-100%;z-index:100;border-width:1px;border-style:solid;background:0 0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transition:-webkit-transform .2s cubic-bezier(.25,.8,.25,1);transition:-webkit-transform .2s cubic-bezier(.25,.8,.25,1);transition:transform .2s cubic-bezier(.25,.8,.25,1);transition:transform .2s cubic-bezier(.25,.8,.25,1),-webkit-transform .2s cubic-bezier(.25,.8,.25,1)}.md-datepicker-calendar-pane.md-pane-open{-webkit-transform:scale(1);transform:scale(1)}.md-datepicker-input-mask{height:40px;width:340px;position:relative;overflow:hidden;background:0 0;pointer-events:none;cursor:text}.md-datepicker-calendar{opacity:0;-webkit-transition:opacity .2s cubic-bezier(.5,0,.25,1);transition:opacity .2s cubic-bezier(.5,0,.25,1)}.md-pane-open .md-datepicker-calendar{opacity:1}.md-datepicker-calendar md-calendar:focus{outline:0}.md-datepicker-expand-triangle{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid}.md-datepicker-triangle-button{position:absolute;right:0;top:5px;-webkit-transform:translateY(-25%) translateX(45%);transform:translateY(-25%) translateX(45%)}[dir=rtl] .md-datepicker-triangle-button{right:auto;left:0;-webkit-transform:translateY(-25%) translateX(-45%);transform:translateY(-25%) translateX(-45%)}.md-datepicker-triangle-button.md-button.md-icon-button{height:36px;width:36px;position:absolute;padding:8px}.md-datepicker-open{overflow:hidden}.md-dialog-container,md-dialog{display:-webkit-box;display:-webkit-flex}.md-datepicker-calendar-pane .md-calendar{-webkit-transform:translateY(-85px);transform:translateY(-85px);-webkit-transition:-webkit-transform .65s cubic-bezier(.25,.8,.25,1);transition:-webkit-transform .65s cubic-bezier(.25,.8,.25,1);transition:transform .65s cubic-bezier(.25,.8,.25,1);transition:transform .65s cubic-bezier(.25,.8,.25,1),-webkit-transform .65s cubic-bezier(.25,.8,.25,1);-webkit-transition-delay:125ms;transition-delay:125ms}.md-datepicker-calendar-pane.md-pane-open .md-calendar{-webkit-transform:translateY(0);transform:translateY(0)}.md-dialog-is-showing{max-height:100%}.md-dialog-container{display:flex;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center;position:absolute;top:0;left:0;width:100%;height:100%;z-index:80;overflow:hidden}md-dialog,md-dialog>form{-webkit-flex-direction:column}md-dialog,md-dialog md-dialog-content,md-dialog>form{-webkit-box-orient:vertical;-webkit-box-direction:normal;overflow:auto}md-dialog{opacity:0;min-width:240px;max-width:80%;max-height:80%;position:relative;box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 13px 19px 2px rgba(0,0,0,.14),0 5px 24px 4px rgba(0,0,0,.12);display:flex;flex-direction:column}md-dialog.md-transition-in{opacity:1;-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transform:translate(0,0) scale(1);transform:translate(0,0) scale(1)}md-dialog.md-transition-out{opacity:0;-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transform:translate(0,100%) scale(.2);transform:translate(0,100%) scale(.2)}md-dialog>form{display:-webkit-box;display:-webkit-flex;display:flex;flex-direction:column}md-dialog .md-dialog-content{padding:24px}md-dialog md-dialog-content{-webkit-box-ordinal-group:2;-webkit-order:1;order:1;-webkit-flex-direction:column;flex-direction:column;-webkit-overflow-scrolling:touch}md-dialog md-dialog-content:not([layout=row])>:first-child:not(.md-subheader){margin-top:0}md-dialog md-dialog-content:focus{outline:0}md-dialog md-dialog-content .md-subheader{margin:0}md-dialog md-dialog-content .md-dialog-content-body{width:100%}md-dialog md-dialog-content .md-prompt-input-container{width:100%;box-sizing:border-box}md-dialog .md-actions,md-dialog md-dialog-actions{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-ordinal-group:3;-webkit-order:2;order:2;box-sizing:border-box;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end;margin-bottom:0;padding-right:8px;padding-left:16px;min-height:52px;overflow:hidden}[dir=rtl] md-dialog .md-actions,[dir=rtl] md-dialog md-dialog-actions{padding-right:16px;padding-left:8px}md-dialog .md-actions .md-button,md-dialog md-dialog-actions .md-button{margin:8px 0 8px 8px}[dir=rtl] md-dialog .md-actions .md-button,[dir=rtl] md-dialog md-dialog-actions .md-button{margin-left:0;margin-right:8px}md-dialog.md-content-overflow .md-actions,md-dialog.md-content-overflow md-dialog-actions{border-top-width:1px;border-top-style:solid}@media screen and (-ms-high-contrast:active){md-dialog{border:1px solid #fff}}@media (max-width:959px){md-dialog.md-dialog-fullscreen{min-height:100%;min-width:100%;border-radius:0}}md-divider{display:block;border-top-width:1px;border-top-style:solid;margin:0}md-divider[md-inset]{margin-left:80px}[dir=rtl] md-divider[md-inset]{margin-left:auto;margin-right:80px}.layout-gt-lg-row>md-divider,.layout-gt-md-row>md-divider,.layout-gt-sm-row>md-divider,.layout-gt-xs-row>md-divider,.layout-lg-row>md-divider,.layout-md-row>md-divider,.layout-row>md-divider,.layout-sm-row>md-divider,.layout-xl-row>md-divider,.layout-xs-row>md-divider{border-top-width:0;border-right-width:1px;border-right-style:solid}md-fab-speed-dial{position:relative;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;z-index:20}md-fab-speed-dial.md-fab-bottom-right{top:auto;right:20px;bottom:20px;left:auto;position:absolute}md-fab-speed-dial.md-fab-bottom-left{top:auto;right:auto;bottom:20px;left:20px;position:absolute}md-fab-speed-dial.md-fab-top-right{top:20px;right:20px;bottom:auto;left:auto;position:absolute}md-fab-speed-dial.md-fab-top-left{top:20px;right:auto;bottom:auto;left:20px;position:absolute}md-fab-speed-dial:not(.md-hover-full){pointer-events:none}md-fab-speed-dial:not(.md-hover-full) .md-fab-action-item,md-fab-speed-dial:not(.md-hover-full) md-fab-trigger,md-fab-speed-dial:not(.md-hover-full).md-is-open{pointer-events:auto}md-fab-speed-dial ._md-css-variables{z-index:20}md-fab-speed-dial.md-is-open .md-fab-action-item{-webkit-box-align:center;-webkit-align-items:center;-ms-grid-row-align:center;align-items:center}md-fab-speed-dial.md-down,md-fab-speed-dial.md-down md-fab-actions{-webkit-flex-direction:column;-webkit-box-direction:normal;-webkit-box-orient:vertical}md-fab-speed-dial md-fab-actions{display:-webkit-box;display:-webkit-flex;display:flex;height:auto}md-fab-speed-dial md-fab-actions .md-fab-action-item{-webkit-transition:all .3s cubic-bezier(.55,0,.55,.2);transition:all .3s cubic-bezier(.55,0,.55,.2)}md-fab-speed-dial.md-down{flex-direction:column}md-fab-speed-dial.md-down md-fab-trigger{-webkit-box-ordinal-group:2;-webkit-order:1;order:1}md-fab-speed-dial.md-down md-fab-actions{flex-direction:column;-webkit-box-ordinal-group:3;-webkit-order:2;order:2}md-fab-speed-dial.md-up{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column}md-fab-speed-dial.md-up md-fab-trigger{-webkit-box-ordinal-group:3;-webkit-order:2;order:2}md-fab-speed-dial.md-up md-fab-actions{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-webkit-flex-direction:column-reverse;flex-direction:column-reverse;-webkit-box-ordinal-group:2;-webkit-order:1;order:1}md-fab-speed-dial.md-left,md-fab-speed-dial.md-right{-webkit-flex-direction:row;-webkit-box-orient:horizontal}md-fab-speed-dial.md-left{-webkit-box-direction:normal;flex-direction:row}md-fab-speed-dial.md-left md-fab-trigger{-webkit-box-ordinal-group:3;-webkit-order:2;order:2}md-fab-speed-dial.md-left md-fab-actions{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;flex-direction:row-reverse;-webkit-box-ordinal-group:2;-webkit-order:1;order:1}md-fab-speed-dial.md-left md-fab-actions .md-fab-action-item{-webkit-transition:all .3s cubic-bezier(.55,0,.55,.2);transition:all .3s cubic-bezier(.55,0,.55,.2)}md-fab-speed-dial.md-right{-webkit-box-direction:normal;flex-direction:row}md-fab-speed-dial.md-right md-fab-trigger{-webkit-box-ordinal-group:2;-webkit-order:1;order:1}md-fab-speed-dial.md-right md-fab-actions{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row;-webkit-box-ordinal-group:3;-webkit-order:2;order:2}md-fab-speed-dial.md-right md-fab-actions .md-fab-action-item{-webkit-transition:all .3s cubic-bezier(.55,0,.55,.2);transition:all .3s cubic-bezier(.55,0,.55,.2)}md-fab-speed-dial.md-fling-remove .md-fab-action-item>*,md-fab-speed-dial.md-scale-remove .md-fab-action-item>*{visibility:hidden}md-fab-speed-dial.md-fling .md-fab-action-item{opacity:1}md-fab-speed-dial.md-fling.md-animations-waiting .md-fab-action-item{opacity:0;-webkit-transition-duration:0s;transition-duration:0s}md-fab-speed-dial.md-scale .md-fab-action-item{-webkit-transform:scale(0);transform:scale(0);-webkit-transition:all .3s cubic-bezier(.55,0,.55,.2);transition:all .3s cubic-bezier(.55,0,.55,.2);-webkit-transition-duration:.14286s;transition-duration:.14286s}md-fab-toolbar{display:block}md-fab-toolbar.md-fab-bottom-right{top:auto;right:20px;bottom:20px;left:auto;position:absolute}md-fab-toolbar.md-fab-bottom-left{top:auto;right:auto;bottom:20px;left:20px;position:absolute}md-fab-toolbar.md-fab-top-right{top:20px;right:20px;bottom:auto;left:auto;position:absolute}md-fab-toolbar.md-fab-top-left{top:20px;right:auto;bottom:auto;left:20px;position:absolute}md-fab-toolbar .md-fab-toolbar-wrapper{display:block;position:relative;overflow:hidden;height:68px}md-fab-toolbar md-fab-trigger{position:absolute;z-index:20}md-fab-toolbar md-fab-trigger button{overflow:visible!important}md-fab-toolbar md-fab-trigger .md-fab-toolbar-background{display:block;position:absolute;z-index:21;opacity:1;-webkit-transition:all .3s cubic-bezier(.55,0,.55,.2);transition:all .3s cubic-bezier(.55,0,.55,.2)}md-icon,md-input-container{display:inline-block;vertical-align:middle}md-fab-toolbar md-fab-trigger md-icon{position:relative;z-index:22;opacity:1;-webkit-transition:all .2s ease-in;transition:all .2s ease-in}md-fab-toolbar.md-left md-fab-trigger{right:0}[dir=rtl] md-fab-toolbar.md-left md-fab-trigger{right:auto;left:0}md-fab-toolbar.md-left .md-toolbar-tools{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;flex-direction:row-reverse}md-fab-toolbar.md-left .md-toolbar-tools>.md-button:first-child{margin-right:.6rem;margin-left:-.8rem}[dir=rtl] md-fab-toolbar.md-left .md-toolbar-tools>.md-button:first-child{margin-left:auto;margin-right:-.8rem}md-fab-toolbar.md-left .md-toolbar-tools>.md-button:last-child{margin-right:8px}[dir=rtl] md-fab-toolbar.md-left .md-toolbar-tools>.md-button:last-child{margin-right:auto;margin-left:8px}md-fab-toolbar.md-right md-fab-trigger{left:0}[dir=rtl] md-fab-toolbar.md-right md-fab-trigger{left:auto;right:0}md-fab-toolbar.md-right .md-toolbar-tools{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}md-fab-toolbar md-toolbar{background-color:transparent!important;pointer-events:none;z-index:23}md-fab-toolbar md-toolbar .md-toolbar-tools{padding:0 20px;margin-top:3px}md-fab-toolbar md-toolbar .md-fab-action-item{opacity:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transition:all .3s cubic-bezier(.55,0,.55,.2);transition:all .3s cubic-bezier(.55,0,.55,.2);-webkit-transition-duration:.15s;transition-duration:.15s}md-fab-toolbar.md-is-open md-fab-trigger>button{box-shadow:none}md-fab-toolbar.md-is-open md-fab-trigger>button md-icon{opacity:0}md-fab-toolbar.md-is-open .md-fab-action-item{opacity:1;-webkit-transform:scale(1);transform:scale(1)}md-grid-list{box-sizing:border-box;display:block;position:relative}md-grid-list md-grid-tile,md-grid-list md-grid-tile-footer,md-grid-list md-grid-tile-header,md-grid-list md-grid-tile>figure{box-sizing:border-box}md-grid-list md-grid-tile{display:block;position:absolute}md-grid-list md-grid-tile figure{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;height:100%;position:absolute;top:0;right:0;bottom:0;left:0;padding:0;margin:0}md-grid-list md-grid-tile md-grid-tile-footer,md-grid-list md-grid-tile md-grid-tile-header{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row;-webkit-box-align:center;-webkit-align-items:center;align-items:center;height:48px;color:#fff;background:rgba(0,0,0,.18);overflow:hidden;position:absolute;left:0;right:0}md-grid-list md-grid-tile md-grid-tile-footer h3,md-grid-list md-grid-tile md-grid-tile-footer h4,md-grid-list md-grid-tile md-grid-tile-header h3,md-grid-list md-grid-tile md-grid-tile-header h4{font-weight:400;margin:0 0 0 16px}md-grid-list md-grid-tile md-grid-tile-footer h3,md-grid-list md-grid-tile md-grid-tile-header h3{font-size:14px}md-grid-list md-grid-tile md-grid-tile-footer h4,md-grid-list md-grid-tile md-grid-tile-header h4{font-size:12px}md-grid-list md-grid-tile md-grid-tile-header{top:0}md-grid-list md-grid-tile md-grid-tile-footer{bottom:0}@media screen and (-ms-high-contrast:active){md-grid-tile{border:1px solid #fff}md-grid-tile-footer{border-top:1px solid #fff}}md-icon{margin:auto;background-repeat:no-repeat no-repeat;fill:currentColor;height:24px;width:24px;min-height:24px;min-width:24px}md-icon svg{pointer-events:none;display:block}md-icon[md-font-icon]{line-height:24px;width:auto}md-input-container{position:relative;padding:2px;margin:18px 0}md-input-container:after{content:'';display:table;clear:both}md-input-container.md-block{display:block}md-input-container .md-errors-spacer{float:right;min-height:24px;min-width:1px}[dir=rtl] md-input-container .md-errors-spacer{float:left}md-input-container>md-icon{position:absolute;top:8px;left:2px;right:auto}[dir=rtl] md-input-container>md-icon{left:auto;right:2px}md-input-container input[type=date],md-input-container input[type=time],md-input-container input[type=datetime-local],md-input-container input[type=month],md-input-container input[type=email],md-input-container input[type=tel],md-input-container input[type=url],md-input-container input[type=text],md-input-container input[type=password],md-input-container input[type=datetime],md-input-container input[type=week],md-input-container input[type=color],md-input-container input[type=number],md-input-container input[type=search],md-input-container textarea{-moz-appearance:none;-webkit-appearance:none}md-input-container input[type=date],md-input-container input[type=time],md-input-container input[type=datetime-local],md-input-container input[type=month],md-input-container input[type=week]{min-height:26px}md-input-container textarea{resize:none;overflow:hidden}md-input-container textarea.md-input{min-height:26px;-ms-flex-preferred-size:auto}md-input-container textarea[md-no-autogrow]{height:auto;overflow:auto}md-input-container label:not(.md-container-ignore){position:absolute;bottom:100%;left:0;right:auto}[dir=rtl] md-input-container label:not(.md-container-ignore){left:auto;right:0}md-input-container label:not(.md-container-ignore).md-required:after{content:' *';font-size:13px;vertical-align:top}md-input-container .md-placeholder,md-input-container label:not(.md-no-float):not(.md-container-ignore){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;-webkit-box-ordinal-group:2;-webkit-order:1;order:1;pointer-events:none;-webkit-font-smoothing:antialiased;padding-left:3px;padding-right:0;z-index:1;-webkit-transform:translate3d(0,28px,0) scale(1);transform:translate3d(0,28px,0) scale(1);-webkit-transition:-webkit-transform .4s cubic-bezier(.25,.8,.25,1);transition:-webkit-transform .4s cubic-bezier(.25,.8,.25,1);transition:transform .4s cubic-bezier(.25,.8,.25,1);transition:transform .4s cubic-bezier(.25,.8,.25,1),-webkit-transform .4s cubic-bezier(.25,.8,.25,1);max-width:100%;-webkit-transform-origin:left top;transform-origin:left top}[dir=rtl] md-input-container .md-placeholder,[dir=rtl] md-input-container label:not(.md-no-float):not(.md-container-ignore){padding-left:0;padding-right:3px;-webkit-transform-origin:right top;transform-origin:right top}md-input-container .md-placeholder{position:absolute;top:0;opacity:0;-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,-webkit-transform;transition-property:opacity,transform;transition-property:opacity,transform,-webkit-transform;-webkit-transform:translate3d(0,30px,0);transform:translate3d(0,30px,0)}md-input-container.md-input-focused .md-placeholder{opacity:1;-webkit-transform:translate3d(0,24px,0);transform:translate3d(0,24px,0)}md-input-container.md-input-has-value .md-placeholder{-webkit-transition:none;transition:none;opacity:0}md-input-container:not(.md-input-has-value) input:not(:focus),md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-ampm-field,md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-day-field,md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-hour-field,md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-millisecond-field,md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-minute-field,md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-month-field,md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-second-field,md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-text,md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-week-field,md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-year-field{color:transparent}md-input-container .md-input{-webkit-box-ordinal-group:3;-webkit-order:2;order:2;display:block;margin-top:0;background:0 0;border-width:0 0 1px;line-height:26px;height:30px;-ms-flex-preferred-size:26px;border-radius:0;border-style:solid;width:100%;box-sizing:border-box;float:left;padding:2px 2px 1px;padding:2px 2px 1px}[dir=rtl] md-input-container .md-input{float:right}md-input-container .md-input:focus{outline:0}md-input-container .md-input:invalid{outline:0;box-shadow:none}md-input-container .md-input.md-no-flex{-webkit-box-flex:0!important;-webkit-flex:none!important;flex:none!important}md-input-container .md-char-counter{text-align:right;padding-right:2px;padding-left:0}[dir=rtl] md-input-container .md-char-counter{text-align:left;padding-right:0;padding-left:2px}md-input-container .md-input-messages-animation{position:relative;-webkit-box-ordinal-group:5;-webkit-order:4;order:4;overflow:hidden;clear:left}[dir=rtl] md-input-container .md-input-messages-animation{clear:right}md-input-container .md-input-messages-animation.ng-enter .md-input-message-animation{opacity:0;margin-top:-100px}md-input-container .md-char-counter,md-input-container .md-input-message-animation{font-size:12px;line-height:14px;overflow:hidden;-webkit-transition:all .3s cubic-bezier(.55,0,.55,.2);transition:all .3s cubic-bezier(.55,0,.55,.2);opacity:1;margin-top:0;padding-top:5px}md-input-container .md-char-counter:not(.md-char-counter),md-input-container .md-input-message-animation:not(.md-char-counter){padding-right:5px;padding-left:0}[dir=rtl] md-input-container .md-char-counter:not(.md-char-counter),[dir=rtl] md-input-container .md-input-message-animation:not(.md-char-counter){padding-right:0;padding-left:5px}md-input-container .md-input-message-animation.ng-enter,md-input-container .md-input-message-animation:not(.ng-animate),md-input-container:not(.md-input-invalid) .md-auto-hide .md-input-message-animation{opacity:0;margin-top:-100px}md-input-container.md-input-focused label:not(.md-no-float),md-input-container.md-input-has-placeholder label:not(.md-no-float),md-input-container.md-input-has-value label:not(.md-no-float){-webkit-transform:translate3d(0,6px,0) scale(.75);transform:translate3d(0,6px,0) scale(.75);-webkit-transition:width cubic-bezier(.25,.8,.25,1) .4s,-webkit-transform cubic-bezier(.25,.8,.25,1) .4s;transition:width cubic-bezier(.25,.8,.25,1) .4s,-webkit-transform cubic-bezier(.25,.8,.25,1) .4s;transition:transform cubic-bezier(.25,.8,.25,1) .4s,width cubic-bezier(.25,.8,.25,1) .4s;transition:transform cubic-bezier(.25,.8,.25,1) .4s,width cubic-bezier(.25,.8,.25,1) .4s,-webkit-transform cubic-bezier(.25,.8,.25,1) .4s}md-input-container.md-input-has-value label{-webkit-transition:none;transition:none}md-input-container .md-input.ng-invalid.ng-dirty,md-input-container.md-input-focused .md-input,md-input-container.md-input-resized .md-input{padding-bottom:0;border-width:0 0 2px}[disabled] md-input-container .md-input,md-input-container .md-input[disabled]{background-position:bottom -1px left 0;background-size:4px 1px;background-repeat:repeat-x}md-input-container.md-icon-float{-webkit-transition:margin-top .4s cubic-bezier(.25,.8,.25,1);transition:margin-top .4s cubic-bezier(.25,.8,.25,1)}md-input-container.md-icon-float>label{pointer-events:none;position:absolute}md-input-container.md-icon-float>md-icon{top:8px;left:2px;right:auto}[dir=rtl] md-input-container.md-icon-float>md-icon{left:auto;right:2px}md-input-container.md-icon-left>label .md-placeholder,md-input-container.md-icon-left>label:not(.md-no-float):not(.md-container-ignore),md-input-container.md-icon-right>label .md-placeholder,md-input-container.md-icon-right>label:not(.md-no-float):not(.md-container-ignore){width:calc(100% - 36px - 18px)}md-input-container.md-icon-left{padding-left:36px;padding-right:0}[dir=rtl] md-input-container.md-icon-left,md-input-container.md-icon-right{padding-left:0;padding-right:36px}md-input-container.md-icon-left>label{left:36px;right:auto}[dir=rtl] md-input-container.md-icon-left>label{left:auto;right:36px}[dir=rtl] md-input-container.md-icon-right{padding-left:36px;padding-right:0}md-input-container.md-icon-right>md-icon:last-of-type{margin:0;right:2px;left:auto}[dir=rtl] md-input-container.md-icon-right>md-icon:last-of-type{right:auto;left:2px}md-input-container.md-icon-left.md-icon-right{padding-left:36px;padding-right:36px}md-input-container.md-icon-left.md-icon-right>label .md-placeholder,md-input-container.md-icon-left.md-icon-right>label:not(.md-no-float):not(.md-container-ignore){width:calc(100% - (36px * 2))}.md-resize-wrapper{position:relative}.md-resize-wrapper:after{content:'';display:table;clear:both}.md-resize-handle{position:absolute;bottom:-5px;left:0;height:10px;background:0 0;width:100%;cursor:ns-resize}md-list-item,md-list-item._md-button-wrap{position:relative}md-list{display:block;padding:8px 0}md-list .md-subheader{font-size:14px;font-weight:500;letter-spacing:.010em;line-height:1.2em}md-list.md-dense md-list-item,md-list.md-dense md-list-item .md-list-item-inner{min-height:48px}md-list.md-dense md-list-item .md-list-item-inner::before,md-list.md-dense md-list-item::before{content:'';min-height:48px;visibility:hidden;display:inline-block}md-list.md-dense md-list-item .md-list-item-inner md-icon:first-child,md-list.md-dense md-list-item md-icon:first-child{width:20px;height:20px}md-list.md-dense md-list-item .md-list-item-inner>md-icon:first-child:not(.md-avatar-icon),md-list.md-dense md-list-item>md-icon:first-child:not(.md-avatar-icon){margin-right:36px}[dir=rtl] md-list.md-dense md-list-item .md-list-item-inner>md-icon:first-child:not(.md-avatar-icon),[dir=rtl] md-list.md-dense md-list-item>md-icon:first-child:not(.md-avatar-icon){margin-right:auto;margin-left:36px}md-list.md-dense md-list-item .md-avatar,md-list.md-dense md-list-item .md-avatar-icon,md-list.md-dense md-list-item .md-list-item-inner .md-avatar,md-list.md-dense md-list-item .md-list-item-inner .md-avatar-icon{margin-right:20px}[dir=rtl] md-list.md-dense md-list-item .md-avatar,[dir=rtl] md-list.md-dense md-list-item .md-avatar-icon,[dir=rtl] md-list.md-dense md-list-item .md-list-item-inner .md-avatar,[dir=rtl] md-list.md-dense md-list-item .md-list-item-inner .md-avatar-icon{margin-right:auto;margin-left:20px}md-list.md-dense md-list-item .md-avatar,md-list.md-dense md-list-item .md-list-item-inner .md-avatar{-webkit-box-flex:0;-webkit-flex:none;flex:none;width:36px;height:36px}md-list.md-dense md-list-item.md-2-line .md-list-item-text.md-offset,md-list.md-dense md-list-item.md-2-line>.md-no-style .md-list-item-text.md-offset,md-list.md-dense md-list-item.md-3-line .md-list-item-text.md-offset,md-list.md-dense md-list-item.md-3-line>.md-no-style .md-list-item-text.md-offset{margin-left:56px}[dir=rtl] md-list.md-dense md-list-item.md-2-line .md-list-item-text.md-offset,[dir=rtl] md-list.md-dense md-list-item.md-2-line>.md-no-style .md-list-item-text.md-offset,[dir=rtl] md-list.md-dense md-list-item.md-3-line .md-list-item-text.md-offset,[dir=rtl] md-list.md-dense md-list-item.md-3-line>.md-no-style .md-list-item-text.md-offset{margin-left:auto;margin-right:56px}md-list.md-dense md-list-item.md-2-line .md-list-item-text h3,md-list.md-dense md-list-item.md-2-line .md-list-item-text h4,md-list.md-dense md-list-item.md-2-line .md-list-item-text p,md-list.md-dense md-list-item.md-2-line>.md-no-style .md-list-item-text h3,md-list.md-dense md-list-item.md-2-line>.md-no-style .md-list-item-text h4,md-list.md-dense md-list-item.md-2-line>.md-no-style .md-list-item-text p,md-list.md-dense md-list-item.md-3-line .md-list-item-text h3,md-list.md-dense md-list-item.md-3-line .md-list-item-text h4,md-list.md-dense md-list-item.md-3-line .md-list-item-text p,md-list.md-dense md-list-item.md-3-line>.md-no-style .md-list-item-text h3,md-list.md-dense md-list-item.md-3-line>.md-no-style .md-list-item-text h4,md-list.md-dense md-list-item.md-3-line>.md-no-style .md-list-item-text p{line-height:1.05;font-size:12px}md-list.md-dense md-list-item.md-2-line .md-list-item-text h3,md-list.md-dense md-list-item.md-2-line>.md-no-style .md-list-item-text h3,md-list.md-dense md-list-item.md-3-line .md-list-item-text h3,md-list.md-dense md-list-item.md-3-line>.md-no-style .md-list-item-text h3{font-size:13px}md-list.md-dense md-list-item.md-2-line,md-list.md-dense md-list-item.md-2-line>.md-no-style{min-height:60px}md-list.md-dense md-list-item.md-2-line::before,md-list.md-dense md-list-item.md-2-line>.md-no-style::before{content:'';min-height:60px;visibility:hidden;display:inline-block}md-list.md-dense md-list-item.md-2-line .md-avatar-icon,md-list.md-dense md-list-item.md-2-line>.md-avatar,md-list.md-dense md-list-item.md-2-line>.md-no-style .md-avatar-icon,md-list.md-dense md-list-item.md-2-line>.md-no-style>.md-avatar{margin-top:12px}md-list.md-dense md-list-item.md-3-line,md-list.md-dense md-list-item.md-3-line>.md-no-style{min-height:76px}md-list.md-dense md-list-item.md-3-line::before,md-list.md-dense md-list-item.md-3-line>.md-no-style::before{content:'';min-height:76px;visibility:hidden;display:inline-block}md-list.md-dense md-list-item.md-3-line>.md-avatar,md-list.md-dense md-list-item.md-3-line>.md-no-style>.md-avatar,md-list.md-dense md-list-item.md-3-line>.md-no-style>md-icon:first-child,md-list.md-dense md-list-item.md-3-line>md-icon:first-child{margin-top:16px}md-list-item.md-proxy-focus.md-focused .md-no-style{-webkit-transition:background-color .15s linear;transition:background-color .15s linear}md-list-item._md-button-wrap>div.md-button:first-child{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;padding:0 16px;margin:0;font-weight:400;text-align:left;border:none}[dir=rtl] md-list-item._md-button-wrap>div.md-button:first-child{text-align:right}md-list-item._md-button-wrap>div.md-button:first-child>.md-button:first-child{position:absolute;top:0;left:0;height:100%;margin:0;padding:0}md-list-item._md-button-wrap>div.md-button:first-child .md-list-item-inner{width:100%;min-height:inherit}md-list-item .md-no-style,md-list-item.md-no-proxy{position:relative;padding:0 16px;-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto}md-list-item .md-no-style.md-button,md-list-item.md-no-proxy.md-button{font-size:inherit;height:inherit;text-align:left;text-transform:none;width:100%;white-space:normal;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:inherit;flex-direction:inherit;-webkit-box-align:inherit;-webkit-align-items:inherit;-ms-grid-row-align:inherit;align-items:inherit;border-radius:0;margin:0}[dir=rtl] md-list-item .md-no-style.md-button,[dir=rtl] md-list-item.md-no-proxy.md-button{text-align:right}md-list-item .md-no-style.md-button>.md-ripple-container,md-list-item.md-no-proxy.md-button>.md-ripple-container{border-radius:0}md-list-item .md-no-style:focus,md-list-item.md-no-proxy:focus{outline:0}md-list-item.md-clickable:hover{cursor:pointer}md-list-item md-divider{position:absolute;bottom:0;left:0;width:100%}[dir=rtl] md-list-item md-divider{left:auto;right:0}md-list-item md-divider[md-inset]{left:72px;width:calc(100% - 72px);margin:0!important}[dir=rtl] md-list-item md-divider[md-inset]{left:auto;right:72px}md-list-item,md-list-item .md-list-item-inner{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;-webkit-box-align:center;-webkit-align-items:center;align-items:center;min-height:48px;height:auto}md-list-item .md-list-item-inner::before,md-list-item::before{content:'';min-height:48px;visibility:hidden;display:inline-block}md-list-item .md-list-item-inner>div.md-primary>md-icon:not(.md-avatar-icon),md-list-item .md-list-item-inner>div.md-secondary>md-icon:not(.md-avatar-icon),md-list-item .md-list-item-inner>md-icon.md-secondary:not(.md-avatar-icon),md-list-item .md-list-item-inner>md-icon:first-child:not(.md-avatar-icon),md-list-item>div.md-primary>md-icon:not(.md-avatar-icon),md-list-item>div.md-secondary>md-icon:not(.md-avatar-icon),md-list-item>md-icon.md-secondary:not(.md-avatar-icon),md-list-item>md-icon:first-child:not(.md-avatar-icon){width:24px;margin-top:16px;margin-bottom:12px;box-sizing:content-box}md-list-item .md-list-item-inner md-checkbox.md-secondary,md-list-item .md-list-item-inner>div.md-primary>md-checkbox,md-list-item .md-list-item-inner>div.md-secondary>md-checkbox,md-list-item .md-list-item-inner>md-checkbox,md-list-item md-checkbox.md-secondary,md-list-item>div.md-primary>md-checkbox,md-list-item>div.md-secondary>md-checkbox,md-list-item>md-checkbox{-webkit-align-self:center;align-self:center}md-list-item .md-list-item-inner md-checkbox.md-secondary .md-label,md-list-item .md-list-item-inner>div.md-primary>md-checkbox .md-label,md-list-item .md-list-item-inner>div.md-secondary>md-checkbox .md-label,md-list-item .md-list-item-inner>md-checkbox .md-label,md-list-item md-checkbox.md-secondary .md-label,md-list-item>div.md-primary>md-checkbox .md-label,md-list-item>div.md-secondary>md-checkbox .md-label,md-list-item>md-checkbox .md-label{display:none}md-list-item .md-list-item-inner>md-icon:first-child:not(.md-avatar-icon),md-list-item>md-icon:first-child:not(.md-avatar-icon){margin-right:32px}[dir=rtl] md-list-item .md-list-item-inner>md-icon:first-child:not(.md-avatar-icon),[dir=rtl] md-list-item>md-icon:first-child:not(.md-avatar-icon){margin-right:auto;margin-left:32px}md-list-item .md-avatar,md-list-item .md-avatar-icon,md-list-item .md-list-item-inner .md-avatar,md-list-item .md-list-item-inner .md-avatar-icon{margin-top:8px;margin-bottom:8px;margin-right:16px;border-radius:50%;box-sizing:content-box}[dir=rtl] md-list-item .md-avatar,[dir=rtl] md-list-item .md-avatar-icon,[dir=rtl] md-list-item .md-list-item-inner .md-avatar,[dir=rtl] md-list-item .md-list-item-inner .md-avatar-icon{margin-right:auto;margin-left:16px}md-list-item .md-avatar,md-list-item .md-list-item-inner .md-avatar{-webkit-box-flex:0;-webkit-flex:none;flex:none;width:40px;height:40px}md-list-item .md-avatar-icon,md-list-item .md-list-item-inner .md-avatar-icon{padding:8px}md-list-item .md-avatar-icon svg,md-list-item .md-list-item-inner .md-avatar-icon svg{width:24px;height:24px}md-list-item .md-list-item-inner>md-checkbox,md-list-item>md-checkbox{width:24px;margin-left:3px;margin-right:29px;margin-top:16px}[dir=rtl] md-list-item .md-list-item-inner>md-checkbox,[dir=rtl] md-list-item>md-checkbox{margin-left:29px;margin-right:3px}md-list-item .md-list-item-inner .md-secondary-container,md-list-item .md-secondary-container{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-flex-shrink:0;flex-shrink:0;margin:auto 0 auto auto}[dir=rtl] md-list-item .md-list-item-inner .md-secondary-container,[dir=rtl] md-list-item .md-secondary-container{margin-right:auto;margin-left:0}md-list-item .md-list-item-inner .md-secondary-container .md-button:last-of-type,md-list-item .md-list-item-inner .md-secondary-container .md-icon-button:last-of-type,md-list-item .md-secondary-container .md-button:last-of-type,md-list-item .md-secondary-container .md-icon-button:last-of-type{margin-right:0}[dir=rtl] md-list-item .md-list-item-inner .md-secondary-container .md-button:last-of-type,[dir=rtl] md-list-item .md-list-item-inner .md-secondary-container .md-icon-button:last-of-type,[dir=rtl] md-list-item .md-secondary-container .md-button:last-of-type,[dir=rtl] md-list-item .md-secondary-container .md-icon-button:last-of-type{margin-right:auto;margin-left:0}md-list-item .md-list-item-inner .md-secondary-container md-checkbox,md-list-item .md-secondary-container md-checkbox{margin-top:0;margin-bottom:0}md-list-item .md-list-item-inner .md-secondary-container md-checkbox:last-child,md-list-item .md-secondary-container md-checkbox:last-child{width:24px;margin-right:0}[dir=rtl] md-list-item .md-list-item-inner .md-secondary-container md-checkbox:last-child,[dir=rtl] md-list-item .md-secondary-container md-checkbox:last-child{margin-right:auto;margin-left:0}md-list-item .md-list-item-inner .md-secondary-container md-switch,md-list-item .md-secondary-container md-switch{margin-top:0;margin-bottom:0;margin-right:-6px}[dir=rtl] md-list-item .md-list-item-inner .md-secondary-container md-switch,[dir=rtl] md-list-item .md-secondary-container md-switch{margin-right:auto;margin-left:-6px}md-list-item .md-list-item-inner>.md-list-item-inner>p,md-list-item .md-list-item-inner>p,md-list-item>.md-list-item-inner>p,md-list-item>p{-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto;margin:0}md-list-item.md-2-line,md-list-item.md-2-line>.md-no-style,md-list-item.md-3-line,md-list-item.md-3-line>.md-no-style{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-grid-row-align:flex-start;align-items:flex-start;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}md-list-item.md-2-line.md-long-text,md-list-item.md-2-line>.md-no-style.md-long-text,md-list-item.md-3-line.md-long-text,md-list-item.md-3-line>.md-no-style.md-long-text{margin-top:8px;margin-bottom:8px}md-list-item.md-2-line .md-list-item-text,md-list-item.md-2-line>.md-no-style .md-list-item-text,md-list-item.md-3-line .md-list-item-text,md-list-item.md-3-line>.md-no-style .md-list-item-text{-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto;margin:auto;text-overflow:ellipsis;overflow:hidden}md-list-item.md-2-line .md-list-item-text.md-offset,md-list-item.md-2-line>.md-no-style .md-list-item-text.md-offset,md-list-item.md-3-line .md-list-item-text.md-offset,md-list-item.md-3-line>.md-no-style .md-list-item-text.md-offset{margin-left:56px}[dir=rtl] md-list-item.md-2-line .md-list-item-text.md-offset,[dir=rtl] md-list-item.md-2-line>.md-no-style .md-list-item-text.md-offset,[dir=rtl] md-list-item.md-3-line .md-list-item-text.md-offset,[dir=rtl] md-list-item.md-3-line>.md-no-style .md-list-item-text.md-offset{margin-left:auto;margin-right:56px}md-list-item.md-2-line .md-list-item-text h3,md-list-item.md-2-line>.md-no-style .md-list-item-text h3,md-list-item.md-3-line .md-list-item-text h3,md-list-item.md-3-line>.md-no-style .md-list-item-text h3{font-size:16px;font-weight:400;letter-spacing:.010em;margin:0;line-height:1.2em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}md-list-item.md-2-line .md-list-item-text h4,md-list-item.md-2-line>.md-no-style .md-list-item-text h4,md-list-item.md-3-line .md-list-item-text h4,md-list-item.md-3-line>.md-no-style .md-list-item-text h4{font-size:14px;letter-spacing:.010em;margin:3px 0 1px;font-weight:400;line-height:1.2em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}md-list-item.md-2-line .md-list-item-text p,md-list-item.md-2-line>.md-no-style .md-list-item-text p,md-list-item.md-3-line .md-list-item-text p,md-list-item.md-3-line>.md-no-style .md-list-item-text p{font-size:14px;font-weight:500;letter-spacing:.010em;margin:0;line-height:1.6em}md-list-item.md-2-line,md-list-item.md-2-line>.md-no-style{height:auto;min-height:72px}md-list-item.md-2-line::before,md-list-item.md-2-line>.md-no-style::before{content:'';min-height:72px;visibility:hidden;display:inline-block}md-list-item.md-2-line .md-avatar-icon,md-list-item.md-2-line>.md-avatar,md-list-item.md-2-line>.md-no-style .md-avatar-icon,md-list-item.md-2-line>.md-no-style>.md-avatar{margin-top:12px}md-list-item.md-2-line>.md-no-style>md-icon:first-child,md-list-item.md-2-line>md-icon:first-child{-webkit-align-self:flex-start;align-self:flex-start}md-list-item.md-2-line .md-list-item-text,md-list-item.md-2-line>.md-no-style .md-list-item-text{-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto}md-list-item.md-3-line,md-list-item.md-3-line>.md-no-style{height:auto;min-height:88px}md-list-item.md-3-line::before,md-list-item.md-3-line>.md-no-style::before{content:'';min-height:88px;visibility:hidden;display:inline-block}md-menu-content,md-menu-item{display:-webkit-box;display:-webkit-flex}md-list-item.md-3-line>.md-avatar,md-list-item.md-3-line>.md-no-style>.md-avatar,md-list-item.md-3-line>.md-no-style>md-icon:first-child,md-list-item.md-3-line>md-icon:first-child{margin-top:16px}.md-open-menu-container{position:fixed;left:0;top:0;z-index:100;opacity:0;border-radius:2px}md-menu-bar,md-menu-bar .md-menu,md-menu-content.md-menu-bar-menu.md-dense md-menu-item.md-indent{position:relative}.md-open-menu-container md-menu-divider{margin-top:4px;margin-bottom:4px;height:1px;min-height:1px;max-height:1px;width:100%}.md-open-menu-container md-menu-content>*{opacity:0}.md-open-menu-container:not(.md-clickable){pointer-events:none}.md-open-menu-container.md-active{opacity:1;-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transition-duration:.2s;transition-duration:.2s}.md-open-menu-container.md-active>md-menu-content>*{opacity:1;-webkit-transition:all .3s cubic-bezier(.55,0,.55,.2);transition:all .3s cubic-bezier(.55,0,.55,.2);-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-delay:.1s;transition-delay:.1s}.md-open-menu-container.md-leave{opacity:0;-webkit-transition:all .3s cubic-bezier(.55,0,.55,.2);transition:all .3s cubic-bezier(.55,0,.55,.2);-webkit-transition-duration:250ms;transition-duration:250ms}md-menu-content{display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;padding:8px 0;max-height:304px;overflow-y:auto}._md-nav-bar-list,md-menu-item{-webkit-box-orient:horizontal;-webkit-box-direction:normal}md-menu-item>*,md-menu-item>.md-button{margin:auto 0;padding-left:16px;padding-right:16px;width:100%}md-menu-content.md-dense{max-height:208px}md-menu-content.md-dense md-menu-item{height:32px;min-height:0}md-menu-item{display:flex;-webkit-flex-direction:row;flex-direction:row;min-height:48px;height:48px;-webkit-align-content:center;align-content:center;-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}md-menu-item>a.md-button{padding-top:5px}md-menu-item>.md-button{text-align:left;display:inline-block;border-radius:0;font-size:15px;text-transform:none;font-weight:400;height:100%}md-menu-item>.md-button::-moz-focus-inner{padding:0;border:0}[dir=rtl] md-menu-item>.md-button{text-align:right}md-menu-item>.md-button md-icon{margin:auto 16px auto 0}[dir=rtl] md-menu-item>.md-button md-icon{margin:auto 0 auto 16px}md-menu-item>.md-button p{display:inline-block;margin:auto}md-menu-item>.md-button span{margin-top:auto;margin-bottom:auto}md-menu-item>.md-button .md-ripple-container{border-radius:inherit}md-toolbar .md-menu{height:auto;margin:auto;padding:0}@media (max-width:959px){md-menu-content{min-width:112px}md-menu-content[width="3"]{min-width:168px}md-menu-content[width="4"]{min-width:224px}md-menu-content[width="5"]{min-width:280px}md-menu-content[width="6"]{min-width:336px}md-menu-content[width="7"]{min-width:392px}}@media (min-width:960px){md-menu-content{min-width:96px}md-menu-content[width="3"]{min-width:192px}md-menu-content[width="4"]{min-width:256px}md-menu-content[width="5"]{min-width:320px}md-menu-content[width="6"]{min-width:384px}md-menu-content[width="7"]{min-width:448px}}md-toolbar.md-menu-toolbar h2.md-toolbar-tools{line-height:1rem;height:auto;padding:28px 28px 12px}md-toolbar.md-has-open-menu{position:relative;z-index:100}md-menu-bar{padding:0 20px;display:block;z-index:2}md-menu-bar .md-menu{display:inline-block;padding:0}md-menu-bar button{font-size:14px;padding:0 10px;margin:0;border:0;background-color:transparent;height:40px}md-menu-bar md-backdrop.md-menu-backdrop{z-index:-2}md-menu-content.md-menu-bar-menu.md-dense{max-height:none;padding:16px 0}md-menu-content.md-menu-bar-menu.md-dense md-menu-item.md-indent>md-icon{position:absolute;padding:0;width:24px;top:6px;left:24px}[dir=rtl] md-menu-content.md-menu-bar-menu.md-dense md-menu-item.md-indent>md-icon{left:auto;right:24px}md-menu-content.md-menu-bar-menu.md-dense md-menu-item.md-indent .md-menu>.md-button,md-menu-content.md-menu-bar-menu.md-dense md-menu-item.md-indent>.md-button{padding:0 32px 0 64px}[dir=rtl] md-menu-content.md-menu-bar-menu.md-dense md-menu-item.md-indent .md-menu>.md-button,[dir=rtl] md-menu-content.md-menu-bar-menu.md-dense md-menu-item.md-indent>.md-button{padding:0 64px 0 32px}md-menu-content.md-menu-bar-menu.md-dense .md-button{min-height:0;height:32px;display:-webkit-box;display:-webkit-flex;display:flex}md-menu-content.md-menu-bar-menu.md-dense .md-button span{-webkit-box-flex:1;-webkit-flex-grow:1;flex-grow:1}md-menu-content.md-menu-bar-menu.md-dense .md-button span.md-alt-text{-webkit-box-flex:0;-webkit-flex-grow:0;flex-grow:0;-webkit-align-self:flex-end;align-self:flex-end;margin:0 8px}md-menu-content.md-menu-bar-menu.md-dense md-menu-divider{margin:8px 0}md-menu-content.md-menu-bar-menu.md-dense .md-menu>.md-button,md-menu-content.md-menu-bar-menu.md-dense md-menu-item>.md-button{text-align:left}[dir=rtl] md-menu-content.md-menu-bar-menu.md-dense .md-menu>.md-button,[dir=rtl] md-menu-content.md-menu-bar-menu.md-dense md-menu-item>.md-button{text-align:right}md-menu-content.md-menu-bar-menu.md-dense .md-menu{padding:0}md-menu-content.md-menu-bar-menu.md-dense .md-menu>.md-button{position:relative;margin:0;width:100%;text-transform:none;font-weight:400;border-radius:0;padding-left:16px}.md-tab,md-optgroup label,md-toast .md-action{text-transform:uppercase}[dir=rtl] md-menu-content.md-menu-bar-menu.md-dense .md-menu>.md-button{padding-left:0;padding-right:16px}md-menu-content.md-menu-bar-menu.md-dense .md-menu>.md-button:after{display:block;content:'\25BC';position:absolute;top:0;speak:none;-webkit-transform:rotate(270deg) scaleY(.45) scaleX(.9);transform:rotate(270deg) scaleY(.45) scaleX(.9);right:28px}._md-nav-bar-list,md-select{display:-webkit-box;display:-webkit-flex}[dir=rtl] md-menu-content.md-menu-bar-menu.md-dense .md-menu>.md-button:after{-webkit-transform:rotate(90deg) scaleY(.45) scaleX(.9);transform:rotate(90deg) scaleY(.45) scaleX(.9);right:auto;left:28px}.md-nav-bar{border-style:solid;border-width:0 0 1px;height:48px;position:relative}._md-nav-bar-list{outline:0;list-style:none;margin:0;padding:0;box-sizing:border-box;display:flex;-webkit-flex-direction:row;flex-direction:row}md-select-menu,md-select-menu.md-reverse,md-sidenav,md-slider[md-vertical]{-webkit-box-orient:vertical}.md-nav-item:first-of-type{margin-left:8px}.md-button._md-nav-button{line-height:24px;margin:0 4px;padding:12px 16px;-webkit-transition:background-color .35s cubic-bezier(.35,0,.25,1);transition:background-color .35s cubic-bezier(.35,0,.25,1)}.md-button._md-nav-button:focus{outline:0}.md-button._md-nav-button:hover{background-color:inherit}md-nav-ink-bar{bottom:0;height:2px;left:auto;position:absolute;right:auto;background-color:#000}md-nav-ink-bar._md-left{-webkit-transition:left 125ms cubic-bezier(.35,0,.25,1),right .25s cubic-bezier(.35,0,.25,1);transition:left 125ms cubic-bezier(.35,0,.25,1),right .25s cubic-bezier(.35,0,.25,1)}md-nav-ink-bar._md-right{-webkit-transition:left .25s cubic-bezier(.35,0,.25,1),right 125ms cubic-bezier(.35,0,.25,1);transition:left .25s cubic-bezier(.35,0,.25,1),right 125ms cubic-bezier(.35,0,.25,1)}md-nav-extra-content{min-height:48px;padding-right:12px}.md-panel-outer-wrapper{height:100%;left:0;position:absolute;top:0;width:100%}._md-panel-hidden{display:none}._md-panel-fullscreen{border-radius:0;left:0;min-height:100%;min-width:100%;position:fixed;top:0}._md-panel-shown .md-panel{opacity:1;-webkit-transition:none;transition:none}.md-panel{opacity:0;position:fixed}.md-panel._md-panel-shown{opacity:1;-webkit-transition:none;transition:none}.md-panel._md-panel-animate-enter{opacity:1;-webkit-transition:all .3s cubic-bezier(0,0,.2,1);transition:all .3s cubic-bezier(0,0,.2,1)}.md-panel._md-panel-animate-leave{opacity:1;-webkit-transition:all .3s cubic-bezier(.4,0,1,1);transition:all .3s cubic-bezier(.4,0,1,1)}.md-panel._md-panel-animate-fade-out,.md-panel._md-panel-animate-scale-out{opacity:0}.md-panel._md-panel-backdrop{height:100%;position:absolute;width:100%}.md-panel._md-opaque-enter{opacity:.48;-webkit-transition:opacity .3s cubic-bezier(0,0,.2,1);transition:opacity .3s cubic-bezier(0,0,.2,1)}.md-panel._md-opaque-leave{-webkit-transition:opacity .3s cubic-bezier(.4,0,1,1);transition:opacity .3s cubic-bezier(.4,0,1,1)}@-webkit-keyframes indeterminate-rotate{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes indeterminate-rotate{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}md-progress-circular{position:relative;display:block}md-progress-circular._md-progress-circular-disabled{visibility:hidden}md-progress-circular.md-mode-indeterminate svg{-webkit-animation:indeterminate-rotate 2.9s linear infinite;animation:indeterminate-rotate 2.9s linear infinite}md-progress-circular svg{position:absolute;overflow:visible;top:0;left:0}md-progress-linear,md-progress-linear .md-container{display:block;position:relative;height:5px;width:100%}md-progress-linear{padding-top:0!important;margin-bottom:0!important}md-radio-button,md-radio-group.layout-column md-radio-button,md-radio-group.layout-gt-lg-column md-radio-button,md-radio-group.layout-gt-md-column md-radio-button,md-radio-group.layout-gt-sm-column md-radio-button,md-radio-group.layout-gt-xs-column md-radio-button,md-radio-group.layout-lg-column md-radio-button,md-radio-group.layout-md-column md-radio-button,md-radio-group.layout-sm-column md-radio-button,md-radio-group.layout-xl-column md-radio-button,md-radio-group.layout-xs-column md-radio-button{margin-bottom:16px}md-progress-linear._md-progress-linear-disabled{visibility:hidden}md-progress-linear .md-container{overflow:hidden;-webkit-transform:translate(0,0) scale(1,1);transform:translate(0,0) scale(1,1)}md-progress-linear .md-container.md-mode-determinate .md-bar1,md-progress-linear .md-container.md-mode-query .md-bar1{display:none}md-progress-linear .md-container .md-bar{position:absolute;left:0;top:0;bottom:0;width:100%;height:5px}md-progress-linear .md-container .md-dashed:before{content:"";display:none;position:absolute;margin-top:0;height:5px;width:100%;background-color:transparent;background-size:10px 10px!important;background-position:0 -23px}md-progress-linear .md-container .md-bar1,md-progress-linear .md-container .md-bar2{-webkit-transition:-webkit-transform .2s linear;transition:-webkit-transform .2s linear;transition:transform .2s linear;transition:transform .2s linear,-webkit-transform .2s linear}md-progress-linear .md-container.md-mode-query .md-bar2{-webkit-transition:all .2s linear;transition:all .2s linear;-webkit-animation:query .8s infinite cubic-bezier(.39,.575,.565,1);animation:query .8s infinite cubic-bezier(.39,.575,.565,1)}md-progress-linear .md-container.md-mode-indeterminate .md-bar1{-webkit-animation:md-progress-linear-indeterminate-scale-1 4s infinite,md-progress-linear-indeterminate-1 4s infinite;animation:md-progress-linear-indeterminate-scale-1 4s infinite,md-progress-linear-indeterminate-1 4s infinite}md-progress-linear .md-container.md-mode-indeterminate .md-bar2{-webkit-animation:md-progress-linear-indeterminate-scale-2 4s infinite,md-progress-linear-indeterminate-2 4s infinite;animation:md-progress-linear-indeterminate-scale-2 4s infinite,md-progress-linear-indeterminate-2 4s infinite}md-progress-linear .md-container.ng-hide ._md-progress-linear-disabled md-progress-linear .md-container{-webkit-animation:none;animation:none}md-progress-linear .md-container.ng-hide ._md-progress-linear-disabled md-progress-linear .md-container .md-bar1,md-progress-linear .md-container.ng-hide ._md-progress-linear-disabled md-progress-linear .md-container .md-bar2{-webkit-animation-name:none;animation-name:none}md-progress-linear .md-container.md-mode-buffer{background-color:transparent!important;-webkit-transition:all .2s linear;transition:all .2s linear}md-progress-linear .md-container.md-mode-buffer .md-dashed:before{display:block;-webkit-animation:buffer 3s infinite linear;animation:buffer 3s infinite linear}@-webkit-keyframes query{0%{opacity:1;-webkit-transform:translateX(35%) scale(.3,1);transform:translateX(35%) scale(.3,1)}100%{opacity:0;-webkit-transform:translateX(-50%) scale(0,1);transform:translateX(-50%) scale(0,1)}}@keyframes query{0%{opacity:1;-webkit-transform:translateX(35%) scale(.3,1);transform:translateX(35%) scale(.3,1)}100%{opacity:0;-webkit-transform:translateX(-50%) scale(0,1);transform:translateX(-50%) scale(0,1)}}@-webkit-keyframes buffer{0%{opacity:1;background-position:0 -23px}50%{opacity:0}100%{opacity:1;background-position:-200px -23px}}@keyframes buffer{0%{opacity:1;background-position:0 -23px}50%{opacity:0}100%{opacity:1;background-position:-200px -23px}}@-webkit-keyframes md-progress-linear-indeterminate-scale-1{0%{-webkit-transform:scaleX(.1);transform:scaleX(.1);-webkit-animation-timing-function:linear;animation-timing-function:linear}36.6%{-webkit-transform:scaleX(.1);transform:scaleX(.1);-webkit-animation-timing-function:cubic-bezier(.33473,.12482,.78584,1);animation-timing-function:cubic-bezier(.33473,.12482,.78584,1)}69.15%{-webkit-transform:scaleX(.83);transform:scaleX(.83);-webkit-animation-timing-function:cubic-bezier(.22573,0,.23365,1.37098);animation-timing-function:cubic-bezier(.22573,0,.23365,1.37098)}100%{-webkit-transform:scaleX(.1);transform:scaleX(.1)}}@keyframes md-progress-linear-indeterminate-scale-1{0%{-webkit-transform:scaleX(.1);transform:scaleX(.1);-webkit-animation-timing-function:linear;animation-timing-function:linear}36.6%{-webkit-transform:scaleX(.1);transform:scaleX(.1);-webkit-animation-timing-function:cubic-bezier(.33473,.12482,.78584,1);animation-timing-function:cubic-bezier(.33473,.12482,.78584,1)}69.15%{-webkit-transform:scaleX(.83);transform:scaleX(.83);-webkit-animation-timing-function:cubic-bezier(.22573,0,.23365,1.37098);animation-timing-function:cubic-bezier(.22573,0,.23365,1.37098)}100%{-webkit-transform:scaleX(.1);transform:scaleX(.1)}}@-webkit-keyframes md-progress-linear-indeterminate-1{0%{left:-105.16667%;-webkit-animation-timing-function:linear;animation-timing-function:linear}20%{left:-105.16667%;-webkit-animation-timing-function:cubic-bezier(.5,0,.70173,.49582);animation-timing-function:cubic-bezier(.5,0,.70173,.49582)}69.15%{left:21.5%;-webkit-animation-timing-function:cubic-bezier(.30244,.38135,.55,.95635);animation-timing-function:cubic-bezier(.30244,.38135,.55,.95635)}100%{left:95.44444%}}@keyframes md-progress-linear-indeterminate-1{0%{left:-105.16667%;-webkit-animation-timing-function:linear;animation-timing-function:linear}20%{left:-105.16667%;-webkit-animation-timing-function:cubic-bezier(.5,0,.70173,.49582);animation-timing-function:cubic-bezier(.5,0,.70173,.49582)}69.15%{left:21.5%;-webkit-animation-timing-function:cubic-bezier(.30244,.38135,.55,.95635);animation-timing-function:cubic-bezier(.30244,.38135,.55,.95635)}100%{left:95.44444%}}@-webkit-keyframes md-progress-linear-indeterminate-scale-2{0%{-webkit-transform:scaleX(.1);transform:scaleX(.1);-webkit-animation-timing-function:cubic-bezier(.20503,.05705,.57661,.45397);animation-timing-function:cubic-bezier(.20503,.05705,.57661,.45397)}19.15%{-webkit-transform:scaleX(.57);transform:scaleX(.57);-webkit-animation-timing-function:cubic-bezier(.15231,.19643,.64837,1.00432);animation-timing-function:cubic-bezier(.15231,.19643,.64837,1.00432)}44.15%{-webkit-transform:scaleX(.91);transform:scaleX(.91);-webkit-animation-timing-function:cubic-bezier(.25776,-.00316,.21176,1.38179);animation-timing-function:cubic-bezier(.25776,-.00316,.21176,1.38179)}100%{-webkit-transform:scaleX(.1);transform:scaleX(.1)}}@keyframes md-progress-linear-indeterminate-scale-2{0%{-webkit-transform:scaleX(.1);transform:scaleX(.1);-webkit-animation-timing-function:cubic-bezier(.20503,.05705,.57661,.45397);animation-timing-function:cubic-bezier(.20503,.05705,.57661,.45397)}19.15%{-webkit-transform:scaleX(.57);transform:scaleX(.57);-webkit-animation-timing-function:cubic-bezier(.15231,.19643,.64837,1.00432);animation-timing-function:cubic-bezier(.15231,.19643,.64837,1.00432)}44.15%{-webkit-transform:scaleX(.91);transform:scaleX(.91);-webkit-animation-timing-function:cubic-bezier(.25776,-.00316,.21176,1.38179);animation-timing-function:cubic-bezier(.25776,-.00316,.21176,1.38179)}100%{-webkit-transform:scaleX(.1);transform:scaleX(.1)}}@-webkit-keyframes md-progress-linear-indeterminate-2{0%{left:-54.88889%;-webkit-animation-timing-function:cubic-bezier(.15,0,.51506,.40968);animation-timing-function:cubic-bezier(.15,0,.51506,.40968)}25%{left:-17.25%;-webkit-animation-timing-function:cubic-bezier(.31033,.28406,.8,.73372);animation-timing-function:cubic-bezier(.31033,.28406,.8,.73372)}48.35%{left:29.5%;-webkit-animation-timing-function:cubic-bezier(.4,.62703,.6,.90203);animation-timing-function:cubic-bezier(.4,.62703,.6,.90203)}100%{left:117.38889%}}@keyframes md-progress-linear-indeterminate-2{0%{left:-54.88889%;-webkit-animation-timing-function:cubic-bezier(.15,0,.51506,.40968);animation-timing-function:cubic-bezier(.15,0,.51506,.40968)}25%{left:-17.25%;-webkit-animation-timing-function:cubic-bezier(.31033,.28406,.8,.73372);animation-timing-function:cubic-bezier(.31033,.28406,.8,.73372)}48.35%{left:29.5%;-webkit-animation-timing-function:cubic-bezier(.4,.62703,.6,.90203);animation-timing-function:cubic-bezier(.4,.62703,.6,.90203)}100%{left:117.38889%}}md-radio-button{box-sizing:border-box;display:block;white-space:nowrap;cursor:pointer;position:relative}md-radio-button[disabled],md-radio-button[disabled] .md-container{cursor:default}md-radio-button .md-container{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);box-sizing:border-box;display:inline-block;width:20px;height:20px;cursor:pointer;left:0;right:auto}md-radio-group[disabled] md-radio-button,md-radio-group[disabled] md-radio-button .md-container,md-select[disabled]:hover{cursor:default}[dir=rtl] md-radio-button .md-container{left:auto;right:0}md-radio-button .md-container .md-ripple-container{position:absolute;display:block;width:auto;height:auto;left:-15px;top:-15px;right:-15px;bottom:-15px}md-radio-button .md-container:before{box-sizing:border-box;background-color:transparent;border-radius:50%;content:'';position:absolute;display:block;height:auto;left:0;top:0;right:0;bottom:0;-webkit-transition:all .5s;transition:all .5s;width:auto}md-radio-button.md-align-top-left>div.md-container{top:12px}md-radio-button .md-off,md-radio-button .md-on{position:absolute;top:0;left:0;width:20px;height:20px;border-radius:50%;box-sizing:border-box}md-radio-button .md-off{border-style:solid;border-width:2px;-webkit-transition:border-color ease .28s;transition:border-color ease .28s}md-radio-button .md-on{-webkit-transition:-webkit-transform ease .28s;transition:-webkit-transform ease .28s;transition:transform ease .28s;transition:transform ease .28s,-webkit-transform ease .28s;-webkit-transform:scale(0);transform:scale(0)}md-radio-button.md-checked .md-on{-webkit-transform:scale(.5);transform:scale(.5)}md-radio-button .md-label{box-sizing:border-box;position:relative;display:inline-block;margin-left:30px;margin-right:0;vertical-align:middle;white-space:normal;pointer-events:none;width:auto}md-input-container:not(.md-input-has-value) md-select.ng-required:not(.md-no-asterisk) .md-select-value span:first-child:after,md-input-container:not(.md-input-has-value) md-select[required]:not(.md-no-asterisk) .md-select-value span:first-child:after,md-select.ng-required.ng-invalid:not(.md-no-asterisk) .md-select-value span:first-child:after,md-select[required].ng-invalid:not(.md-no-asterisk) .md-select-value span:first-child:after{content:' *';font-size:13px;vertical-align:top}[dir=rtl] md-radio-button .md-label{margin-left:0;margin-right:30px}md-radio-group.layout-gt-lg-row md-radio-button,md-radio-group.layout-gt-md-row md-radio-button,md-radio-group.layout-gt-sm-row md-radio-button,md-radio-group.layout-gt-xs-row md-radio-button,md-radio-group.layout-lg-row md-radio-button,md-radio-group.layout-md-row md-radio-button,md-radio-group.layout-row md-radio-button,md-radio-group.layout-sm-row md-radio-button,md-radio-group.layout-xl-row md-radio-button,md-radio-group.layout-xs-row md-radio-button{margin:0 16px 0 0}[dir=rtl] md-radio-group.layout-gt-lg-row md-radio-button,[dir=rtl] md-radio-group.layout-gt-md-row md-radio-button,[dir=rtl] md-radio-group.layout-gt-sm-row md-radio-button,[dir=rtl] md-radio-group.layout-gt-xs-row md-radio-button,[dir=rtl] md-radio-group.layout-lg-row md-radio-button,[dir=rtl] md-radio-group.layout-md-row md-radio-button,[dir=rtl] md-radio-group.layout-row md-radio-button,[dir=rtl] md-radio-group.layout-sm-row md-radio-button,[dir=rtl] md-radio-group.layout-xl-row md-radio-button,[dir=rtl] md-radio-group.layout-xs-row md-radio-button{margin-left:16px;margin-right:0}md-radio-group.layout-gt-lg-row md-radio-button:last-of-type,md-radio-group.layout-gt-md-row md-radio-button:last-of-type,md-radio-group.layout-gt-sm-row md-radio-button:last-of-type,md-radio-group.layout-gt-xs-row md-radio-button:last-of-type,md-radio-group.layout-lg-row md-radio-button:last-of-type,md-radio-group.layout-md-row md-radio-button:last-of-type,md-radio-group.layout-row md-radio-button:last-of-type,md-radio-group.layout-sm-row md-radio-button:last-of-type,md-radio-group.layout-xl-row md-radio-button:last-of-type,md-radio-group.layout-xs-row md-radio-button:last-of-type{margin-left:0;margin-right:0}md-radio-group:focus{outline:0}md-radio-group.md-focused .md-checked .md-container:before{left:-8px;top:-8px;right:-8px;bottom:-8px}md-option,md-select:not([disabled]):hover{cursor:pointer}.md-inline-form md-radio-group{margin:18px 0 19px}.md-inline-form md-radio-group md-radio-button{display:inline-block;height:30px;padding:2px;box-sizing:border-box;margin-top:0;margin-bottom:0}md-input-container.md-input-invalid md-select .md-select-value,md-select:not([disabled]).ng-invalid.ng-touched .md-select-value{padding-bottom:1px;border-bottom-style:solid}@media screen and (-ms-high-contrast:active){md-input-container.md-default-theme>md-icon{fill:#fff}md-radio-button.md-default-theme .md-on{background-color:#fff}}md-input-container:not([md-no-float]) .md-select-placeholder span:first-child{-webkit-transition:-webkit-transform .4s cubic-bezier(.25,.8,.25,1);transition:-webkit-transform .4s cubic-bezier(.25,.8,.25,1);transition:transform .4s cubic-bezier(.25,.8,.25,1);transition:transform .4s cubic-bezier(.25,.8,.25,1),-webkit-transform .4s cubic-bezier(.25,.8,.25,1);-webkit-transform-origin:left top;transform-origin:left top}[dir=rtl] md-input-container:not([md-no-float]) .md-select-placeholder span:first-child{-webkit-transform-origin:right top;transform-origin:right top}md-input-container.md-input-focused:not([md-no-float]) .md-select-placeholder span:first-child{-webkit-transform:translateY(-22px) translateX(-2px) scale(.75);transform:translateY(-22px) translateX(-2px) scale(.75)}.md-select-menu-container{position:fixed;left:0;top:0;z-index:90;opacity:0;display:none;-webkit-transform:translateY(-1px);transform:translateY(-1px)}.md-select-menu-container:not(.md-clickable){pointer-events:none}.md-select-menu-container md-progress-circular{display:table;margin:24px auto!important}.md-select-menu-container.md-active{display:block;opacity:1}.md-select-menu-container.md-active md-select-menu{-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transition-duration:150ms;transition-duration:150ms}.md-select-menu-container.md-active md-select-menu>*{opacity:1;-webkit-transition:all .3s cubic-bezier(.55,0,.55,.2);transition:all .3s cubic-bezier(.55,0,.55,.2);-webkit-transition-duration:150ms;transition-duration:150ms;-webkit-transition-delay:.1s;transition-delay:.1s}.md-select-menu-container.md-leave{opacity:0;-webkit-transition:all .3s cubic-bezier(.55,0,.55,.2);transition:all .3s cubic-bezier(.55,0,.55,.2);-webkit-transition-duration:250ms;transition-duration:250ms}md-input-container>md-select{margin:0;-webkit-box-ordinal-group:3;-webkit-order:2;order:2}md-select{display:flex;margin:20px 0 26px}md-select[disabled] .md-select-value{background-position:0 bottom;background-size:4px 1px;background-repeat:repeat-x;margin-bottom:-1px}md-select:focus{outline:0}md-select:not([disabled]):focus .md-select-value{border-bottom-width:2px;border-bottom-style:solid;padding-bottom:0}md-select:not([disabled]):focus.ng-invalid.ng-touched .md-select-value{padding-bottom:0}md-input-container.md-input-has-value .md-select-value>span:not(.md-select-icon){-webkit-transform:translate3d(0,1px,0);transform:translate3d(0,1px,0)}.md-select-value{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;padding:2px 2px 1px;border-bottom-width:1px;border-bottom-style:solid;background-color:transparent;position:relative;box-sizing:content-box;min-width:64px;min-height:26px;-webkit-box-flex:1;-webkit-flex-grow:1;flex-grow:1}.md-select-value>span:not(.md-select-icon){max-width:100%;-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.md-select-value>span:not(.md-select-icon) .md-text{display:inline}.md-select-value .md-select-icon{display:block;-webkit-box-align:end;-webkit-align-items:flex-end;-ms-grid-row-align:flex-end;align-items:flex-end;text-align:end;width:24px;margin:0 4px;-webkit-transform:translate3d(0,-2px,0);transform:translate3d(0,-2px,0);font-size:1.2rem}.md-select-value .md-select-icon:after{display:block;content:'\25BC';position:relative;top:2px;speak:none;font-size:13px;-webkit-transform:scaleY(.5) scaleX(1);transform:scaleY(.5) scaleX(1)}.md-select-value.md-select-placeholder{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-ordinal-group:2;-webkit-order:1;order:1;pointer-events:none;-webkit-font-smoothing:antialiased;padding-left:2px;z-index:1}md-option,md-select-menu{display:-webkit-box;display:-webkit-flex}md-select-menu{display:flex;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;box-shadow:0 1px 3px 0 rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 2px 1px -1px rgba(0,0,0,.12);max-height:256px;min-height:48px;overflow-y:hidden;-webkit-transform-origin:left top;transform-origin:left top;-webkit-transform:scale(1);transform:scale(1)}md-select-menu.md-reverse{-webkit-box-direction:reverse;-webkit-flex-direction:column-reverse;flex-direction:column-reverse}md-slider,md-slider-container{-webkit-box-orient:horizontal}md-sidenav,md-slider,md-slider-container,md-slider-container[md-vertical],md-slider[md-vertical],md-tabs-canvas.md-center-tabs{-webkit-box-direction:normal}md-select-menu:not(.md-overflow) md-content{padding-top:8px;padding-bottom:8px}[dir=rtl] md-select-menu{-webkit-transform-origin:right top;transform-origin:right top}md-select-menu md-content{min-width:136px;min-height:48px;max-height:256px;overflow-y:auto}md-select-menu>*{opacity:0}md-option{position:relative;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;width:auto;-webkit-transition:background .15s linear;transition:background .15s linear;padding:0 16px;height:48px}md-option[disabled],md-select-menu[multiple] md-option.md-checkbox-enabled[disabled]{cursor:default}md-option:focus{outline:0}md-option .md-text{-webkit-touch-callout:none;-moz-user-select:none;user-select:none;width:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}md-switch,md-switch .md-container{-webkit-user-select:none;-ms-user-select:none}md-optgroup{display:block}md-optgroup label{display:block;font-size:14px;padding:16px;font-weight:500}md-slider .md-sign .md-thumb-text,md-slider[md-vertical][md-discrete] .md-sign .md-thumb-text{font-size:12px;font-weight:700;z-index:1}md-optgroup md-option{padding-left:32px;padding-right:32px}@media screen and (-ms-high-contrast:active){.md-select-backdrop{background-color:transparent}md-select-menu{border:1px solid #fff}}md-select-menu[multiple] md-option.md-checkbox-enabled{padding-left:40px;padding-right:16px}[dir=rtl] md-select-menu[multiple] md-option.md-checkbox-enabled{padding-left:16px;padding-right:40px}md-select-menu[multiple] md-option.md-checkbox-enabled .md-container{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);box-sizing:border-box;display:inline-block;width:20px;height:20px;left:0;right:auto;margin-left:10.67px;margin-right:auto}[dir=rtl] md-select-menu[multiple] md-option.md-checkbox-enabled .md-container{left:auto;right:0;margin-left:auto;margin-right:10.67px}md-select-menu[multiple] md-option.md-checkbox-enabled .md-container:before{box-sizing:border-box;background-color:transparent;border-radius:50%;content:'';position:absolute;display:block;height:auto;left:0;top:0;right:0;bottom:0;-webkit-transition:all .5s;transition:all .5s;width:auto}md-select-menu[multiple] md-option.md-checkbox-enabled .md-container:after{box-sizing:border-box;content:'';position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px}md-select-menu[multiple] md-option.md-checkbox-enabled .md-container .md-ripple-container{position:absolute;display:block;width:auto;height:auto;left:-15px;top:-15px;right:-15px;bottom:-15px}md-slider .md-track,md-slider .md-track-ticks{right:0;left:0;position:absolute;height:100%}md-select-menu[multiple] md-option.md-checkbox-enabled .md-icon{box-sizing:border-box;-webkit-transition:240ms;transition:240ms;position:absolute;top:0;left:0;width:20px;height:20px;border-width:2px;border-style:solid;border-radius:2px}md-select-menu[multiple] md-option.md-checkbox-enabled[selected] .md-icon{border-color:transparent}md-select-menu[multiple] md-option.md-checkbox-enabled[selected] .md-icon:after{box-sizing:border-box;-webkit-transform:rotate(45deg);transform:rotate(45deg);position:absolute;left:4.67px;top:.22px;display:table;width:6.67px;height:13.33px;border-width:2px;border-style:solid;border-top:0;border-left:0;content:''}md-select-menu[multiple] md-option.md-checkbox-enabled.md-indeterminate .md-icon:after{box-sizing:border-box;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);display:table;width:12px;height:2px;border-width:2px;border-style:solid;border-top:0;border-left:0;content:''}md-sidenav{box-sizing:border-box;position:absolute;-webkit-flex-direction:column;flex-direction:column;z-index:60;width:320px;max-width:320px;bottom:0;overflow:auto;-webkit-overflow-scrolling:touch}md-sidenav ul{list-style:none}md-sidenav.md-closed{display:none}md-sidenav.md-closed-add,md-sidenav.md-closed-remove{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-transition:.2s ease-in all;transition:.2s ease-in all}md-sidenav.md-closed-add.md-closed-add-active,md-sidenav.md-closed-remove.md-closed-remove-active{-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1)}md-sidenav.md-locked-open,md-sidenav.md-locked-open-add,md-sidenav.md-locked-open-remove,md-sidenav.md-locked-open-remove.md-closed,md-sidenav.md-locked-open.md-closed,md-sidenav.md-locked-open.md-closed.md-sidenav-left,md-sidenav.md-locked-open.md-closed.md-sidenav-right{position:static;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}md-slider,md-slider .md-slider-content{position:relative}md-sidenav.md-locked-open-remove-active{-webkit-transition:width .3s cubic-bezier(.55,0,.55,.2),min-width .3s cubic-bezier(.55,0,.55,.2);transition:width .3s cubic-bezier(.55,0,.55,.2),min-width .3s cubic-bezier(.55,0,.55,.2);width:0!important;min-width:0!important}md-sidenav.md-closed.md-locked-open-add{width:0!important;min-width:0!important;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}md-sidenav.md-closed.md-locked-open-add-active{-webkit-transition:width .3s cubic-bezier(.55,0,.55,.2),min-width .3s cubic-bezier(.55,0,.55,.2);transition:width .3s cubic-bezier(.55,0,.55,.2),min-width .3s cubic-bezier(.55,0,.55,.2);width:320px;min-width:320px;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.md-sidenav-backdrop.md-locked-open{display:none}.md-sidenav-left,md-sidenav{left:0;top:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.md-sidenav-left.md-closed,md-sidenav.md-closed{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.md-sidenav-right{left:100%;top:0;-webkit-transform:translate(-100%,0);transform:translate(-100%,0)}.md-sidenav-right.md-closed{-webkit-transform:translate(0,0);transform:translate(0,0)}@media (min-width:600px){md-sidenav{max-width:400px}}@media (max-width:456px){md-sidenav{width:calc(100% - 56px);min-width:calc(100% - 56px);max-width:calc(100% - 56px)}}@media screen and (-ms-high-contrast:active){.md-sidenav-left,md-sidenav{border-right:1px solid #fff}.md-sidenav-right{border-left:1px solid #fff}}@-webkit-keyframes sliderFocusThumb{0%,100%{-webkit-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes sliderFocusThumb{0%,100%{-webkit-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes sliderDiscreteFocusThumb{0%{-webkit-transform:scale(.7);transform:scale(.7)}50%{-webkit-transform:scale(.8);transform:scale(.8)}100%{-webkit-transform:scale(0);transform:scale(0)}}@keyframes sliderDiscreteFocusThumb{0%{-webkit-transform:scale(.7);transform:scale(.7)}50%{-webkit-transform:scale(.8);transform:scale(.8)}100%{-webkit-transform:scale(0);transform:scale(0)}}@-webkit-keyframes sliderDiscreteFocusRing{0%{-webkit-transform:scale(.7);transform:scale(.7);opacity:0}50%{-webkit-transform:scale(1);transform:scale(1);opacity:1}100%{-webkit-transform:scale(0);transform:scale(0)}}@keyframes sliderDiscreteFocusRing{0%{-webkit-transform:scale(.7);transform:scale(.7);opacity:0}50%{-webkit-transform:scale(1);transform:scale(1);opacity:1}100%{-webkit-transform:scale(0);transform:scale(0)}}md-slider{height:48px;min-width:128px;margin-left:4px;margin-right:4px;padding:0;display:block;-webkit-flex-direction:row;flex-direction:row}md-slider *,md-slider :after{box-sizing:border-box}md-slider .md-slider-wrapper{outline:0;width:100%;height:100%}md-slider .md-track-container{width:100%;position:absolute;top:23px;height:2px}md-slider .md-track-fill{-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transition-property:width,height;transition-property:width,height}md-slider .md-track-ticks canvas{width:100%;height:100%}md-slider .md-thumb,md-slider .md-thumb:after{width:20px;height:20px;border-radius:20px;position:absolute}md-slider .md-thumb-container{position:absolute;left:0;top:50%;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0);-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transition-property:left,right,bottom;transition-property:left,right,bottom}[dir=rtl] md-slider .md-thumb-container{left:auto;right:0}md-slider .md-thumb{z-index:1;left:-10px;top:14px;-webkit-transform:scale(.7);transform:scale(.7);-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1)}[dir=rtl] md-slider .md-thumb{left:auto;right:-10px}md-slider .md-thumb:after{content:'';border-width:3px;border-style:solid;-webkit-transition:inherit;transition:inherit}md-slider .md-sign{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;position:absolute;left:-14px;top:-17px;width:28px;height:28px;border-radius:28px;-webkit-transform:scale(.4) translate3d(0,67.5px,0);transform:scale(.4) translate3d(0,67.5px,0);-webkit-transition:all .3s cubic-bezier(.35,0,.25,1);transition:all .3s cubic-bezier(.35,0,.25,1)}md-slider:not([md-discrete]) .md-sign,md-slider:not([md-discrete]) .md-track-ticks,md-slider[disabled] .md-track-fill{display:none}md-slider .md-sign:after{position:absolute;content:'';left:0;border-radius:16px;top:19px;border-left:14px solid transparent;border-right:14px solid transparent;border-top-width:16px;border-top-style:solid;opacity:0;-webkit-transform:translate3d(0,-8px,0);transform:translate3d(0,-8px,0);-webkit-transition:all .2s cubic-bezier(.35,0,.25,1);transition:all .2s cubic-bezier(.35,0,.25,1)}[dir=rtl] md-slider .md-sign:after{left:auto;right:0}md-slider .md-focus-ring{position:absolute;left:-17px;top:7px;width:34px;height:34px;border-radius:34px;-webkit-transform:scale(.7);transform:scale(.7);opacity:0;-webkit-transition:all .35s cubic-bezier(.35,0,.25,1);transition:all .35s cubic-bezier(.35,0,.25,1)}[dir=rtl] md-slider .md-focus-ring{left:auto;right:-17px}md-slider .md-disabled-thumb{position:absolute;left:-14px;top:10px;width:28px;height:28px;border-radius:28px;-webkit-transform:scale(.5);transform:scale(.5);border-width:4px;border-style:solid;display:none}[dir=rtl] md-slider .md-disabled-thumb{left:auto;right:-14px}md-slider.md-min .md-sign{opacity:0}md-slider:focus{outline:0}md-slider.md-dragging .md-thumb-container,md-slider.md-dragging .md-track-fill{-webkit-transition:none;transition:none}md-slider:not([md-discrete]):not([disabled]) .md-slider-wrapper .md-thumb:hover{-webkit-transform:scale(.8);transform:scale(.8)}md-slider:not([md-discrete]):not([disabled]) .md-slider-wrapper.md-focused .md-focus-ring{-webkit-transform:scale(1);transform:scale(1);opacity:1}md-slider:not([md-discrete]):not([disabled]) .md-slider-wrapper.md-focused .md-thumb{-webkit-animation:sliderFocusThumb .7s cubic-bezier(.35,0,.25,1);animation:sliderFocusThumb .7s cubic-bezier(.35,0,.25,1)}md-slider:not([md-discrete]):not([disabled]).md-active .md-slider-wrapper .md-thumb{-webkit-transform:scale(1);transform:scale(1)}md-slider[md-discrete]:not([disabled]) .md-slider-wrapper.md-focused .md-focus-ring{-webkit-transform:scale(0);transform:scale(0);-webkit-animation:sliderDiscreteFocusRing .5s cubic-bezier(.35,0,.25,1);animation:sliderDiscreteFocusRing .5s cubic-bezier(.35,0,.25,1)}md-slider[md-discrete]:not([disabled]) .md-slider-wrapper.md-focused .md-thumb{-webkit-animation:sliderDiscreteFocusThumb .5s cubic-bezier(.35,0,.25,1);animation:sliderDiscreteFocusThumb .5s cubic-bezier(.35,0,.25,1)}md-slider[md-discrete]:not([disabled]) .md-slider-wrapper.md-focused .md-thumb,md-slider[md-discrete]:not([disabled]).md-active .md-thumb{-webkit-transform:scale(0);transform:scale(0)}md-slider[md-discrete]:not([disabled]) .md-slider-wrapper.md-focused .md-sign,md-slider[md-discrete]:not([disabled]) .md-slider-wrapper.md-focused .md-sign:after,md-slider[md-discrete]:not([disabled]).md-active .md-sign,md-slider[md-discrete]:not([disabled]).md-active .md-sign:after{opacity:1;-webkit-transform:translate3d(0,0,0) scale(1);transform:translate3d(0,0,0) scale(1)}md-slider[md-discrete][disabled][readonly] .md-thumb{-webkit-transform:scale(0);transform:scale(0)}md-slider[md-discrete][disabled][readonly] .md-sign,md-slider[md-discrete][disabled][readonly] .md-sign:after{opacity:1;-webkit-transform:translate3d(0,0,0) scale(1);transform:translate3d(0,0,0) scale(1)}md-slider[disabled] .md-track-ticks,md-slider[disabled]:not([readonly]) .md-sign{opacity:0}md-slider[disabled] .md-thumb{-webkit-transform:scale(.5);transform:scale(.5)}md-slider[disabled] .md-disabled-thumb{display:block}md-slider[md-vertical]{-webkit-flex-direction:column;flex-direction:column;min-height:128px;min-width:0}md-slider[md-vertical] .md-slider-wrapper{-webkit-box-flex:1;-webkit-flex:1;flex:1;padding-top:12px;padding-bottom:12px;width:48px;-webkit-align-self:center;align-self:center;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}md-slider[md-vertical] .md-track-container{height:100%;width:2px;top:0;left:calc(50% - (2px / 2))}md-slider[md-vertical] .md-thumb-container{top:auto;margin-bottom:23px;left:calc(50% - 1px);bottom:0}md-slider[md-vertical] .md-thumb-container .md-thumb:after{left:1px}md-slider[md-vertical] .md-thumb-container .md-focus-ring{left:-16px}md-slider[md-vertical] .md-track-fill{bottom:0}md-slider[md-vertical][md-discrete] .md-sign{left:-40px;top:9.5px;-webkit-transform:scale(.4) translate3d(67.5px,0,0);transform:scale(.4) translate3d(67.5px,0,0)}md-slider[md-vertical][md-discrete] .md-sign:after{top:9.5px;left:19px;border-top:14px solid transparent;border-right:0;border-bottom:14px solid transparent;border-left-width:16px;border-left-style:solid;opacity:0;-webkit-transform:translate3d(0,-8px,0);transform:translate3d(0,-8px,0);-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}md-slider[md-vertical][md-discrete] .md-focused .md-sign:after,md-slider[md-vertical][md-discrete].md-active .md-sign:after,md-slider[md-vertical][md-discrete][disabled][readonly] .md-sign:after{top:0}md-slider[md-vertical][disabled][readonly] .md-thumb{-webkit-transform:scale(0);transform:scale(0)}md-slider[md-vertical][disabled][readonly] .md-sign,md-slider[md-vertical][disabled][readonly] .md-sign:after{opacity:1;-webkit-transform:translate3d(0,0,0) scale(1);transform:translate3d(0,0,0) scale(1)}md-slider[md-invert]:not([md-vertical]) .md-track-fill{left:auto;right:0}[dir=rtl] md-slider[md-invert]:not([md-vertical]) .md-track-fill{left:0;right:auto}md-slider[md-invert][md-vertical] .md-track-fill{bottom:auto;top:0}md-slider-container{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-flex-direction:row;flex-direction:row}md-slider-container>:first-child:not(md-slider),md-slider-container>:last-child:not(md-slider){min-width:25px;max-width:42px;height:25px;-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transition-property:color,max-width;transition-property:color,max-width}md-slider-container>:first-child:not(md-slider){margin-right:16px}[dir=rtl] md-slider-container>:first-child:not(md-slider){margin-right:auto;margin-left:16px}md-slider-container>:last-child:not(md-slider){margin-left:16px}[dir=rtl] md-slider-container>:last-child:not(md-slider){margin-left:auto;margin-right:16px}md-slider-container[md-vertical]{-webkit-box-orient:vertical;-webkit-flex-direction:column;flex-direction:column}md-slider-container[md-vertical]>:first-child:not(md-slider),md-slider-container[md-vertical]>:last-child:not(md-slider){margin-right:0;margin-left:0;text-align:center}md-slider-container md-input-container input[type=number]{text-align:center;padding-left:15px;height:50px;margin-top:-25px}[dir=rtl] md-slider-container md-input-container input[type=number]{padding-left:0;padding-right:15px}@media screen and (-ms-high-contrast:active){md-slider.md-default-theme .md-track{border-bottom:1px solid #fff}}.md-sticky-clone{z-index:2;top:0;left:0;right:0;position:absolute!important;-webkit-transform:translate3d(-9999px,-9999px,0);transform:translate3d(-9999px,-9999px,0)}.md-sticky-clone[sticky-state=active]{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.md-sticky-clone[sticky-state=active]:not(.md-sticky-no-effect) .md-subheader-inner{-webkit-animation:subheaderStickyHoverIn .3s ease-out both;animation:subheaderStickyHoverIn .3s ease-out both}@-webkit-keyframes subheaderStickyHoverIn{0%{box-shadow:0 0 0 0 transparent}100%{box-shadow:0 2px 4px 0 rgba(0,0,0,.16)}}@keyframes subheaderStickyHoverIn{0%{box-shadow:0 0 0 0 transparent}100%{box-shadow:0 2px 4px 0 rgba(0,0,0,.16)}}@-webkit-keyframes subheaderStickyHoverOut{0%{box-shadow:0 2px 4px 0 rgba(0,0,0,.16)}100%{box-shadow:0 0 0 0 transparent}}@keyframes subheaderStickyHoverOut{0%{box-shadow:0 2px 4px 0 rgba(0,0,0,.16)}100%{box-shadow:0 0 0 0 transparent}}.md-subheader-wrapper:not(.md-sticky-no-effect){-webkit-transition:.2s ease-out margin;transition:.2s ease-out margin}.md-subheader-wrapper:not(.md-sticky-no-effect) .md-subheader{margin:0}.md-subheader-wrapper:not(.md-sticky-no-effect).md-sticky-clone{z-index:2}.md-subheader-wrapper:not(.md-sticky-no-effect)[sticky-state=active]{margin-top:-2px}.md-subheader-wrapper:not(.md-sticky-no-effect):not(.md-sticky-clone)[sticky-prev-state=active] .md-subheader-inner:after{-webkit-animation:subheaderStickyHoverOut .3s ease-out both;animation:subheaderStickyHoverOut .3s ease-out both}.md-subheader{display:block;font-size:14px;font-weight:500;line-height:1em;margin:0;position:relative}.md-subheader .md-subheader-inner{display:block;padding:16px}.md-subheader .md-subheader-content{display:block;z-index:1;position:relative}.md-inline-form md-switch{margin-top:18px;margin-bottom:19px}md-switch{margin:16px 16px 16px 0;white-space:nowrap;cursor:pointer;outline:0;-moz-user-select:none;user-select:none;height:30px;line-height:28px;-webkit-box-align:center;-webkit-align-items:center;align-items:center;display:-webkit-box;display:-webkit-flex;display:flex;margin-left:inherit}[dir=rtl] md-switch{margin-left:16px;margin-right:inherit}md-switch:last-of-type{margin-left:inherit;margin-right:0}[dir=rtl] md-switch:last-of-type{margin-left:0;margin-right:inherit}md-switch[disabled],md-switch[disabled] .md-container{cursor:default}md-switch .md-container{cursor:-webkit-grab;cursor:grab;width:36px;height:24px;position:relative;-moz-user-select:none;user-select:none;margin-right:8px;float:left}[dir=rtl] md-switch .md-container{margin-right:auto;margin-left:8px}md-switch:not([disabled]) .md-dragging,md-switch:not([disabled]).md-dragging .md-container{cursor:-webkit-grabbing;cursor:grabbing}md-switch.md-focused:not([disabled]) .md-thumb:before{left:-8px;top:-8px;right:-8px;bottom:-8px}md-switch.md-focused:not([disabled]):not(.md-checked) .md-thumb:before{background-color:rgba(0,0,0,.12)}md-switch .md-label{border-color:transparent;border-width:0;float:left}md-switch .md-bar{left:1px;width:34px;top:5px;height:14px;border-radius:8px;position:absolute}md-switch .md-thumb-container{top:2px;left:0;width:16px;position:absolute;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);z-index:1}md-switch .md-thumb,md-switch .md-thumb:before{border-radius:50%;left:0;top:0;position:absolute}md-switch.md-checked .md-thumb-container{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}md-switch .md-thumb{margin:0;outline:0;height:20px;width:20px;box-shadow:0 1px 3px 0 rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 2px 1px -1px rgba(0,0,0,.12)}md-switch .md-thumb:before{background-color:transparent;content:'';display:block;height:auto;right:0;bottom:0;-webkit-transition:all .5s;transition:all .5s;width:auto}md-switch .md-thumb .md-ripple-container{position:absolute;display:block;width:auto;height:auto;left:-20px;top:-20px;right:-20px;bottom:-20px}md-tabs,md-tabs-canvas,md-tabs-wrapper,md-tabs.md-dynamic-height md-tab-content.md-active{position:relative}md-switch:not(.md-dragging) .md-bar,md-switch:not(.md-dragging) .md-thumb,md-switch:not(.md-dragging) .md-thumb-container{-webkit-transition:all 80ms linear;transition:all 80ms linear;-webkit-transition-property:background-color,-webkit-transform;transition-property:background-color,-webkit-transform;transition-property:transform,background-color;transition-property:transform,background-color,-webkit-transform}md-switch:not(.md-dragging) .md-bar,md-switch:not(.md-dragging) .md-thumb{-webkit-transition-delay:50ms;transition-delay:50ms}@media screen and (-ms-high-contrast:active){md-switch.md-default-theme .md-bar{background-color:#666}md-switch.md-default-theme.md-checked .md-bar{background-color:#9E9E9E}md-switch.md-default-theme .md-thumb{background-color:#fff}}@-webkit-keyframes md-tab-content-hide{0%,50%{opacity:1}100%{opacity:0}}@keyframes md-tab-content-hide{0%,50%{opacity:1}100%{opacity:0}}md-tab-data{position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;opacity:0}md-tabs{display:block;margin:0;border-radius:2px;overflow:hidden;-webkit-flex-shrink:0;flex-shrink:0}md-tabs:not(.md-no-tab-content):not(.md-dynamic-height){min-height:248px}md-tabs[md-align-tabs=bottom]{padding-bottom:48px}md-tabs[md-align-tabs=bottom] md-tabs-wrapper{position:absolute;bottom:0;left:0;right:0;height:48px;z-index:2}md-tabs[md-align-tabs=bottom] md-tabs-content-wrapper{top:0;bottom:48px}md-tabs.md-dynamic-height md-tabs-content-wrapper{min-height:0;position:relative;top:auto;left:auto;right:auto;bottom:auto;overflow:visible}md-tabs[md-border-bottom] md-tabs-wrapper{border-width:0 0 1px;border-style:solid}md-tabs[md-border-bottom]:not(.md-dynamic-height) md-tabs-content-wrapper{top:49px}md-tabs-wrapper{display:block;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}md-tabs-wrapper md-next-button,md-tabs-wrapper md-prev-button{height:100%;width:32px;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);line-height:1em;z-index:2;cursor:pointer;font-size:16px;background:center center no-repeat;-webkit-transition:all .5s cubic-bezier(.35,0,.25,1);transition:all .5s cubic-bezier(.35,0,.25,1)}md-tabs-wrapper md-next-button:focus,md-tabs-wrapper md-prev-button:focus{outline:0}md-tabs-wrapper md-next-button.md-disabled,md-tabs-wrapper md-prev-button.md-disabled{opacity:.25;cursor:default}md-tabs-wrapper md-next-button.ng-leave,md-tabs-wrapper md-prev-button.ng-leave{-webkit-transition:none;transition:none}md-tabs-wrapper md-next-button md-icon,md-tabs-wrapper md-prev-button md-icon{position:absolute;top:50%;left:50%;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0)}md-tabs-wrapper md-prev-button{left:0;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE3LjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPiA8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPiA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMjQgMjQiIHhtbDpzcGFjZT0icHJlc2VydmUiPiA8ZyBpZD0iSGVhZGVyIj4gPGc+IDxyZWN0IHg9Ii02MTgiIHk9Ii0xMjA4IiBmaWxsPSJub25lIiB3aWR0aD0iMTQwMCIgaGVpZ2h0PSIzNjAwIi8+IDwvZz4gPC9nPiA8ZyBpZD0iTGFiZWwiPiA8L2c+IDxnIGlkPSJJY29uIj4gPGc+IDxwb2x5Z29uIHBvaW50cz0iMTUuNCw3LjQgMTQsNiA4LDEyIDE0LDE4IDE1LjQsMTYuNiAxMC44LDEyIAkJIiBzdHlsZT0iZmlsbDp3aGl0ZTsiLz4gPHJlY3QgZmlsbD0ibm9uZSIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ii8+IDwvZz4gPC9nPiA8ZyBpZD0iR3JpZCIgZGlzcGxheT0ibm9uZSI+IDxnIGRpc3BsYXk9ImlubGluZSI+IDwvZz4gPC9nPiA8L3N2Zz4NCg==)}[dir=rtl] md-tabs-wrapper md-prev-button{left:auto;right:0}md-tabs-wrapper md-next-button{right:0;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE3LjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPiA8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPiA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMjQgMjQiIHhtbDpzcGFjZT0icHJlc2VydmUiPiA8ZyBpZD0iSGVhZGVyIj4gPGc+IDxyZWN0IHg9Ii02MTgiIHk9Ii0xMzM2IiBmaWxsPSJub25lIiB3aWR0aD0iMTQwMCIgaGVpZ2h0PSIzNjAwIi8+IDwvZz4gPC9nPiA8ZyBpZD0iTGFiZWwiPiA8L2c+IDxnIGlkPSJJY29uIj4gPGc+IDxwb2x5Z29uIHBvaW50cz0iMTAsNiA4LjYsNy40IDEzLjIsMTIgOC42LDE2LjYgMTAsMTggMTYsMTIgCQkiIHN0eWxlPSJmaWxsOndoaXRlOyIvPiA8cmVjdCBmaWxsPSJub25lIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiLz4gPC9nPiA8L2c+IDxnIGlkPSJHcmlkIiBkaXNwbGF5PSJub25lIj4gPGcgZGlzcGxheT0iaW5saW5lIj4gPC9nPiA8L2c+IDwvc3ZnPg0K)}[dir=rtl] md-tabs-wrapper md-next-button{right:auto;left:0}md-tabs-wrapper md-next-button md-icon{-webkit-transform:translate3d(-50%,-50%,0) rotate(180deg);transform:translate3d(-50%,-50%,0) rotate(180deg)}md-tabs-wrapper.md-stretch-tabs md-pagination-wrapper{width:100%;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}md-tabs-wrapper.md-stretch-tabs md-pagination-wrapper md-tab-item{-webkit-box-flex:1;-webkit-flex-grow:1;flex-grow:1}md-tabs-canvas{overflow:hidden;display:block;height:48px}md-tabs-canvas:after{content:'';display:table;clear:both}md-tabs-canvas .md-dummy-wrapper{position:absolute;top:0;left:0}[dir=rtl] md-tabs-canvas .md-dummy-wrapper{left:auto;right:0}md-tabs-canvas.md-paginated{margin:0 32px}md-tabs-canvas.md-center-tabs{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-flex-direction:column;flex-direction:column;text-align:center}md-tabs-canvas.md-center-tabs .md-tab{float:none;display:inline-block}md-pagination-wrapper{height:48px;display:block;-webkit-transition:-webkit-transform .5s cubic-bezier(.35,0,.25,1);transition:-webkit-transform .5s cubic-bezier(.35,0,.25,1);transition:transform .5s cubic-bezier(.35,0,.25,1);transition:transform .5s cubic-bezier(.35,0,.25,1),-webkit-transform .5s cubic-bezier(.35,0,.25,1);position:absolute;width:999999px;left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}md-pagination-wrapper:after{content:'';display:table;clear:both}[dir=rtl] md-pagination-wrapper{left:auto;right:0}md-pagination-wrapper.md-center-tabs{position:relative;width:auto;margin:0 auto}md-ink-bar,md-tab,md-tab-content{position:absolute}md-tabs-content-wrapper{display:block;position:absolute;top:48px;left:0;right:0;bottom:0;overflow:hidden}md-tab-content{display:block;top:0;left:0;right:0;bottom:0;-webkit-transition:-webkit-transform .5s cubic-bezier(.35,0,.25,1);transition:-webkit-transform .5s cubic-bezier(.35,0,.25,1);transition:transform .5s cubic-bezier(.35,0,.25,1);transition:transform .5s cubic-bezier(.35,0,.25,1),-webkit-transform .5s cubic-bezier(.35,0,.25,1);overflow:auto;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}md-tab-content.md-no-scroll{bottom:auto;overflow:hidden}md-tab-content.md-no-transition,md-tab-content.ng-leave{-webkit-transition:none;transition:none}md-tab-content.md-left:not(.md-active){-webkit-transform:translateX(-100%);transform:translateX(-100%);-webkit-animation:1s md-tab-content-hide;animation:1s md-tab-content-hide;opacity:0}[dir=rtl] md-tab-content.md-left:not(.md-active){-webkit-transform:translateX(100%);transform:translateX(100%)}md-tab-content.md-left:not(.md-active) *{-webkit-transition:visibility 0s linear;transition:visibility 0s linear;-webkit-transition-delay:.5s;transition-delay:.5s;visibility:hidden}md-tab-content.md-right:not(.md-active){-webkit-transform:translateX(100%);transform:translateX(100%);-webkit-animation:1s md-tab-content-hide;animation:1s md-tab-content-hide;opacity:0}[dir=rtl] md-tab-content.md-right:not(.md-active){-webkit-transform:translateX(-100%);transform:translateX(-100%)}md-tab-content.md-right:not(.md-active) *{-webkit-transition:visibility 0s linear;transition:visibility 0s linear;-webkit-transition-delay:.5s;transition-delay:.5s;visibility:hidden}md-tab-content>div.ng-leave{-webkit-animation:1s md-tab-content-hide;animation:1s md-tab-content-hide}md-ink-bar{left:auto;right:auto;bottom:0;height:2px}md-ink-bar.md-left{-webkit-transition:left 125ms cubic-bezier(.35,0,.25,1),right .25s cubic-bezier(.35,0,.25,1);transition:left 125ms cubic-bezier(.35,0,.25,1),right .25s cubic-bezier(.35,0,.25,1)}md-ink-bar.md-right{-webkit-transition:left .25s cubic-bezier(.35,0,.25,1),right 125ms cubic-bezier(.35,0,.25,1);transition:left .25s cubic-bezier(.35,0,.25,1),right 125ms cubic-bezier(.35,0,.25,1)}md-tab{z-index:-1;left:-9999px}.md-tab{font-size:14px;text-align:center;line-height:24px;padding:12px 24px;-webkit-transition:background-color .35s cubic-bezier(.35,0,.25,1);transition:background-color .35s cubic-bezier(.35,0,.25,1);cursor:pointer;white-space:nowrap;position:relative;float:left;font-weight:500;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis}.md-tab.md-active,md-toast{cursor:default}[dir=rtl] .md-tab{float:right}.md-tab.md-focused{box-shadow:none;outline:0}.md-tab.md-disabled{pointer-events:none;touch-action:pan-y;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none;opacity:.5;cursor:default}.md-tab.ng-leave{-webkit-transition:none;transition:none}md-toolbar+md-tabs{border-top-left-radius:0;border-top-right-radius:0}.md-toast-text{padding:0 6px}md-toast{position:absolute;z-index:105;box-sizing:border-box;overflow:hidden;padding:8px;opacity:1;-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1)}md-toast .md-toast-content{display:-webkit-box;display:-webkit-flex;display:flex;direction:row;-webkit-box-align:center;-webkit-align-items:center;align-items:center;max-height:168px;max-width:100%;min-height:48px;padding:0 18px;box-shadow:0 2px 5px 0 rgba(0,0,0,.26);border-radius:2px;font-size:14px;overflow:hidden;-webkit-transform:translate3d(0,0,0) rotateZ(0);transform:translate3d(0,0,0) rotateZ(0);-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}md-toast .md-toast-content::before{content:'';min-height:48px;visibility:hidden;display:inline-block}.md-toolbar-tools,md-toolbar{font-size:20px;display:-webkit-box;display:-webkit-flex;box-sizing:border-box;-webkit-box-direction:normal}[dir=rtl] md-toast .md-toast-content{-webkit-box-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}md-toast .md-toast-content span{-webkit-box-flex:1;-webkit-flex:1 1 0%;flex:1 1 0%;box-sizing:border-box;min-width:0}md-toast.md-capsule,md-toast.md-capsule .md-toast-content{border-radius:24px}md-toast.ng-leave-active .md-toast-content{-webkit-transition:all .3s cubic-bezier(.55,0,.55,.2);transition:all .3s cubic-bezier(.55,0,.55,.2)}md-toast.md-swipedown .md-toast-content,md-toast.md-swipeleft .md-toast-content,md-toast.md-swiperight .md-toast-content,md-toast.md-swipeup .md-toast-content{-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1)}md-toast.ng-enter{opacity:0}md-toast.ng-enter .md-toast-content{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}md-toast.ng-enter.md-top .md-toast-content{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}md-toast.ng-enter.ng-enter-active{opacity:1}md-toast.ng-enter.ng-enter-active .md-toast-content{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}md-toast.ng-leave.ng-leave-active .md-toast-content{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}md-toast.ng-leave.ng-leave-active.md-swipeup .md-toast-content{-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}md-toast.ng-leave.ng-leave-active.md-swipedown .md-toast-content{-webkit-transform:translate3d(0,50%,0);transform:translate3d(0,50%,0)}md-toast.ng-leave.ng-leave-active.md-top .md-toast-content{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}md-toast .md-action{line-height:19px;margin-left:24px;margin-right:0;cursor:pointer;float:right}md-toast .md-button{min-width:0;margin-right:0;margin-left:12px}[dir=rtl] md-toast .md-button{margin-right:12px;margin-left:0}@media (max-width:959px){md-toast{left:0;right:0;width:100%;max-width:100%;min-width:0;border-radius:0;bottom:0;padding:0}md-toast.ng-leave.ng-leave-active.md-swipeup .md-toast-content{-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}md-toast.ng-leave.ng-leave-active.md-swipedown .md-toast-content{-webkit-transform:translate3d(0,50%,0);transform:translate3d(0,50%,0)}}@media (min-width:1920px){md-toast .md-toast-content{max-width:568px}}.md-toast-animating{overflow:hidden!important}md-toolbar{display:flex;-webkit-box-orient:vertical;-webkit-flex-direction:column;flex-direction:column;position:relative;z-index:2;min-height:64px;width:100%}md-toolbar._md-toolbar-transitions{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:cubic-bezier(.35,0,.25,1);transition-timing-function:cubic-bezier(.35,0,.25,1);-webkit-transition-property:background-color,fill,color;transition-property:background-color,fill,color}md-toolbar.md-whiteframe-z1-add,md-toolbar.md-whiteframe-z1-remove{-webkit-transition:box-shadow .5s linear;transition:box-shadow .5s linear}md-toolbar md-toolbar-filler{width:72px}md-toolbar *,md-toolbar :after,md-toolbar :before{box-sizing:border-box}md-toolbar.ng-animate{-webkit-transition:none;transition:none}md-toolbar.md-tall{height:128px;min-height:128px;max-height:128px}md-toolbar.md-medium-tall{height:88px;min-height:88px;max-height:88px}md-toolbar.md-medium-tall .md-toolbar-tools{height:48px;min-height:48px;max-height:48px}md-toolbar>.md-indent{margin-left:64px}[dir=rtl] md-toolbar>.md-indent{margin-left:auto;margin-right:64px}md-toolbar~md-content>md-list{padding:0}md-toolbar~md-content>md-list md-list-item:last-child md-divider{display:none}.md-toolbar-tools{letter-spacing:.005em;font-weight:400;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-orient:horizontal;-webkit-flex-direction:row;flex-direction:row;width:100%;height:64px;max-height:64px;padding:0 16px;margin:0}.md-toolbar-tools h1,.md-toolbar-tools h2,.md-toolbar-tools h3{font-size:inherit;font-weight:inherit;margin:inherit}.md-toolbar-tools a{color:inherit;text-decoration:none}.md-toolbar-tools .fill-height{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.md-toolbar-tools .md-button{margin-top:0;margin-bottom:0}.md-toolbar-tools .md-button,.md-toolbar-tools .md-button.md-icon-button md-icon{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:cubic-bezier(.35,0,.25,1);transition-timing-function:cubic-bezier(.35,0,.25,1);-webkit-transition-property:background-color,fill,color;transition-property:background-color,fill,color}.md-toolbar-tools .md-button.md-icon-button md-icon.ng-animate,.md-toolbar-tools .md-button.ng-animate{-webkit-transition:none;transition:none}.md-toolbar-tools>.md-button:first-child{margin-left:-8px}[dir=rtl] .md-toolbar-tools>.md-button:first-child{margin-left:auto;margin-right:-8px}.md-toolbar-tools>.md-button:last-child{margin-right:-8px}[dir=rtl] .md-toolbar-tools>.md-button:last-child{margin-right:auto;margin-left:-8px}.md-toolbar-tools>md-menu:last-child{margin-right:-8px}[dir=rtl] .md-toolbar-tools>md-menu:last-child{margin-right:auto;margin-left:-8px}.md-toolbar-tools>md-menu:last-child>.md-button{margin-right:0}[dir=rtl] .md-toolbar-tools>md-menu:last-child>.md-button{margin-right:auto;margin-left:0}@media screen and (-ms-high-contrast:active){md-toast{border:1px solid #fff}.md-toolbar-tools{border-bottom:1px solid #fff}}@media (min-width:0) and (max-width:959px) and (orientation:portrait){md-toolbar{min-height:56px}.md-toolbar-tools{height:56px;max-height:56px}}@media (min-width:0) and (max-width:959px) and (orientation:landscape){md-toolbar{min-height:48px}.md-toolbar-tools{height:48px;max-height:48px}}md-tooltip{position:absolute;z-index:100;overflow:hidden;pointer-events:none;border-radius:4px;font-weight:500;font-size:14px}@media (min-width:960px){md-toast._md-start,md-toast.md-left{left:0}md-toast._md-end,md-toast.md-right{right:0}md-toast{min-width:304px}md-toast.md-bottom{bottom:0}md-toast.md-top{top:0}[dir=rtl] md-toast._md-start{left:auto;right:0}[dir=rtl] md-toast._md-end{right:auto;left:0}md-toast.ng-leave.ng-leave-active.md-swipeleft .md-toast-content{-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}md-toast.ng-leave.ng-leave-active.md-swiperight .md-toast-content{-webkit-transform:translate3d(50%,0,0);transform:translate3d(50%,0,0)}md-tooltip{font-size:10px}}md-tooltip .md-content{position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-transform-origin:center top;transform-origin:center top;-webkit-transform:scale(0);transform:scale(0);opacity:0;height:32px;line-height:32px;padding-left:16px;padding-right:16px}@media (min-width:960px){md-tooltip .md-content{height:22px;line-height:22px;padding-left:8px;padding-right:8px}}md-tooltip .md-content.md-show-add{-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transform:scale(0);transform:scale(0);opacity:0}md-tooltip .md-content.md-show,md-tooltip .md-content.md-show-add-active{-webkit-transform:scale(1);transform:scale(1);opacity:.9;-webkit-transform-origin:center top;transform-origin:center top}md-tooltip .md-content.md-show-remove{-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transition-duration:.2s;transition-duration:.2s}md-tooltip .md-content.md-show-remove.md-show-remove-active{-webkit-transform:scale(0);transform:scale(0);opacity:0}md-tooltip.md-hide{-webkit-transition:all .3s cubic-bezier(.55,0,.55,.2);transition:all .3s cubic-bezier(.55,0,.55,.2)}md-tooltip.md-show{-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1);pointer-events:auto}.md-virtual-repeat-container{box-sizing:border-box;display:block;margin:0;overflow:hidden;padding:0;position:relative}.md-virtual-repeat-container .md-virtual-repeat-offsetter,.md-virtual-repeat-container .md-virtual-repeat-scroller{left:0;margin:0;padding:0;position:absolute;right:0;box-sizing:border-box;top:0}.md-virtual-repeat-container .md-virtual-repeat-scroller{bottom:0;overflow-x:hidden;-webkit-overflow-scrolling:touch}.md-virtual-repeat-container .md-virtual-repeat-sizer{box-sizing:border-box;height:1px;display:block;margin:0;padding:0;width:1px}.md-virtual-repeat-container.md-orient-horizontal .md-virtual-repeat-scroller{overflow-x:auto;overflow-y:hidden}.md-virtual-repeat-container.md-orient-horizontal .md-virtual-repeat-offsetter{bottom:16px;right:auto;white-space:nowrap}[dir=rtl] .md-virtual-repeat-container.md-orient-horizontal .md-virtual-repeat-offsetter{right:auto;left:auto}.md-whiteframe-1dp,.md-whiteframe-z1{box-shadow:0 1px 3px 0 rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 2px 1px -1px rgba(0,0,0,.12)}.md-whiteframe-2dp{box-shadow:0 1px 5px 0 rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.12)}.md-whiteframe-3dp{box-shadow:0 1px 8px 0 rgba(0,0,0,.2),0 3px 4px 0 rgba(0,0,0,.14),0 3px 3px -2px rgba(0,0,0,.12)}.md-whiteframe-4dp,.md-whiteframe-z2{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.md-whiteframe-5dp{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 5px 8px 0 rgba(0,0,0,.14),0 1px 14px 0 rgba(0,0,0,.12)}.md-whiteframe-6dp{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.md-whiteframe-7dp,.md-whiteframe-z3{box-shadow:0 4px 5px -2px rgba(0,0,0,.2),0 7px 10px 1px rgba(0,0,0,.14),0 2px 16px 1px rgba(0,0,0,.12)}.md-whiteframe-8dp{box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.md-whiteframe-9dp{box-shadow:0 5px 6px -3px rgba(0,0,0,.2),0 9px 12px 1px rgba(0,0,0,.14),0 3px 16px 2px rgba(0,0,0,.12)}.md-whiteframe-10dp,.md-whiteframe-z4{box-shadow:0 6px 6px -3px rgba(0,0,0,.2),0 10px 14px 1px rgba(0,0,0,.14),0 4px 18px 3px rgba(0,0,0,.12)}.md-whiteframe-11dp{box-shadow:0 6px 7px -4px rgba(0,0,0,.2),0 11px 15px 1px rgba(0,0,0,.14),0 4px 20px 3px rgba(0,0,0,.12)}.md-whiteframe-12dp{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.md-whiteframe-13dp,.md-whiteframe-z5{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 13px 19px 2px rgba(0,0,0,.14),0 5px 24px 4px rgba(0,0,0,.12)}.md-whiteframe-14dp{box-shadow:0 7px 9px -4px rgba(0,0,0,.2),0 14px 21px 2px rgba(0,0,0,.14),0 5px 26px 4px rgba(0,0,0,.12)}.md-whiteframe-15dp{box-shadow:0 8px 9px -5px rgba(0,0,0,.2),0 15px 22px 2px rgba(0,0,0,.14),0 6px 28px 5px rgba(0,0,0,.12)}.md-whiteframe-16dp{box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)}.md-whiteframe-17dp{box-shadow:0 8px 11px -5px rgba(0,0,0,.2),0 17px 26px 2px rgba(0,0,0,.14),0 6px 32px 5px rgba(0,0,0,.12)}.md-whiteframe-18dp{box-shadow:0 9px 11px -5px rgba(0,0,0,.2),0 18px 28px 2px rgba(0,0,0,.14),0 7px 34px 6px rgba(0,0,0,.12)}.md-whiteframe-19dp{box-shadow:0 9px 12px -6px rgba(0,0,0,.2),0 19px 29px 2px rgba(0,0,0,.14),0 7px 36px 6px rgba(0,0,0,.12)}.md-whiteframe-20dp{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 20px 31px 3px rgba(0,0,0,.14),0 8px 38px 7px rgba(0,0,0,.12)}.md-whiteframe-21dp{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 21px 33px 3px rgba(0,0,0,.14),0 8px 40px 7px rgba(0,0,0,.12)}.md-whiteframe-22dp{box-shadow:0 10px 14px -6px rgba(0,0,0,.2),0 22px 35px 3px rgba(0,0,0,.14),0 8px 42px 7px rgba(0,0,0,.12)}.md-whiteframe-23dp{box-shadow:0 11px 14px -7px rgba(0,0,0,.2),0 23px 36px 3px rgba(0,0,0,.14),0 9px 44px 8px rgba(0,0,0,.12)}.md-whiteframe-24dp{box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12)}@media screen and (-ms-high-contrast:active){md-whiteframe{border:1px solid #fff}}.ng-cloak,.x-ng-cloak,[data-ng-cloak],[ng-cloak],[ng\:cloak],[x-ng-cloak]{display:none!important}@-moz-document url-prefix(){.layout-fill{margin:0;width:100%;min-height:100%;height:100%}}.flex-order{-webkit-box-ordinal-group:1;-webkit-order:0;order:0}.flex-order--20{-webkit-box-ordinal-group:-19;-webkit-order:-20;order:-20}.flex-order--19{-webkit-box-ordinal-group:-18;-webkit-order:-19;order:-19}.flex-order--18{-webkit-box-ordinal-group:-17;-webkit-order:-18;order:-18}.flex-order--17{-webkit-box-ordinal-group:-16;-webkit-order:-17;order:-17}.flex-order--16{-webkit-box-ordinal-group:-15;-webkit-order:-16;order:-16}.flex-order--15{-webkit-box-ordinal-group:-14;-webkit-order:-15;order:-15}.flex-order--14{-webkit-box-ordinal-group:-13;-webkit-order:-14;order:-14}.flex-order--13{-webkit-box-ordinal-group:-12;-webkit-order:-13;order:-13}.flex-order--12{-webkit-box-ordinal-group:-11;-webkit-order:-12;order:-12}.flex-order--11{-webkit-box-ordinal-group:-10;-webkit-order:-11;order:-11}.flex-order--10{-webkit-box-ordinal-group:-9;-webkit-order:-10;order:-10}.flex-order--9{-webkit-box-ordinal-group:-8;-webkit-order:-9;order:-9}.flex-order--8{-webkit-box-ordinal-group:-7;-webkit-order:-8;order:-8}.flex-order--7{-webkit-box-ordinal-group:-6;-webkit-order:-7;order:-7}.flex-order--6{-webkit-box-ordinal-group:-5;-webkit-order:-6;order:-6}.flex-order--5{-webkit-box-ordinal-group:-4;-webkit-order:-5;order:-5}.flex-order--4{-webkit-box-ordinal-group:-3;-webkit-order:-4;order:-4}.flex-order--3{-webkit-box-ordinal-group:-2;-webkit-order:-3;order:-3}.flex-order--2{-webkit-box-ordinal-group:-1;-webkit-order:-2;order:-2}.flex-order--1{-webkit-box-ordinal-group:0;-webkit-order:-1;order:-1}.flex-order-0{-webkit-box-ordinal-group:1;-webkit-order:0;order:0}.flex-order-1{-webkit-box-ordinal-group:2;-webkit-order:1;order:1}.flex-order-2{-webkit-box-ordinal-group:3;-webkit-order:2;order:2}.flex-order-3{-webkit-box-ordinal-group:4;-webkit-order:3;order:3}.flex-order-4{-webkit-box-ordinal-group:5;-webkit-order:4;order:4}.flex-order-5{-webkit-box-ordinal-group:6;-webkit-order:5;order:5}.flex-order-6{-webkit-box-ordinal-group:7;-webkit-order:6;order:6}.flex-order-7{-webkit-box-ordinal-group:8;-webkit-order:7;order:7}.flex-order-8{-webkit-box-ordinal-group:9;-webkit-order:8;order:8}.flex-order-9{-webkit-box-ordinal-group:10;-webkit-order:9;order:9}.flex-order-10{-webkit-box-ordinal-group:11;-webkit-order:10;order:10}.flex-order-11{-webkit-box-ordinal-group:12;-webkit-order:11;order:11}.flex-order-12{-webkit-box-ordinal-group:13;-webkit-order:12;order:12}.flex-order-13{-webkit-box-ordinal-group:14;-webkit-order:13;order:13}.flex-order-14{-webkit-box-ordinal-group:15;-webkit-order:14;order:14}.flex-order-15{-webkit-box-ordinal-group:16;-webkit-order:15;order:15}.flex-order-16{-webkit-box-ordinal-group:17;-webkit-order:16;order:16}.flex-order-17{-webkit-box-ordinal-group:18;-webkit-order:17;order:17}.flex-order-18{-webkit-box-ordinal-group:19;-webkit-order:18;order:18}.flex-order-19{-webkit-box-ordinal-group:20;-webkit-order:19;order:19}.flex-order-20{-webkit-box-ordinal-group:21;-webkit-order:20;order:20}.flex-offset-0,.offset-0{margin-left:0}[dir=rtl] .flex-offset-0,[dir=rtl] .offset-0{margin-left:auto;margin-right:0}.flex-offset-5,.offset-5{margin-left:5%}[dir=rtl] .flex-offset-5,[dir=rtl] .offset-5{margin-left:auto;margin-right:5%}.flex-offset-10,.offset-10{margin-left:10%}[dir=rtl] .flex-offset-10,[dir=rtl] .offset-10{margin-left:auto;margin-right:10%}.flex-offset-15,.offset-15{margin-left:15%}[dir=rtl] .flex-offset-15,[dir=rtl] .offset-15{margin-left:auto;margin-right:15%}.flex-offset-20,.offset-20{margin-left:20%}[dir=rtl] .flex-offset-20,[dir=rtl] .offset-20{margin-left:auto;margin-right:20%}.flex-offset-25,.offset-25{margin-left:25%}[dir=rtl] .flex-offset-25,[dir=rtl] .offset-25{margin-left:auto;margin-right:25%}.flex-offset-30,.offset-30{margin-left:30%}[dir=rtl] .flex-offset-30,[dir=rtl] .offset-30{margin-left:auto;margin-right:30%}.flex-offset-35,.offset-35{margin-left:35%}[dir=rtl] .flex-offset-35,[dir=rtl] .offset-35{margin-left:auto;margin-right:35%}.flex-offset-40,.offset-40{margin-left:40%}[dir=rtl] .flex-offset-40,[dir=rtl] .offset-40{margin-left:auto;margin-right:40%}.flex-offset-45,.offset-45{margin-left:45%}[dir=rtl] .flex-offset-45,[dir=rtl] .offset-45{margin-left:auto;margin-right:45%}.flex-offset-50,.offset-50{margin-left:50%}[dir=rtl] .flex-offset-50,[dir=rtl] .offset-50{margin-left:auto;margin-right:50%}.flex-offset-55,.offset-55{margin-left:55%}[dir=rtl] .flex-offset-55,[dir=rtl] .offset-55{margin-left:auto;margin-right:55%}.flex-offset-60,.offset-60{margin-left:60%}[dir=rtl] .flex-offset-60,[dir=rtl] .offset-60{margin-left:auto;margin-right:60%}.flex-offset-65,.offset-65{margin-left:65%}[dir=rtl] .flex-offset-65,[dir=rtl] .offset-65{margin-left:auto;margin-right:65%}.flex-offset-70,.offset-70{margin-left:70%}[dir=rtl] .flex-offset-70,[dir=rtl] .offset-70{margin-left:auto;margin-right:70%}.flex-offset-75,.offset-75{margin-left:75%}[dir=rtl] .flex-offset-75,[dir=rtl] .offset-75{margin-left:auto;margin-right:75%}.flex-offset-80,.offset-80{margin-left:80%}[dir=rtl] .flex-offset-80,[dir=rtl] .offset-80{margin-left:auto;margin-right:80%}.flex-offset-85,.offset-85{margin-left:85%}[dir=rtl] .flex-offset-85,[dir=rtl] .offset-85{margin-left:auto;margin-right:85%}.flex-offset-90,.offset-90{margin-left:90%}[dir=rtl] .flex-offset-90,[dir=rtl] .offset-90{margin-left:auto;margin-right:90%}.flex-offset-95,.offset-95{margin-left:95%}[dir=rtl] .flex-offset-95,[dir=rtl] .offset-95{margin-left:auto;margin-right:95%}.flex-offset-33,.offset-33{margin-left:calc(100% / 3)}.flex-offset-66,.offset-66{margin-left:calc(200% / 3)}[dir=rtl] .flex-offset-66,[dir=rtl] .offset-66{margin-left:auto;margin-right:calc(200% / 3)}.layout-align,.layout-align-start-stretch{-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;-webkit-align-content:stretch;align-content:stretch;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-grid-row-align:stretch;align-items:stretch}.layout-align-start,.layout-align-start-center,.layout-align-start-end,.layout-align-start-start,.layout-align-start-stretch{-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.layout-align-center,.layout-align-center-center,.layout-align-center-end,.layout-align-center-start,.layout-align-center-stretch{-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.layout-align-end,.layout-align-end-center,.layout-align-end-end,.layout-align-end-start,.layout-align-end-stretch{-webkit-box-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.layout-align-space-around,.layout-align-space-around-center,.layout-align-space-around-end,.layout-align-space-around-start,.layout-align-space-around-stretch{-webkit-justify-content:space-around;justify-content:space-around}.layout-align-space-between,.layout-align-space-between-center,.layout-align-space-between-end,.layout-align-space-between-start,.layout-align-space-between-stretch{-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.layout-align-center-start,.layout-align-end-start,.layout-align-space-around-start,.layout-align-space-between-start,.layout-align-start-start{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-grid-row-align:flex-start;align-items:flex-start;-webkit-align-content:flex-start;align-content:flex-start}.layout-align-center-center,.layout-align-end-center,.layout-align-space-around-center,.layout-align-space-between-center,.layout-align-start-center{-webkit-box-align:center;-webkit-align-items:center;-ms-grid-row-align:center;align-items:center;-webkit-align-content:center;align-content:center;max-width:100%}.layout-align-center-center>*,.layout-align-end-center>*,.layout-align-space-around-center>*,.layout-align-space-between-center>*,.layout-align-start-center>*{max-width:100%;box-sizing:border-box}.flex-0,.layout-row>.flex-0{max-width:0%;max-height:100%}.layout-align-center-end,.layout-align-end-end,.layout-align-space-around-end,.layout-align-space-between-end,.layout-align-start-end{-webkit-box-align:end;-webkit-align-items:flex-end;-ms-grid-row-align:flex-end;align-items:flex-end;-webkit-align-content:flex-end;align-content:flex-end}.layout-align-center-stretch,.layout-align-end-stretch,.layout-align-space-around-stretch,.layout-align-space-between-stretch,.layout-align-start-stretch{-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-grid-row-align:stretch;align-items:stretch;-webkit-align-content:stretch;align-content:stretch}.flex{-webkit-box-flex:1;-webkit-flex:1;flex:1;box-sizing:border-box}.flex-grow{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.flex-initial{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-auto{-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto;box-sizing:border-box}.flex-none{-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto;box-sizing:border-box}.flex-0,.flex-noshrink{-webkit-box-flex:1;box-sizing:border-box}.flex-noshrink{-webkit-flex:1 0 auto;flex:1 0 auto}.flex-nogrow{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-0{-webkit-flex:1 1 0%;flex:1 1 0%}.layout-row>.flex-0{-webkit-box-flex:1;-webkit-flex:1 1 0%;flex:1 1 0%;box-sizing:border-box;min-width:0}.layout-column>.flex-0{-webkit-box-flex:1;-webkit-flex:1 1 0%;flex:1 1 0%;max-width:100%;max-height:0%;box-sizing:border-box;min-height:0}.flex-5,.layout-row>.flex-5{-webkit-box-flex:1;max-width:5%;max-height:100%;box-sizing:border-box}.flex-5{-webkit-flex:1 1 5%;flex:1 1 5%}.layout-row>.flex-5{-webkit-flex:1 1 5%;flex:1 1 5%}.layout-column>.flex-5{-webkit-box-flex:1;-webkit-flex:1 1 5%;flex:1 1 5%;max-width:100%;max-height:5%;box-sizing:border-box}.flex-10,.layout-row>.flex-10{max-width:10%;max-height:100%;box-sizing:border-box}.flex-10{-webkit-box-flex:1;-webkit-flex:1 1 10%;flex:1 1 10%}.layout-row>.flex-10{-webkit-box-flex:1;-webkit-flex:1 1 10%;flex:1 1 10%}.layout-column>.flex-10{-webkit-box-flex:1;-webkit-flex:1 1 10%;flex:1 1 10%;max-width:100%;max-height:10%;box-sizing:border-box}.flex-15,.layout-row>.flex-15{-webkit-box-flex:1;max-width:15%;max-height:100%;box-sizing:border-box}.flex-15{-webkit-flex:1 1 15%;flex:1 1 15%}.layout-row>.flex-15{-webkit-flex:1 1 15%;flex:1 1 15%}.layout-column>.flex-15{-webkit-box-flex:1;-webkit-flex:1 1 15%;flex:1 1 15%;max-width:100%;max-height:15%;box-sizing:border-box}.flex-20,.layout-row>.flex-20{max-width:20%;max-height:100%;box-sizing:border-box}.flex-20{-webkit-box-flex:1;-webkit-flex:1 1 20%;flex:1 1 20%}.layout-row>.flex-20{-webkit-box-flex:1;-webkit-flex:1 1 20%;flex:1 1 20%}.layout-column>.flex-20{-webkit-box-flex:1;-webkit-flex:1 1 20%;flex:1 1 20%;max-width:100%;max-height:20%;box-sizing:border-box}.flex-25,.layout-row>.flex-25{-webkit-box-flex:1;max-width:25%;max-height:100%;box-sizing:border-box}.flex-25{-webkit-flex:1 1 25%;flex:1 1 25%}.layout-row>.flex-25{-webkit-flex:1 1 25%;flex:1 1 25%}.layout-column>.flex-25{-webkit-box-flex:1;-webkit-flex:1 1 25%;flex:1 1 25%;max-width:100%;max-height:25%;box-sizing:border-box}.flex-30,.layout-row>.flex-30{max-width:30%;max-height:100%;box-sizing:border-box}.flex-30{-webkit-box-flex:1;-webkit-flex:1 1 30%;flex:1 1 30%}.layout-row>.flex-30{-webkit-box-flex:1;-webkit-flex:1 1 30%;flex:1 1 30%}.layout-column>.flex-30{-webkit-box-flex:1;-webkit-flex:1 1 30%;flex:1 1 30%;max-width:100%;max-height:30%;box-sizing:border-box}.flex-35,.layout-row>.flex-35{-webkit-box-flex:1;max-width:35%;max-height:100%;box-sizing:border-box}.flex-35{-webkit-flex:1 1 35%;flex:1 1 35%}.layout-row>.flex-35{-webkit-flex:1 1 35%;flex:1 1 35%}.layout-column>.flex-35{-webkit-box-flex:1;-webkit-flex:1 1 35%;flex:1 1 35%;max-width:100%;max-height:35%;box-sizing:border-box}.flex-40,.layout-row>.flex-40{max-width:40%;max-height:100%;box-sizing:border-box}.flex-40{-webkit-box-flex:1;-webkit-flex:1 1 40%;flex:1 1 40%}.layout-row>.flex-40{-webkit-box-flex:1;-webkit-flex:1 1 40%;flex:1 1 40%}.layout-column>.flex-40{-webkit-box-flex:1;-webkit-flex:1 1 40%;flex:1 1 40%;max-width:100%;max-height:40%;box-sizing:border-box}.flex-45,.layout-row>.flex-45{-webkit-box-flex:1;max-width:45%;max-height:100%;box-sizing:border-box}.flex-45{-webkit-flex:1 1 45%;flex:1 1 45%}.layout-row>.flex-45{-webkit-flex:1 1 45%;flex:1 1 45%}.layout-column>.flex-45{-webkit-box-flex:1;-webkit-flex:1 1 45%;flex:1 1 45%;max-width:100%;max-height:45%;box-sizing:border-box}.flex-50,.layout-row>.flex-50{max-width:50%;max-height:100%;box-sizing:border-box}.flex-50{-webkit-box-flex:1;-webkit-flex:1 1 50%;flex:1 1 50%}.layout-row>.flex-50{-webkit-box-flex:1;-webkit-flex:1 1 50%;flex:1 1 50%}.layout-column>.flex-50{-webkit-box-flex:1;-webkit-flex:1 1 50%;flex:1 1 50%;max-width:100%;max-height:50%;box-sizing:border-box}.flex-55,.layout-row>.flex-55{-webkit-box-flex:1;max-width:55%;max-height:100%;box-sizing:border-box}.flex-55{-webkit-flex:1 1 55%;flex:1 1 55%}.layout-row>.flex-55{-webkit-flex:1 1 55%;flex:1 1 55%}.layout-column>.flex-55{-webkit-box-flex:1;-webkit-flex:1 1 55%;flex:1 1 55%;max-width:100%;max-height:55%;box-sizing:border-box}.flex-60,.layout-row>.flex-60{max-width:60%;max-height:100%;box-sizing:border-box}.flex-60{-webkit-box-flex:1;-webkit-flex:1 1 60%;flex:1 1 60%}.layout-row>.flex-60{-webkit-box-flex:1;-webkit-flex:1 1 60%;flex:1 1 60%}.layout-column>.flex-60{-webkit-box-flex:1;-webkit-flex:1 1 60%;flex:1 1 60%;max-width:100%;max-height:60%;box-sizing:border-box}.flex-65,.layout-row>.flex-65{-webkit-box-flex:1;max-width:65%;max-height:100%;box-sizing:border-box}.flex-65{-webkit-flex:1 1 65%;flex:1 1 65%}.layout-row>.flex-65{-webkit-flex:1 1 65%;flex:1 1 65%}.layout-column>.flex-65{-webkit-box-flex:1;-webkit-flex:1 1 65%;flex:1 1 65%;max-width:100%;max-height:65%;box-sizing:border-box}.flex-70,.layout-row>.flex-70{max-width:70%;max-height:100%;box-sizing:border-box}.flex-70{-webkit-box-flex:1;-webkit-flex:1 1 70%;flex:1 1 70%}.layout-row>.flex-70{-webkit-box-flex:1;-webkit-flex:1 1 70%;flex:1 1 70%}.layout-column>.flex-70{-webkit-box-flex:1;-webkit-flex:1 1 70%;flex:1 1 70%;max-width:100%;max-height:70%;box-sizing:border-box}.flex-75,.layout-row>.flex-75{-webkit-box-flex:1;max-width:75%;max-height:100%;box-sizing:border-box}.flex-75{-webkit-flex:1 1 75%;flex:1 1 75%}.layout-row>.flex-75{-webkit-flex:1 1 75%;flex:1 1 75%}.layout-column>.flex-75{-webkit-box-flex:1;-webkit-flex:1 1 75%;flex:1 1 75%;max-width:100%;max-height:75%;box-sizing:border-box}.flex-80,.layout-row>.flex-80{max-width:80%;max-height:100%;box-sizing:border-box}.flex-80{-webkit-box-flex:1;-webkit-flex:1 1 80%;flex:1 1 80%}.layout-row>.flex-80{-webkit-box-flex:1;-webkit-flex:1 1 80%;flex:1 1 80%}.layout-column>.flex-80{-webkit-box-flex:1;-webkit-flex:1 1 80%;flex:1 1 80%;max-width:100%;max-height:80%;box-sizing:border-box}.flex-85,.layout-row>.flex-85{-webkit-box-flex:1;max-width:85%;max-height:100%;box-sizing:border-box}.flex-85{-webkit-flex:1 1 85%;flex:1 1 85%}.layout-row>.flex-85{-webkit-flex:1 1 85%;flex:1 1 85%}.layout-column>.flex-85{-webkit-box-flex:1;-webkit-flex:1 1 85%;flex:1 1 85%;max-width:100%;max-height:85%;box-sizing:border-box}.flex-90,.layout-row>.flex-90{max-width:90%;max-height:100%;box-sizing:border-box}.flex-90{-webkit-box-flex:1;-webkit-flex:1 1 90%;flex:1 1 90%}.layout-row>.flex-90{-webkit-box-flex:1;-webkit-flex:1 1 90%;flex:1 1 90%}.layout-column>.flex-90{-webkit-box-flex:1;-webkit-flex:1 1 90%;flex:1 1 90%;max-width:100%;max-height:90%;box-sizing:border-box}.flex-95,.layout-row>.flex-95{-webkit-box-flex:1;max-width:95%;max-height:100%;box-sizing:border-box}.flex-95{-webkit-flex:1 1 95%;flex:1 1 95%}.layout-row>.flex-95{-webkit-flex:1 1 95%;flex:1 1 95%}.flex-100,.layout-column>.flex-95{-webkit-box-flex:1;max-width:100%}.layout-column>.flex-95{-webkit-flex:1 1 95%;flex:1 1 95%;max-height:95%;box-sizing:border-box}.flex-100,.layout-row>.flex-33,.layout-row>.flex-66{max-height:100%;box-sizing:border-box}.flex-100{-webkit-flex:1 1 100%;flex:1 1 100%}.layout-column>.flex-100,.layout-row>.flex-100{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-row>.flex-33{-webkit-box-flex:1;-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:33.33%}.layout-row>.flex-66{-webkit-box-flex:1;-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:66.66%}.layout-row>.flex{min-width:0}.layout-column>.flex-33{-webkit-box-flex:1;-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:100%;max-height:33.33%;box-sizing:border-box}.layout-column>.flex-66{-webkit-box-flex:1;-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:100%;max-height:66.66%;box-sizing:border-box}.layout-column>.flex{min-height:0}.layout,.layout-column,.layout-row{box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:flex}.layout-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column}.layout-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}.layout-padding-sm>*,.layout-padding>.flex-sm{padding:4px}.layout-padding,.layout-padding-gt-sm,.layout-padding-gt-sm>*,.layout-padding-md,.layout-padding-md>*,.layout-padding>*,.layout-padding>.flex,.layout-padding>.flex-gt-sm,.layout-padding>.flex-md{padding:8px}.layout-padding-gt-lg>*,.layout-padding-gt-md>*,.layout-padding-lg>*,.layout-padding>.flex-gt-lg,.layout-padding>.flex-gt-md,.layout-padding>.flex-lg{padding:16px}.layout-margin-sm>*,.layout-margin>.flex-sm{margin:4px}.layout-margin,.layout-margin-gt-sm,.layout-margin-gt-sm>*,.layout-margin-md,.layout-margin-md>*,.layout-margin>*,.layout-margin>.flex,.layout-margin>.flex-gt-sm,.layout-margin>.flex-md{margin:8px}.layout-margin-gt-lg>*,.layout-margin-gt-md>*,.layout-margin-lg>*,.layout-margin>.flex-gt-lg,.layout-margin>.flex-gt-md,.layout-margin>.flex-lg{margin:16px}.layout-wrap{-webkit-flex-wrap:wrap;flex-wrap:wrap}.layout-nowrap{-webkit-flex-wrap:nowrap;flex-wrap:nowrap}.layout-fill{margin:0;width:100%;min-height:100%;height:100%}@media (max-width:599px){.flex-xs,.flex-xs-auto,.flex-xs-grow,.flex-xs-initial,.flex-xs-none,.flex-xs-noshrink{box-sizing:border-box}.hide-xs:not(.show-xs):not(.show),.hide:not(.show-xs):not(.show){display:none}.flex-order-xs--20{-webkit-box-ordinal-group:-19;-webkit-order:-20;order:-20}.flex-order-xs--19{-webkit-box-ordinal-group:-18;-webkit-order:-19;order:-19}.flex-order-xs--18{-webkit-box-ordinal-group:-17;-webkit-order:-18;order:-18}.flex-order-xs--17{-webkit-box-ordinal-group:-16;-webkit-order:-17;order:-17}.flex-order-xs--16{-webkit-box-ordinal-group:-15;-webkit-order:-16;order:-16}.flex-order-xs--15{-webkit-box-ordinal-group:-14;-webkit-order:-15;order:-15}.flex-order-xs--14{-webkit-box-ordinal-group:-13;-webkit-order:-14;order:-14}.flex-order-xs--13{-webkit-box-ordinal-group:-12;-webkit-order:-13;order:-13}.flex-order-xs--12{-webkit-box-ordinal-group:-11;-webkit-order:-12;order:-12}.flex-order-xs--11{-webkit-box-ordinal-group:-10;-webkit-order:-11;order:-11}.flex-order-xs--10{-webkit-box-ordinal-group:-9;-webkit-order:-10;order:-10}.flex-order-xs--9{-webkit-box-ordinal-group:-8;-webkit-order:-9;order:-9}.flex-order-xs--8{-webkit-box-ordinal-group:-7;-webkit-order:-8;order:-8}.flex-order-xs--7{-webkit-box-ordinal-group:-6;-webkit-order:-7;order:-7}.flex-order-xs--6{-webkit-box-ordinal-group:-5;-webkit-order:-6;order:-6}.flex-order-xs--5{-webkit-box-ordinal-group:-4;-webkit-order:-5;order:-5}.flex-order-xs--4{-webkit-box-ordinal-group:-3;-webkit-order:-4;order:-4}.flex-order-xs--3{-webkit-box-ordinal-group:-2;-webkit-order:-3;order:-3}.flex-order-xs--2{-webkit-box-ordinal-group:-1;-webkit-order:-2;order:-2}.flex-order-xs--1{-webkit-box-ordinal-group:0;-webkit-order:-1;order:-1}.flex-order-xs-0{-webkit-box-ordinal-group:1;-webkit-order:0;order:0}.flex-order-xs-1{-webkit-box-ordinal-group:2;-webkit-order:1;order:1}.flex-order-xs-2{-webkit-box-ordinal-group:3;-webkit-order:2;order:2}.flex-order-xs-3{-webkit-box-ordinal-group:4;-webkit-order:3;order:3}.flex-order-xs-4{-webkit-box-ordinal-group:5;-webkit-order:4;order:4}.flex-order-xs-5{-webkit-box-ordinal-group:6;-webkit-order:5;order:5}.flex-order-xs-6{-webkit-box-ordinal-group:7;-webkit-order:6;order:6}.flex-order-xs-7{-webkit-box-ordinal-group:8;-webkit-order:7;order:7}.flex-order-xs-8{-webkit-box-ordinal-group:9;-webkit-order:8;order:8}.flex-order-xs-9{-webkit-box-ordinal-group:10;-webkit-order:9;order:9}.flex-order-xs-10{-webkit-box-ordinal-group:11;-webkit-order:10;order:10}.flex-order-xs-11{-webkit-box-ordinal-group:12;-webkit-order:11;order:11}.flex-order-xs-12{-webkit-box-ordinal-group:13;-webkit-order:12;order:12}.flex-order-xs-13{-webkit-box-ordinal-group:14;-webkit-order:13;order:13}.flex-order-xs-14{-webkit-box-ordinal-group:15;-webkit-order:14;order:14}.flex-order-xs-15{-webkit-box-ordinal-group:16;-webkit-order:15;order:15}.flex-order-xs-16{-webkit-box-ordinal-group:17;-webkit-order:16;order:16}.flex-order-xs-17{-webkit-box-ordinal-group:18;-webkit-order:17;order:17}.flex-order-xs-18{-webkit-box-ordinal-group:19;-webkit-order:18;order:18}.flex-order-xs-19{-webkit-box-ordinal-group:20;-webkit-order:19;order:19}.flex-order-xs-20{-webkit-box-ordinal-group:21;-webkit-order:20;order:20}.flex-offset-xs-0,.offset-xs-0{margin-left:0}[dir=rtl] .flex-offset-xs-0,[dir=rtl] .offset-xs-0{margin-left:auto;margin-right:0}.flex-offset-xs-5,.offset-xs-5{margin-left:5%}[dir=rtl] .flex-offset-xs-5,[dir=rtl] .offset-xs-5{margin-left:auto;margin-right:5%}.flex-offset-xs-10,.offset-xs-10{margin-left:10%}[dir=rtl] .flex-offset-xs-10,[dir=rtl] .offset-xs-10{margin-left:auto;margin-right:10%}.flex-offset-xs-15,.offset-xs-15{margin-left:15%}[dir=rtl] .flex-offset-xs-15,[dir=rtl] .offset-xs-15{margin-left:auto;margin-right:15%}.flex-offset-xs-20,.offset-xs-20{margin-left:20%}[dir=rtl] .flex-offset-xs-20,[dir=rtl] .offset-xs-20{margin-left:auto;margin-right:20%}.flex-offset-xs-25,.offset-xs-25{margin-left:25%}[dir=rtl] .flex-offset-xs-25,[dir=rtl] .offset-xs-25{margin-left:auto;margin-right:25%}.flex-offset-xs-30,.offset-xs-30{margin-left:30%}[dir=rtl] .flex-offset-xs-30,[dir=rtl] .offset-xs-30{margin-left:auto;margin-right:30%}.flex-offset-xs-35,.offset-xs-35{margin-left:35%}[dir=rtl] .flex-offset-xs-35,[dir=rtl] .offset-xs-35{margin-left:auto;margin-right:35%}.flex-offset-xs-40,.offset-xs-40{margin-left:40%}[dir=rtl] .flex-offset-xs-40,[dir=rtl] .offset-xs-40{margin-left:auto;margin-right:40%}.flex-offset-xs-45,.offset-xs-45{margin-left:45%}[dir=rtl] .flex-offset-xs-45,[dir=rtl] .offset-xs-45{margin-left:auto;margin-right:45%}.flex-offset-xs-50,.offset-xs-50{margin-left:50%}[dir=rtl] .flex-offset-xs-50,[dir=rtl] .offset-xs-50{margin-left:auto;margin-right:50%}.flex-offset-xs-55,.offset-xs-55{margin-left:55%}[dir=rtl] .flex-offset-xs-55,[dir=rtl] .offset-xs-55{margin-left:auto;margin-right:55%}.flex-offset-xs-60,.offset-xs-60{margin-left:60%}[dir=rtl] .flex-offset-xs-60,[dir=rtl] .offset-xs-60{margin-left:auto;margin-right:60%}.flex-offset-xs-65,.offset-xs-65{margin-left:65%}[dir=rtl] .flex-offset-xs-65,[dir=rtl] .offset-xs-65{margin-left:auto;margin-right:65%}.flex-offset-xs-70,.offset-xs-70{margin-left:70%}[dir=rtl] .flex-offset-xs-70,[dir=rtl] .offset-xs-70{margin-left:auto;margin-right:70%}.flex-offset-xs-75,.offset-xs-75{margin-left:75%}[dir=rtl] .flex-offset-xs-75,[dir=rtl] .offset-xs-75{margin-left:auto;margin-right:75%}.flex-offset-xs-80,.offset-xs-80{margin-left:80%}[dir=rtl] .flex-offset-xs-80,[dir=rtl] .offset-xs-80{margin-left:auto;margin-right:80%}.flex-offset-xs-85,.offset-xs-85{margin-left:85%}[dir=rtl] .flex-offset-xs-85,[dir=rtl] .offset-xs-85{margin-left:auto;margin-right:85%}.flex-offset-xs-90,.offset-xs-90{margin-left:90%}[dir=rtl] .flex-offset-xs-90,[dir=rtl] .offset-xs-90{margin-left:auto;margin-right:90%}.flex-offset-xs-95,.offset-xs-95{margin-left:95%}[dir=rtl] .flex-offset-xs-95,[dir=rtl] .offset-xs-95{margin-left:auto;margin-right:95%}.flex-offset-xs-33,.offset-xs-33{margin-left:calc(100% / 3)}.flex-offset-xs-66,.offset-xs-66{margin-left:calc(200% / 3)}[dir=rtl] .flex-offset-xs-66,[dir=rtl] .offset-xs-66{margin-left:auto;margin-right:calc(200% / 3)}.layout-align-xs,.layout-align-xs-start-stretch{-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;-webkit-align-content:stretch;align-content:stretch;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-grid-row-align:stretch;align-items:stretch}.layout-align-xs-start,.layout-align-xs-start-center,.layout-align-xs-start-end,.layout-align-xs-start-start,.layout-align-xs-start-stretch{-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.layout-align-xs-center,.layout-align-xs-center-center,.layout-align-xs-center-end,.layout-align-xs-center-start,.layout-align-xs-center-stretch{-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.layout-align-xs-end,.layout-align-xs-end-center,.layout-align-xs-end-end,.layout-align-xs-end-start,.layout-align-xs-end-stretch{-webkit-box-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.layout-align-xs-space-around,.layout-align-xs-space-around-center,.layout-align-xs-space-around-end,.layout-align-xs-space-around-start,.layout-align-xs-space-around-stretch{-webkit-justify-content:space-around;justify-content:space-around}.layout-align-xs-space-between,.layout-align-xs-space-between-center,.layout-align-xs-space-between-end,.layout-align-xs-space-between-start,.layout-align-xs-space-between-stretch{-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.layout-align-xs-center-start,.layout-align-xs-end-start,.layout-align-xs-space-around-start,.layout-align-xs-space-between-start,.layout-align-xs-start-start{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-grid-row-align:flex-start;align-items:flex-start;-webkit-align-content:flex-start;align-content:flex-start}.layout-align-xs-center-center,.layout-align-xs-end-center,.layout-align-xs-space-around-center,.layout-align-xs-space-between-center,.layout-align-xs-start-center{-webkit-box-align:center;-webkit-align-items:center;-ms-grid-row-align:center;align-items:center;-webkit-align-content:center;align-content:center;max-width:100%}.layout-align-xs-center-center>*,.layout-align-xs-end-center>*,.layout-align-xs-space-around-center>*,.layout-align-xs-space-between-center>*,.layout-align-xs-start-center>*{max-width:100%;box-sizing:border-box}.layout-align-xs-center-end,.layout-align-xs-end-end,.layout-align-xs-space-around-end,.layout-align-xs-space-between-end,.layout-align-xs-start-end{-webkit-box-align:end;-webkit-align-items:flex-end;-ms-grid-row-align:flex-end;align-items:flex-end;-webkit-align-content:flex-end;align-content:flex-end}.layout-align-xs-center-stretch,.layout-align-xs-end-stretch,.layout-align-xs-space-around-stretch,.layout-align-xs-space-between-stretch,.layout-align-xs-start-stretch{-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-grid-row-align:stretch;align-items:stretch;-webkit-align-content:stretch;align-content:stretch}.flex-xs{-webkit-box-flex:1;-webkit-flex:1;flex:1}.flex-xs-grow{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%}.flex-xs-initial{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto}.flex-xs-auto{-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto}.flex-xs-none{-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto}.flex-xs-noshrink{-webkit-box-flex:1;-webkit-flex:1 0 auto;flex:1 0 auto}.flex-xs-nogrow{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-xs-0,.layout-row>.flex-xs-0{-webkit-box-flex:1;max-width:0%;max-height:100%;box-sizing:border-box}.flex-xs-0{-webkit-flex:1 1 0%;flex:1 1 0%}.layout-row>.flex-xs-0{-webkit-flex:1 1 0%;flex:1 1 0%;min-width:0}.layout-column>.flex-xs-0{-webkit-box-flex:1;-webkit-flex:1 1 0%;flex:1 1 0%;max-width:100%;max-height:0%;box-sizing:border-box}.layout-xs-row>.flex-xs-0{-webkit-box-flex:1;-webkit-flex:1 1 0%;flex:1 1 0%;max-width:0%;max-height:100%;box-sizing:border-box;min-width:0}.layout-xs-column>.flex-xs-0{-webkit-box-flex:1;-webkit-flex:1 1 0%;flex:1 1 0%;max-width:100%;max-height:0%;box-sizing:border-box;min-height:0}.flex-xs-5,.layout-row>.flex-xs-5{-webkit-box-flex:1;-webkit-flex:1 1 5%;flex:1 1 5%;max-width:5%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-5{-webkit-box-flex:1;-webkit-flex:1 1 5%;flex:1 1 5%;max-width:100%;max-height:5%;box-sizing:border-box}.layout-xs-row>.flex-xs-5{-webkit-box-flex:1;-webkit-flex:1 1 5%;flex:1 1 5%;max-width:5%;max-height:100%;box-sizing:border-box}.layout-xs-column>.flex-xs-5{-webkit-box-flex:1;-webkit-flex:1 1 5%;flex:1 1 5%;max-width:100%;max-height:5%;box-sizing:border-box}.flex-xs-10,.layout-row>.flex-xs-10{-webkit-box-flex:1;-webkit-flex:1 1 10%;flex:1 1 10%;max-width:10%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-10{-webkit-box-flex:1;-webkit-flex:1 1 10%;flex:1 1 10%;max-width:100%;max-height:10%;box-sizing:border-box}.layout-xs-row>.flex-xs-10{-webkit-box-flex:1;-webkit-flex:1 1 10%;flex:1 1 10%;max-width:10%;max-height:100%;box-sizing:border-box}.layout-xs-column>.flex-xs-10{-webkit-box-flex:1;-webkit-flex:1 1 10%;flex:1 1 10%;max-width:100%;max-height:10%;box-sizing:border-box}.flex-xs-15,.layout-row>.flex-xs-15{-webkit-box-flex:1;-webkit-flex:1 1 15%;flex:1 1 15%;max-width:15%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-15{-webkit-box-flex:1;-webkit-flex:1 1 15%;flex:1 1 15%;max-width:100%;max-height:15%;box-sizing:border-box}.layout-xs-row>.flex-xs-15{-webkit-box-flex:1;-webkit-flex:1 1 15%;flex:1 1 15%;max-width:15%;max-height:100%;box-sizing:border-box}.layout-xs-column>.flex-xs-15{-webkit-box-flex:1;-webkit-flex:1 1 15%;flex:1 1 15%;max-width:100%;max-height:15%;box-sizing:border-box}.flex-xs-20,.layout-row>.flex-xs-20{-webkit-box-flex:1;-webkit-flex:1 1 20%;flex:1 1 20%;max-width:20%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-20{-webkit-box-flex:1;-webkit-flex:1 1 20%;flex:1 1 20%;max-width:100%;max-height:20%;box-sizing:border-box}.layout-xs-row>.flex-xs-20{-webkit-box-flex:1;-webkit-flex:1 1 20%;flex:1 1 20%;max-width:20%;max-height:100%;box-sizing:border-box}.layout-xs-column>.flex-xs-20{-webkit-box-flex:1;-webkit-flex:1 1 20%;flex:1 1 20%;max-width:100%;max-height:20%;box-sizing:border-box}.flex-xs-25,.layout-row>.flex-xs-25{-webkit-box-flex:1;-webkit-flex:1 1 25%;flex:1 1 25%;max-width:25%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-25{-webkit-box-flex:1;-webkit-flex:1 1 25%;flex:1 1 25%;max-width:100%;max-height:25%;box-sizing:border-box}.layout-xs-row>.flex-xs-25{-webkit-box-flex:1;-webkit-flex:1 1 25%;flex:1 1 25%;max-width:25%;max-height:100%;box-sizing:border-box}.layout-xs-column>.flex-xs-25{-webkit-box-flex:1;-webkit-flex:1 1 25%;flex:1 1 25%;max-width:100%;max-height:25%;box-sizing:border-box}.flex-xs-30,.layout-row>.flex-xs-30{-webkit-box-flex:1;-webkit-flex:1 1 30%;flex:1 1 30%;max-width:30%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-30{-webkit-box-flex:1;-webkit-flex:1 1 30%;flex:1 1 30%;max-width:100%;max-height:30%;box-sizing:border-box}.layout-xs-row>.flex-xs-30{-webkit-box-flex:1;-webkit-flex:1 1 30%;flex:1 1 30%;max-width:30%;max-height:100%;box-sizing:border-box}.layout-xs-column>.flex-xs-30{-webkit-box-flex:1;-webkit-flex:1 1 30%;flex:1 1 30%;max-width:100%;max-height:30%;box-sizing:border-box}.flex-xs-35,.layout-row>.flex-xs-35{-webkit-box-flex:1;-webkit-flex:1 1 35%;flex:1 1 35%;max-width:35%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-35{-webkit-box-flex:1;-webkit-flex:1 1 35%;flex:1 1 35%;max-width:100%;max-height:35%;box-sizing:border-box}.layout-xs-row>.flex-xs-35{-webkit-box-flex:1;-webkit-flex:1 1 35%;flex:1 1 35%;max-width:35%;max-height:100%;box-sizing:border-box}.layout-xs-column>.flex-xs-35{-webkit-box-flex:1;-webkit-flex:1 1 35%;flex:1 1 35%;max-width:100%;max-height:35%;box-sizing:border-box}.flex-xs-40,.layout-row>.flex-xs-40{-webkit-box-flex:1;-webkit-flex:1 1 40%;flex:1 1 40%;max-width:40%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-40{-webkit-box-flex:1;-webkit-flex:1 1 40%;flex:1 1 40%;max-width:100%;max-height:40%;box-sizing:border-box}.layout-xs-row>.flex-xs-40{-webkit-box-flex:1;-webkit-flex:1 1 40%;flex:1 1 40%;max-width:40%;max-height:100%;box-sizing:border-box}.layout-xs-column>.flex-xs-40{-webkit-box-flex:1;-webkit-flex:1 1 40%;flex:1 1 40%;max-width:100%;max-height:40%;box-sizing:border-box}.flex-xs-45,.layout-row>.flex-xs-45{-webkit-box-flex:1;-webkit-flex:1 1 45%;flex:1 1 45%;max-width:45%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-45{-webkit-box-flex:1;-webkit-flex:1 1 45%;flex:1 1 45%;max-width:100%;max-height:45%;box-sizing:border-box}.layout-xs-row>.flex-xs-45{-webkit-box-flex:1;-webkit-flex:1 1 45%;flex:1 1 45%;max-width:45%;max-height:100%;box-sizing:border-box}.layout-xs-column>.flex-xs-45{-webkit-box-flex:1;-webkit-flex:1 1 45%;flex:1 1 45%;max-width:100%;max-height:45%;box-sizing:border-box}.flex-xs-50,.layout-row>.flex-xs-50{-webkit-box-flex:1;-webkit-flex:1 1 50%;flex:1 1 50%;max-width:50%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-50{-webkit-box-flex:1;-webkit-flex:1 1 50%;flex:1 1 50%;max-width:100%;max-height:50%;box-sizing:border-box}.layout-xs-row>.flex-xs-50{-webkit-box-flex:1;-webkit-flex:1 1 50%;flex:1 1 50%;max-width:50%;max-height:100%;box-sizing:border-box}.layout-xs-column>.flex-xs-50{-webkit-box-flex:1;-webkit-flex:1 1 50%;flex:1 1 50%;max-width:100%;max-height:50%;box-sizing:border-box}.flex-xs-55,.layout-row>.flex-xs-55{-webkit-box-flex:1;-webkit-flex:1 1 55%;flex:1 1 55%;max-width:55%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-55{-webkit-box-flex:1;-webkit-flex:1 1 55%;flex:1 1 55%;max-width:100%;max-height:55%;box-sizing:border-box}.layout-xs-row>.flex-xs-55{-webkit-box-flex:1;-webkit-flex:1 1 55%;flex:1 1 55%;max-width:55%;max-height:100%;box-sizing:border-box}.layout-xs-column>.flex-xs-55{-webkit-box-flex:1;-webkit-flex:1 1 55%;flex:1 1 55%;max-width:100%;max-height:55%;box-sizing:border-box}.flex-xs-60,.layout-row>.flex-xs-60{-webkit-box-flex:1;-webkit-flex:1 1 60%;flex:1 1 60%;max-width:60%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-60{-webkit-box-flex:1;-webkit-flex:1 1 60%;flex:1 1 60%;max-width:100%;max-height:60%;box-sizing:border-box}.layout-xs-row>.flex-xs-60{-webkit-box-flex:1;-webkit-flex:1 1 60%;flex:1 1 60%;max-width:60%;max-height:100%;box-sizing:border-box}.layout-xs-column>.flex-xs-60{-webkit-box-flex:1;-webkit-flex:1 1 60%;flex:1 1 60%;max-width:100%;max-height:60%;box-sizing:border-box}.flex-xs-65,.layout-row>.flex-xs-65{-webkit-box-flex:1;-webkit-flex:1 1 65%;flex:1 1 65%;max-width:65%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-65{-webkit-box-flex:1;-webkit-flex:1 1 65%;flex:1 1 65%;max-width:100%;max-height:65%;box-sizing:border-box}.layout-xs-row>.flex-xs-65{-webkit-box-flex:1;-webkit-flex:1 1 65%;flex:1 1 65%;max-width:65%;max-height:100%;box-sizing:border-box}.layout-xs-column>.flex-xs-65{-webkit-box-flex:1;-webkit-flex:1 1 65%;flex:1 1 65%;max-width:100%;max-height:65%;box-sizing:border-box}.flex-xs-70,.layout-row>.flex-xs-70{-webkit-box-flex:1;-webkit-flex:1 1 70%;flex:1 1 70%;max-width:70%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-70{-webkit-box-flex:1;-webkit-flex:1 1 70%;flex:1 1 70%;max-width:100%;max-height:70%;box-sizing:border-box}.layout-xs-row>.flex-xs-70{-webkit-box-flex:1;-webkit-flex:1 1 70%;flex:1 1 70%;max-width:70%;max-height:100%;box-sizing:border-box}.layout-xs-column>.flex-xs-70{-webkit-box-flex:1;-webkit-flex:1 1 70%;flex:1 1 70%;max-width:100%;max-height:70%;box-sizing:border-box}.flex-xs-75,.layout-row>.flex-xs-75{-webkit-box-flex:1;-webkit-flex:1 1 75%;flex:1 1 75%;max-width:75%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-75{-webkit-box-flex:1;-webkit-flex:1 1 75%;flex:1 1 75%;max-width:100%;max-height:75%;box-sizing:border-box}.layout-xs-row>.flex-xs-75{-webkit-box-flex:1;-webkit-flex:1 1 75%;flex:1 1 75%;max-width:75%;max-height:100%;box-sizing:border-box}.layout-xs-column>.flex-xs-75{-webkit-box-flex:1;-webkit-flex:1 1 75%;flex:1 1 75%;max-width:100%;max-height:75%;box-sizing:border-box}.flex-xs-80,.layout-row>.flex-xs-80{-webkit-box-flex:1;-webkit-flex:1 1 80%;flex:1 1 80%;max-width:80%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-80{-webkit-box-flex:1;-webkit-flex:1 1 80%;flex:1 1 80%;max-width:100%;max-height:80%;box-sizing:border-box}.layout-xs-row>.flex-xs-80{-webkit-box-flex:1;-webkit-flex:1 1 80%;flex:1 1 80%;max-width:80%;max-height:100%;box-sizing:border-box}.layout-xs-column>.flex-xs-80{-webkit-box-flex:1;-webkit-flex:1 1 80%;flex:1 1 80%;max-width:100%;max-height:80%;box-sizing:border-box}.flex-xs-85,.layout-row>.flex-xs-85{-webkit-box-flex:1;-webkit-flex:1 1 85%;flex:1 1 85%;max-width:85%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-85{-webkit-box-flex:1;-webkit-flex:1 1 85%;flex:1 1 85%;max-width:100%;max-height:85%;box-sizing:border-box}.layout-xs-row>.flex-xs-85{-webkit-box-flex:1;-webkit-flex:1 1 85%;flex:1 1 85%;max-width:85%;max-height:100%;box-sizing:border-box}.layout-xs-column>.flex-xs-85{-webkit-box-flex:1;-webkit-flex:1 1 85%;flex:1 1 85%;max-width:100%;max-height:85%;box-sizing:border-box}.flex-xs-90,.layout-row>.flex-xs-90{-webkit-box-flex:1;-webkit-flex:1 1 90%;flex:1 1 90%;max-width:90%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-90{-webkit-box-flex:1;-webkit-flex:1 1 90%;flex:1 1 90%;max-width:100%;max-height:90%;box-sizing:border-box}.layout-xs-row>.flex-xs-90{-webkit-box-flex:1;-webkit-flex:1 1 90%;flex:1 1 90%;max-width:90%;max-height:100%;box-sizing:border-box}.layout-xs-column>.flex-xs-90{-webkit-box-flex:1;-webkit-flex:1 1 90%;flex:1 1 90%;max-width:100%;max-height:90%;box-sizing:border-box}.flex-xs-95,.layout-row>.flex-xs-95{-webkit-box-flex:1;-webkit-flex:1 1 95%;flex:1 1 95%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-95{-webkit-box-flex:1;-webkit-flex:1 1 95%;flex:1 1 95%;max-width:100%;max-height:95%;box-sizing:border-box}.layout-xs-row>.flex-xs-95{-webkit-box-flex:1;-webkit-flex:1 1 95%;flex:1 1 95%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-xs-column>.flex-xs-95{-webkit-box-flex:1;-webkit-flex:1 1 95%;flex:1 1 95%;max-width:100%;max-height:95%;box-sizing:border-box}.flex-xs-100,.layout-column>.flex-xs-100,.layout-row>.flex-xs-100{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-row>.flex-xs-33,.layout-row>.flex-xs-66{-webkit-box-flex:1;max-height:100%;box-sizing:border-box}.layout-row>.flex-xs-33{-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:33.33%}.layout-row>.flex-xs-66{-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:66.66%}.layout-column>.flex-xs-33{-webkit-box-flex:1;-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:100%;max-height:33.33%;box-sizing:border-box}.layout-column>.flex-xs-66{-webkit-box-flex:1;-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:100%;max-height:66.66%;box-sizing:border-box}.layout-xs-column>.flex-xs-100,.layout-xs-row>.flex-xs-100{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-xs-row>.flex-xs-33{-webkit-box-flex:1;-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:33.33%;max-height:100%;box-sizing:border-box}.layout-xs-row>.flex-xs-66{-webkit-box-flex:1;-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:66.66%;max-height:100%;box-sizing:border-box}.layout-xs-row>.flex{min-width:0}.layout-xs-column>.flex-xs-33{-webkit-box-flex:1;-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:100%;max-height:33.33%;box-sizing:border-box}.layout-xs-column>.flex-xs-66{-webkit-box-flex:1;-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:100%;max-height:66.66%;box-sizing:border-box}.layout-xs-column>.flex{min-height:0}.layout-xs,.layout-xs-column,.layout-xs-row{box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:flex}.layout-xs-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column}.layout-xs-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}}@media (min-width:600px){.flex-gt-xs,.flex-gt-xs-auto,.flex-gt-xs-grow,.flex-gt-xs-initial,.flex-gt-xs-none,.flex-gt-xs-noshrink{box-sizing:border-box}.flex-order-gt-xs--20{-webkit-box-ordinal-group:-19;-webkit-order:-20;order:-20}.flex-order-gt-xs--19{-webkit-box-ordinal-group:-18;-webkit-order:-19;order:-19}.flex-order-gt-xs--18{-webkit-box-ordinal-group:-17;-webkit-order:-18;order:-18}.flex-order-gt-xs--17{-webkit-box-ordinal-group:-16;-webkit-order:-17;order:-17}.flex-order-gt-xs--16{-webkit-box-ordinal-group:-15;-webkit-order:-16;order:-16}.flex-order-gt-xs--15{-webkit-box-ordinal-group:-14;-webkit-order:-15;order:-15}.flex-order-gt-xs--14{-webkit-box-ordinal-group:-13;-webkit-order:-14;order:-14}.flex-order-gt-xs--13{-webkit-box-ordinal-group:-12;-webkit-order:-13;order:-13}.flex-order-gt-xs--12{-webkit-box-ordinal-group:-11;-webkit-order:-12;order:-12}.flex-order-gt-xs--11{-webkit-box-ordinal-group:-10;-webkit-order:-11;order:-11}.flex-order-gt-xs--10{-webkit-box-ordinal-group:-9;-webkit-order:-10;order:-10}.flex-order-gt-xs--9{-webkit-box-ordinal-group:-8;-webkit-order:-9;order:-9}.flex-order-gt-xs--8{-webkit-box-ordinal-group:-7;-webkit-order:-8;order:-8}.flex-order-gt-xs--7{-webkit-box-ordinal-group:-6;-webkit-order:-7;order:-7}.flex-order-gt-xs--6{-webkit-box-ordinal-group:-5;-webkit-order:-6;order:-6}.flex-order-gt-xs--5{-webkit-box-ordinal-group:-4;-webkit-order:-5;order:-5}.flex-order-gt-xs--4{-webkit-box-ordinal-group:-3;-webkit-order:-4;order:-4}.flex-order-gt-xs--3{-webkit-box-ordinal-group:-2;-webkit-order:-3;order:-3}.flex-order-gt-xs--2{-webkit-box-ordinal-group:-1;-webkit-order:-2;order:-2}.flex-order-gt-xs--1{-webkit-box-ordinal-group:0;-webkit-order:-1;order:-1}.flex-order-gt-xs-0{-webkit-box-ordinal-group:1;-webkit-order:0;order:0}.flex-order-gt-xs-1{-webkit-box-ordinal-group:2;-webkit-order:1;order:1}.flex-order-gt-xs-2{-webkit-box-ordinal-group:3;-webkit-order:2;order:2}.flex-order-gt-xs-3{-webkit-box-ordinal-group:4;-webkit-order:3;order:3}.flex-order-gt-xs-4{-webkit-box-ordinal-group:5;-webkit-order:4;order:4}.flex-order-gt-xs-5{-webkit-box-ordinal-group:6;-webkit-order:5;order:5}.flex-order-gt-xs-6{-webkit-box-ordinal-group:7;-webkit-order:6;order:6}.flex-order-gt-xs-7{-webkit-box-ordinal-group:8;-webkit-order:7;order:7}.flex-order-gt-xs-8{-webkit-box-ordinal-group:9;-webkit-order:8;order:8}.flex-order-gt-xs-9{-webkit-box-ordinal-group:10;-webkit-order:9;order:9}.flex-order-gt-xs-10{-webkit-box-ordinal-group:11;-webkit-order:10;order:10}.flex-order-gt-xs-11{-webkit-box-ordinal-group:12;-webkit-order:11;order:11}.flex-order-gt-xs-12{-webkit-box-ordinal-group:13;-webkit-order:12;order:12}.flex-order-gt-xs-13{-webkit-box-ordinal-group:14;-webkit-order:13;order:13}.flex-order-gt-xs-14{-webkit-box-ordinal-group:15;-webkit-order:14;order:14}.flex-order-gt-xs-15{-webkit-box-ordinal-group:16;-webkit-order:15;order:15}.flex-order-gt-xs-16{-webkit-box-ordinal-group:17;-webkit-order:16;order:16}.flex-order-gt-xs-17{-webkit-box-ordinal-group:18;-webkit-order:17;order:17}.flex-order-gt-xs-18{-webkit-box-ordinal-group:19;-webkit-order:18;order:18}.flex-order-gt-xs-19{-webkit-box-ordinal-group:20;-webkit-order:19;order:19}.flex-order-gt-xs-20{-webkit-box-ordinal-group:21;-webkit-order:20;order:20}.flex-offset-gt-xs-0,.offset-gt-xs-0{margin-left:0}[dir=rtl] .flex-offset-gt-xs-0,[dir=rtl] .offset-gt-xs-0{margin-left:auto;margin-right:0}.flex-offset-gt-xs-5,.offset-gt-xs-5{margin-left:5%}[dir=rtl] .flex-offset-gt-xs-5,[dir=rtl] .offset-gt-xs-5{margin-left:auto;margin-right:5%}.flex-offset-gt-xs-10,.offset-gt-xs-10{margin-left:10%}[dir=rtl] .flex-offset-gt-xs-10,[dir=rtl] .offset-gt-xs-10{margin-left:auto;margin-right:10%}.flex-offset-gt-xs-15,.offset-gt-xs-15{margin-left:15%}[dir=rtl] .flex-offset-gt-xs-15,[dir=rtl] .offset-gt-xs-15{margin-left:auto;margin-right:15%}.flex-offset-gt-xs-20,.offset-gt-xs-20{margin-left:20%}[dir=rtl] .flex-offset-gt-xs-20,[dir=rtl] .offset-gt-xs-20{margin-left:auto;margin-right:20%}.flex-offset-gt-xs-25,.offset-gt-xs-25{margin-left:25%}[dir=rtl] .flex-offset-gt-xs-25,[dir=rtl] .offset-gt-xs-25{margin-left:auto;margin-right:25%}.flex-offset-gt-xs-30,.offset-gt-xs-30{margin-left:30%}[dir=rtl] .flex-offset-gt-xs-30,[dir=rtl] .offset-gt-xs-30{margin-left:auto;margin-right:30%}.flex-offset-gt-xs-35,.offset-gt-xs-35{margin-left:35%}[dir=rtl] .flex-offset-gt-xs-35,[dir=rtl] .offset-gt-xs-35{margin-left:auto;margin-right:35%}.flex-offset-gt-xs-40,.offset-gt-xs-40{margin-left:40%}[dir=rtl] .flex-offset-gt-xs-40,[dir=rtl] .offset-gt-xs-40{margin-left:auto;margin-right:40%}.flex-offset-gt-xs-45,.offset-gt-xs-45{margin-left:45%}[dir=rtl] .flex-offset-gt-xs-45,[dir=rtl] .offset-gt-xs-45{margin-left:auto;margin-right:45%}.flex-offset-gt-xs-50,.offset-gt-xs-50{margin-left:50%}[dir=rtl] .flex-offset-gt-xs-50,[dir=rtl] .offset-gt-xs-50{margin-left:auto;margin-right:50%}.flex-offset-gt-xs-55,.offset-gt-xs-55{margin-left:55%}[dir=rtl] .flex-offset-gt-xs-55,[dir=rtl] .offset-gt-xs-55{margin-left:auto;margin-right:55%}.flex-offset-gt-xs-60,.offset-gt-xs-60{margin-left:60%}[dir=rtl] .flex-offset-gt-xs-60,[dir=rtl] .offset-gt-xs-60{margin-left:auto;margin-right:60%}.flex-offset-gt-xs-65,.offset-gt-xs-65{margin-left:65%}[dir=rtl] .flex-offset-gt-xs-65,[dir=rtl] .offset-gt-xs-65{margin-left:auto;margin-right:65%}.flex-offset-gt-xs-70,.offset-gt-xs-70{margin-left:70%}[dir=rtl] .flex-offset-gt-xs-70,[dir=rtl] .offset-gt-xs-70{margin-left:auto;margin-right:70%}.flex-offset-gt-xs-75,.offset-gt-xs-75{margin-left:75%}[dir=rtl] .flex-offset-gt-xs-75,[dir=rtl] .offset-gt-xs-75{margin-left:auto;margin-right:75%}.flex-offset-gt-xs-80,.offset-gt-xs-80{margin-left:80%}[dir=rtl] .flex-offset-gt-xs-80,[dir=rtl] .offset-gt-xs-80{margin-left:auto;margin-right:80%}.flex-offset-gt-xs-85,.offset-gt-xs-85{margin-left:85%}[dir=rtl] .flex-offset-gt-xs-85,[dir=rtl] .offset-gt-xs-85{margin-left:auto;margin-right:85%}.flex-offset-gt-xs-90,.offset-gt-xs-90{margin-left:90%}[dir=rtl] .flex-offset-gt-xs-90,[dir=rtl] .offset-gt-xs-90{margin-left:auto;margin-right:90%}.flex-offset-gt-xs-95,.offset-gt-xs-95{margin-left:95%}[dir=rtl] .flex-offset-gt-xs-95,[dir=rtl] .offset-gt-xs-95{margin-left:auto;margin-right:95%}.flex-offset-gt-xs-33,.offset-gt-xs-33{margin-left:calc(100% / 3)}.flex-offset-gt-xs-66,.offset-gt-xs-66{margin-left:calc(200% / 3)}[dir=rtl] .flex-offset-gt-xs-66,[dir=rtl] .offset-gt-xs-66{margin-left:auto;margin-right:calc(200% / 3)}.layout-align-gt-xs,.layout-align-gt-xs-start-stretch{-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;-webkit-align-content:stretch;align-content:stretch;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-grid-row-align:stretch;align-items:stretch}.layout-align-gt-xs-start,.layout-align-gt-xs-start-center,.layout-align-gt-xs-start-end,.layout-align-gt-xs-start-start,.layout-align-gt-xs-start-stretch{-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.layout-align-gt-xs-center,.layout-align-gt-xs-center-center,.layout-align-gt-xs-center-end,.layout-align-gt-xs-center-start,.layout-align-gt-xs-center-stretch{-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.layout-align-gt-xs-end,.layout-align-gt-xs-end-center,.layout-align-gt-xs-end-end,.layout-align-gt-xs-end-start,.layout-align-gt-xs-end-stretch{-webkit-box-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.layout-align-gt-xs-space-around,.layout-align-gt-xs-space-around-center,.layout-align-gt-xs-space-around-end,.layout-align-gt-xs-space-around-start,.layout-align-gt-xs-space-around-stretch{-webkit-justify-content:space-around;justify-content:space-around}.layout-align-gt-xs-space-between,.layout-align-gt-xs-space-between-center,.layout-align-gt-xs-space-between-end,.layout-align-gt-xs-space-between-start,.layout-align-gt-xs-space-between-stretch{-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.layout-align-gt-xs-center-start,.layout-align-gt-xs-end-start,.layout-align-gt-xs-space-around-start,.layout-align-gt-xs-space-between-start,.layout-align-gt-xs-start-start{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-grid-row-align:flex-start;align-items:flex-start;-webkit-align-content:flex-start;align-content:flex-start}.layout-align-gt-xs-center-center,.layout-align-gt-xs-end-center,.layout-align-gt-xs-space-around-center,.layout-align-gt-xs-space-between-center,.layout-align-gt-xs-start-center{-webkit-box-align:center;-webkit-align-items:center;-ms-grid-row-align:center;align-items:center;-webkit-align-content:center;align-content:center;max-width:100%}.layout-align-gt-xs-center-center>*,.layout-align-gt-xs-end-center>*,.layout-align-gt-xs-space-around-center>*,.layout-align-gt-xs-space-between-center>*,.layout-align-gt-xs-start-center>*{max-width:100%;box-sizing:border-box}.layout-align-gt-xs-center-end,.layout-align-gt-xs-end-end,.layout-align-gt-xs-space-around-end,.layout-align-gt-xs-space-between-end,.layout-align-gt-xs-start-end{-webkit-box-align:end;-webkit-align-items:flex-end;-ms-grid-row-align:flex-end;align-items:flex-end;-webkit-align-content:flex-end;align-content:flex-end}.layout-align-gt-xs-center-stretch,.layout-align-gt-xs-end-stretch,.layout-align-gt-xs-space-around-stretch,.layout-align-gt-xs-space-between-stretch,.layout-align-gt-xs-start-stretch{-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-grid-row-align:stretch;align-items:stretch;-webkit-align-content:stretch;align-content:stretch}.flex-gt-xs{-webkit-box-flex:1;-webkit-flex:1;flex:1}.flex-gt-xs-grow{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%}.flex-gt-xs-initial{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto}.flex-gt-xs-auto{-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto}.flex-gt-xs-none{-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto}.flex-gt-xs-noshrink{-webkit-box-flex:1;-webkit-flex:1 0 auto;flex:1 0 auto}.flex-gt-xs-nogrow{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-gt-xs-0,.layout-row>.flex-gt-xs-0{-webkit-box-flex:1;max-width:0%;max-height:100%;box-sizing:border-box}.flex-gt-xs-0{-webkit-flex:1 1 0%;flex:1 1 0%}.layout-row>.flex-gt-xs-0{-webkit-flex:1 1 0%;flex:1 1 0%;min-width:0}.layout-column>.flex-gt-xs-0{-webkit-box-flex:1;-webkit-flex:1 1 0%;flex:1 1 0%;max-width:100%;max-height:0%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-0{-webkit-box-flex:1;-webkit-flex:1 1 0%;flex:1 1 0%;max-width:0%;max-height:100%;box-sizing:border-box;min-width:0}.layout-gt-xs-column>.flex-gt-xs-0{-webkit-box-flex:1;-webkit-flex:1 1 0%;flex:1 1 0%;max-width:100%;max-height:0%;box-sizing:border-box;min-height:0}.flex-gt-xs-5,.layout-row>.flex-gt-xs-5{-webkit-box-flex:1;-webkit-flex:1 1 5%;flex:1 1 5%;max-width:5%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-5{-webkit-box-flex:1;-webkit-flex:1 1 5%;flex:1 1 5%;max-width:100%;max-height:5%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-5{-webkit-box-flex:1;-webkit-flex:1 1 5%;flex:1 1 5%;max-width:5%;max-height:100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-5{-webkit-box-flex:1;-webkit-flex:1 1 5%;flex:1 1 5%;max-width:100%;max-height:5%;box-sizing:border-box}.flex-gt-xs-10,.layout-row>.flex-gt-xs-10{-webkit-box-flex:1;-webkit-flex:1 1 10%;flex:1 1 10%;max-width:10%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-10{-webkit-box-flex:1;-webkit-flex:1 1 10%;flex:1 1 10%;max-width:100%;max-height:10%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-10{-webkit-box-flex:1;-webkit-flex:1 1 10%;flex:1 1 10%;max-width:10%;max-height:100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-10{-webkit-box-flex:1;-webkit-flex:1 1 10%;flex:1 1 10%;max-width:100%;max-height:10%;box-sizing:border-box}.flex-gt-xs-15,.layout-row>.flex-gt-xs-15{-webkit-box-flex:1;-webkit-flex:1 1 15%;flex:1 1 15%;max-width:15%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-15{-webkit-box-flex:1;-webkit-flex:1 1 15%;flex:1 1 15%;max-width:100%;max-height:15%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-15{-webkit-box-flex:1;-webkit-flex:1 1 15%;flex:1 1 15%;max-width:15%;max-height:100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-15{-webkit-box-flex:1;-webkit-flex:1 1 15%;flex:1 1 15%;max-width:100%;max-height:15%;box-sizing:border-box}.flex-gt-xs-20,.layout-row>.flex-gt-xs-20{-webkit-box-flex:1;-webkit-flex:1 1 20%;flex:1 1 20%;max-width:20%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-20{-webkit-box-flex:1;-webkit-flex:1 1 20%;flex:1 1 20%;max-width:100%;max-height:20%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-20{-webkit-box-flex:1;-webkit-flex:1 1 20%;flex:1 1 20%;max-width:20%;max-height:100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-20{-webkit-box-flex:1;-webkit-flex:1 1 20%;flex:1 1 20%;max-width:100%;max-height:20%;box-sizing:border-box}.flex-gt-xs-25,.layout-row>.flex-gt-xs-25{-webkit-box-flex:1;-webkit-flex:1 1 25%;flex:1 1 25%;max-width:25%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-25{-webkit-box-flex:1;-webkit-flex:1 1 25%;flex:1 1 25%;max-width:100%;max-height:25%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-25{-webkit-box-flex:1;-webkit-flex:1 1 25%;flex:1 1 25%;max-width:25%;max-height:100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-25{-webkit-box-flex:1;-webkit-flex:1 1 25%;flex:1 1 25%;max-width:100%;max-height:25%;box-sizing:border-box}.flex-gt-xs-30,.layout-row>.flex-gt-xs-30{-webkit-box-flex:1;-webkit-flex:1 1 30%;flex:1 1 30%;max-width:30%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-30{-webkit-box-flex:1;-webkit-flex:1 1 30%;flex:1 1 30%;max-width:100%;max-height:30%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-30{-webkit-box-flex:1;-webkit-flex:1 1 30%;flex:1 1 30%;max-width:30%;max-height:100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-30{-webkit-box-flex:1;-webkit-flex:1 1 30%;flex:1 1 30%;max-width:100%;max-height:30%;box-sizing:border-box}.flex-gt-xs-35,.layout-row>.flex-gt-xs-35{-webkit-box-flex:1;-webkit-flex:1 1 35%;flex:1 1 35%;max-width:35%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-35{-webkit-box-flex:1;-webkit-flex:1 1 35%;flex:1 1 35%;max-width:100%;max-height:35%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-35{-webkit-box-flex:1;-webkit-flex:1 1 35%;flex:1 1 35%;max-width:35%;max-height:100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-35{-webkit-box-flex:1;-webkit-flex:1 1 35%;flex:1 1 35%;max-width:100%;max-height:35%;box-sizing:border-box}.flex-gt-xs-40,.layout-row>.flex-gt-xs-40{-webkit-box-flex:1;-webkit-flex:1 1 40%;flex:1 1 40%;max-width:40%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-40{-webkit-box-flex:1;-webkit-flex:1 1 40%;flex:1 1 40%;max-width:100%;max-height:40%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-40{-webkit-box-flex:1;-webkit-flex:1 1 40%;flex:1 1 40%;max-width:40%;max-height:100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-40{-webkit-box-flex:1;-webkit-flex:1 1 40%;flex:1 1 40%;max-width:100%;max-height:40%;box-sizing:border-box}.flex-gt-xs-45,.layout-row>.flex-gt-xs-45{-webkit-box-flex:1;-webkit-flex:1 1 45%;flex:1 1 45%;max-width:45%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-45{-webkit-box-flex:1;-webkit-flex:1 1 45%;flex:1 1 45%;max-width:100%;max-height:45%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-45{-webkit-box-flex:1;-webkit-flex:1 1 45%;flex:1 1 45%;max-width:45%;max-height:100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-45{-webkit-box-flex:1;-webkit-flex:1 1 45%;flex:1 1 45%;max-width:100%;max-height:45%;box-sizing:border-box}.flex-gt-xs-50,.layout-row>.flex-gt-xs-50{-webkit-box-flex:1;-webkit-flex:1 1 50%;flex:1 1 50%;max-width:50%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-50{-webkit-box-flex:1;-webkit-flex:1 1 50%;flex:1 1 50%;max-width:100%;max-height:50%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-50{-webkit-box-flex:1;-webkit-flex:1 1 50%;flex:1 1 50%;max-width:50%;max-height:100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-50{-webkit-box-flex:1;-webkit-flex:1 1 50%;flex:1 1 50%;max-width:100%;max-height:50%;box-sizing:border-box}.flex-gt-xs-55,.layout-row>.flex-gt-xs-55{-webkit-box-flex:1;-webkit-flex:1 1 55%;flex:1 1 55%;max-width:55%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-55{-webkit-box-flex:1;-webkit-flex:1 1 55%;flex:1 1 55%;max-width:100%;max-height:55%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-55{-webkit-box-flex:1;-webkit-flex:1 1 55%;flex:1 1 55%;max-width:55%;max-height:100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-55{-webkit-box-flex:1;-webkit-flex:1 1 55%;flex:1 1 55%;max-width:100%;max-height:55%;box-sizing:border-box}.flex-gt-xs-60,.layout-row>.flex-gt-xs-60{-webkit-box-flex:1;-webkit-flex:1 1 60%;flex:1 1 60%;max-width:60%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-60{-webkit-box-flex:1;-webkit-flex:1 1 60%;flex:1 1 60%;max-width:100%;max-height:60%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-60{-webkit-box-flex:1;-webkit-flex:1 1 60%;flex:1 1 60%;max-width:60%;max-height:100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-60{-webkit-box-flex:1;-webkit-flex:1 1 60%;flex:1 1 60%;max-width:100%;max-height:60%;box-sizing:border-box}.flex-gt-xs-65,.layout-row>.flex-gt-xs-65{-webkit-box-flex:1;-webkit-flex:1 1 65%;flex:1 1 65%;max-width:65%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-65{-webkit-box-flex:1;-webkit-flex:1 1 65%;flex:1 1 65%;max-width:100%;max-height:65%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-65{-webkit-box-flex:1;-webkit-flex:1 1 65%;flex:1 1 65%;max-width:65%;max-height:100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-65{-webkit-box-flex:1;-webkit-flex:1 1 65%;flex:1 1 65%;max-width:100%;max-height:65%;box-sizing:border-box}.flex-gt-xs-70,.layout-row>.flex-gt-xs-70{-webkit-box-flex:1;-webkit-flex:1 1 70%;flex:1 1 70%;max-width:70%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-70{-webkit-box-flex:1;-webkit-flex:1 1 70%;flex:1 1 70%;max-width:100%;max-height:70%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-70{-webkit-box-flex:1;-webkit-flex:1 1 70%;flex:1 1 70%;max-width:70%;max-height:100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-70{-webkit-box-flex:1;-webkit-flex:1 1 70%;flex:1 1 70%;max-width:100%;max-height:70%;box-sizing:border-box}.flex-gt-xs-75,.layout-row>.flex-gt-xs-75{-webkit-box-flex:1;-webkit-flex:1 1 75%;flex:1 1 75%;max-width:75%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-75{-webkit-box-flex:1;-webkit-flex:1 1 75%;flex:1 1 75%;max-width:100%;max-height:75%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-75{-webkit-box-flex:1;-webkit-flex:1 1 75%;flex:1 1 75%;max-width:75%;max-height:100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-75{-webkit-box-flex:1;-webkit-flex:1 1 75%;flex:1 1 75%;max-width:100%;max-height:75%;box-sizing:border-box}.flex-gt-xs-80,.layout-row>.flex-gt-xs-80{-webkit-box-flex:1;-webkit-flex:1 1 80%;flex:1 1 80%;max-width:80%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-80{-webkit-box-flex:1;-webkit-flex:1 1 80%;flex:1 1 80%;max-width:100%;max-height:80%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-80{-webkit-box-flex:1;-webkit-flex:1 1 80%;flex:1 1 80%;max-width:80%;max-height:100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-80{-webkit-box-flex:1;-webkit-flex:1 1 80%;flex:1 1 80%;max-width:100%;max-height:80%;box-sizing:border-box}.flex-gt-xs-85,.layout-row>.flex-gt-xs-85{-webkit-box-flex:1;-webkit-flex:1 1 85%;flex:1 1 85%;max-width:85%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-85{-webkit-box-flex:1;-webkit-flex:1 1 85%;flex:1 1 85%;max-width:100%;max-height:85%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-85{-webkit-box-flex:1;-webkit-flex:1 1 85%;flex:1 1 85%;max-width:85%;max-height:100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-85{-webkit-box-flex:1;-webkit-flex:1 1 85%;flex:1 1 85%;max-width:100%;max-height:85%;box-sizing:border-box}.flex-gt-xs-90,.layout-row>.flex-gt-xs-90{-webkit-box-flex:1;-webkit-flex:1 1 90%;flex:1 1 90%;max-width:90%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-90{-webkit-box-flex:1;-webkit-flex:1 1 90%;flex:1 1 90%;max-width:100%;max-height:90%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-90{-webkit-box-flex:1;-webkit-flex:1 1 90%;flex:1 1 90%;max-width:90%;max-height:100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-90{-webkit-box-flex:1;-webkit-flex:1 1 90%;flex:1 1 90%;max-width:100%;max-height:90%;box-sizing:border-box}.flex-gt-xs-95,.layout-row>.flex-gt-xs-95{-webkit-box-flex:1;-webkit-flex:1 1 95%;flex:1 1 95%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-95{-webkit-box-flex:1;-webkit-flex:1 1 95%;flex:1 1 95%;max-width:100%;max-height:95%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-95{-webkit-box-flex:1;-webkit-flex:1 1 95%;flex:1 1 95%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-95{-webkit-box-flex:1;-webkit-flex:1 1 95%;flex:1 1 95%;max-width:100%;max-height:95%;box-sizing:border-box}.flex-gt-xs-100,.layout-column>.flex-gt-xs-100,.layout-row>.flex-gt-xs-100{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-row>.flex-gt-xs-33,.layout-row>.flex-gt-xs-66{-webkit-box-flex:1;max-height:100%;box-sizing:border-box}.layout-row>.flex-gt-xs-33{-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:33.33%}.layout-row>.flex-gt-xs-66{-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:66.66%}.layout-column>.flex-gt-xs-33{-webkit-box-flex:1;-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:100%;max-height:33.33%;box-sizing:border-box}.layout-column>.flex-gt-xs-66{-webkit-box-flex:1;-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:100%;max-height:66.66%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-100,.layout-gt-xs-row>.flex-gt-xs-100{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-33{-webkit-box-flex:1;-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:33.33%;max-height:100%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-66{-webkit-box-flex:1;-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:66.66%;max-height:100%;box-sizing:border-box}.layout-gt-xs-row>.flex{min-width:0}.layout-gt-xs-column>.flex-gt-xs-33{-webkit-box-flex:1;-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:100%;max-height:33.33%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-66{-webkit-box-flex:1;-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:100%;max-height:66.66%;box-sizing:border-box}.layout-gt-xs-column>.flex{min-height:0}.layout-gt-xs,.layout-gt-xs-column,.layout-gt-xs-row{box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:flex}.layout-gt-xs-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column}.layout-gt-xs-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}}@media (min-width:600px) and (max-width:959px){.flex-sm,.flex-sm-auto,.flex-sm-grow,.flex-sm-initial,.flex-sm-none,.flex-sm-noshrink{box-sizing:border-box}.hide-gt-xs:not(.show-gt-xs):not(.show-sm):not(.show),.hide-sm:not(.show-gt-xs):not(.show-sm):not(.show),.hide:not(.show-gt-xs):not(.show-sm):not(.show){display:none}.flex-order-sm--20{-webkit-box-ordinal-group:-19;-webkit-order:-20;order:-20}.flex-order-sm--19{-webkit-box-ordinal-group:-18;-webkit-order:-19;order:-19}.flex-order-sm--18{-webkit-box-ordinal-group:-17;-webkit-order:-18;order:-18}.flex-order-sm--17{-webkit-box-ordinal-group:-16;-webkit-order:-17;order:-17}.flex-order-sm--16{-webkit-box-ordinal-group:-15;-webkit-order:-16;order:-16}.flex-order-sm--15{-webkit-box-ordinal-group:-14;-webkit-order:-15;order:-15}.flex-order-sm--14{-webkit-box-ordinal-group:-13;-webkit-order:-14;order:-14}.flex-order-sm--13{-webkit-box-ordinal-group:-12;-webkit-order:-13;order:-13}.flex-order-sm--12{-webkit-box-ordinal-group:-11;-webkit-order:-12;order:-12}.flex-order-sm--11{-webkit-box-ordinal-group:-10;-webkit-order:-11;order:-11}.flex-order-sm--10{-webkit-box-ordinal-group:-9;-webkit-order:-10;order:-10}.flex-order-sm--9{-webkit-box-ordinal-group:-8;-webkit-order:-9;order:-9}.flex-order-sm--8{-webkit-box-ordinal-group:-7;-webkit-order:-8;order:-8}.flex-order-sm--7{-webkit-box-ordinal-group:-6;-webkit-order:-7;order:-7}.flex-order-sm--6{-webkit-box-ordinal-group:-5;-webkit-order:-6;order:-6}.flex-order-sm--5{-webkit-box-ordinal-group:-4;-webkit-order:-5;order:-5}.flex-order-sm--4{-webkit-box-ordinal-group:-3;-webkit-order:-4;order:-4}.flex-order-sm--3{-webkit-box-ordinal-group:-2;-webkit-order:-3;order:-3}.flex-order-sm--2{-webkit-box-ordinal-group:-1;-webkit-order:-2;order:-2}.flex-order-sm--1{-webkit-box-ordinal-group:0;-webkit-order:-1;order:-1}.flex-order-sm-0{-webkit-box-ordinal-group:1;-webkit-order:0;order:0}.flex-order-sm-1{-webkit-box-ordinal-group:2;-webkit-order:1;order:1}.flex-order-sm-2{-webkit-box-ordinal-group:3;-webkit-order:2;order:2}.flex-order-sm-3{-webkit-box-ordinal-group:4;-webkit-order:3;order:3}.flex-order-sm-4{-webkit-box-ordinal-group:5;-webkit-order:4;order:4}.flex-order-sm-5{-webkit-box-ordinal-group:6;-webkit-order:5;order:5}.flex-order-sm-6{-webkit-box-ordinal-group:7;-webkit-order:6;order:6}.flex-order-sm-7{-webkit-box-ordinal-group:8;-webkit-order:7;order:7}.flex-order-sm-8{-webkit-box-ordinal-group:9;-webkit-order:8;order:8}.flex-order-sm-9{-webkit-box-ordinal-group:10;-webkit-order:9;order:9}.flex-order-sm-10{-webkit-box-ordinal-group:11;-webkit-order:10;order:10}.flex-order-sm-11{-webkit-box-ordinal-group:12;-webkit-order:11;order:11}.flex-order-sm-12{-webkit-box-ordinal-group:13;-webkit-order:12;order:12}.flex-order-sm-13{-webkit-box-ordinal-group:14;-webkit-order:13;order:13}.flex-order-sm-14{-webkit-box-ordinal-group:15;-webkit-order:14;order:14}.flex-order-sm-15{-webkit-box-ordinal-group:16;-webkit-order:15;order:15}.flex-order-sm-16{-webkit-box-ordinal-group:17;-webkit-order:16;order:16}.flex-order-sm-17{-webkit-box-ordinal-group:18;-webkit-order:17;order:17}.flex-order-sm-18{-webkit-box-ordinal-group:19;-webkit-order:18;order:18}.flex-order-sm-19{-webkit-box-ordinal-group:20;-webkit-order:19;order:19}.flex-order-sm-20{-webkit-box-ordinal-group:21;-webkit-order:20;order:20}.flex-offset-sm-0,.offset-sm-0{margin-left:0}[dir=rtl] .flex-offset-sm-0,[dir=rtl] .offset-sm-0{margin-left:auto;margin-right:0}.flex-offset-sm-5,.offset-sm-5{margin-left:5%}[dir=rtl] .flex-offset-sm-5,[dir=rtl] .offset-sm-5{margin-left:auto;margin-right:5%}.flex-offset-sm-10,.offset-sm-10{margin-left:10%}[dir=rtl] .flex-offset-sm-10,[dir=rtl] .offset-sm-10{margin-left:auto;margin-right:10%}.flex-offset-sm-15,.offset-sm-15{margin-left:15%}[dir=rtl] .flex-offset-sm-15,[dir=rtl] .offset-sm-15{margin-left:auto;margin-right:15%}.flex-offset-sm-20,.offset-sm-20{margin-left:20%}[dir=rtl] .flex-offset-sm-20,[dir=rtl] .offset-sm-20{margin-left:auto;margin-right:20%}.flex-offset-sm-25,.offset-sm-25{margin-left:25%}[dir=rtl] .flex-offset-sm-25,[dir=rtl] .offset-sm-25{margin-left:auto;margin-right:25%}.flex-offset-sm-30,.offset-sm-30{margin-left:30%}[dir=rtl] .flex-offset-sm-30,[dir=rtl] .offset-sm-30{margin-left:auto;margin-right:30%}.flex-offset-sm-35,.offset-sm-35{margin-left:35%}[dir=rtl] .flex-offset-sm-35,[dir=rtl] .offset-sm-35{margin-left:auto;margin-right:35%}.flex-offset-sm-40,.offset-sm-40{margin-left:40%}[dir=rtl] .flex-offset-sm-40,[dir=rtl] .offset-sm-40{margin-left:auto;margin-right:40%}.flex-offset-sm-45,.offset-sm-45{margin-left:45%}[dir=rtl] .flex-offset-sm-45,[dir=rtl] .offset-sm-45{margin-left:auto;margin-right:45%}.flex-offset-sm-50,.offset-sm-50{margin-left:50%}[dir=rtl] .flex-offset-sm-50,[dir=rtl] .offset-sm-50{margin-left:auto;margin-right:50%}.flex-offset-sm-55,.offset-sm-55{margin-left:55%}[dir=rtl] .flex-offset-sm-55,[dir=rtl] .offset-sm-55{margin-left:auto;margin-right:55%}.flex-offset-sm-60,.offset-sm-60{margin-left:60%}[dir=rtl] .flex-offset-sm-60,[dir=rtl] .offset-sm-60{margin-left:auto;margin-right:60%}.flex-offset-sm-65,.offset-sm-65{margin-left:65%}[dir=rtl] .flex-offset-sm-65,[dir=rtl] .offset-sm-65{margin-left:auto;margin-right:65%}.flex-offset-sm-70,.offset-sm-70{margin-left:70%}[dir=rtl] .flex-offset-sm-70,[dir=rtl] .offset-sm-70{margin-left:auto;margin-right:70%}.flex-offset-sm-75,.offset-sm-75{margin-left:75%}[dir=rtl] .flex-offset-sm-75,[dir=rtl] .offset-sm-75{margin-left:auto;margin-right:75%}.flex-offset-sm-80,.offset-sm-80{margin-left:80%}[dir=rtl] .flex-offset-sm-80,[dir=rtl] .offset-sm-80{margin-left:auto;margin-right:80%}.flex-offset-sm-85,.offset-sm-85{margin-left:85%}[dir=rtl] .flex-offset-sm-85,[dir=rtl] .offset-sm-85{margin-left:auto;margin-right:85%}.flex-offset-sm-90,.offset-sm-90{margin-left:90%}[dir=rtl] .flex-offset-sm-90,[dir=rtl] .offset-sm-90{margin-left:auto;margin-right:90%}.flex-offset-sm-95,.offset-sm-95{margin-left:95%}[dir=rtl] .flex-offset-sm-95,[dir=rtl] .offset-sm-95{margin-left:auto;margin-right:95%}.flex-offset-sm-33,.offset-sm-33{margin-left:calc(100% / 3)}.flex-offset-sm-66,.offset-sm-66{margin-left:calc(200% / 3)}[dir=rtl] .flex-offset-sm-66,[dir=rtl] .offset-sm-66{margin-left:auto;margin-right:calc(200% / 3)}.layout-align-sm,.layout-align-sm-start-stretch{-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;-webkit-align-content:stretch;align-content:stretch;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-grid-row-align:stretch;align-items:stretch}.layout-align-sm-start,.layout-align-sm-start-center,.layout-align-sm-start-end,.layout-align-sm-start-start,.layout-align-sm-start-stretch{-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.layout-align-sm-center,.layout-align-sm-center-center,.layout-align-sm-center-end,.layout-align-sm-center-start,.layout-align-sm-center-stretch{-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.layout-align-sm-end,.layout-align-sm-end-center,.layout-align-sm-end-end,.layout-align-sm-end-start,.layout-align-sm-end-stretch{-webkit-box-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.layout-align-sm-space-around,.layout-align-sm-space-around-center,.layout-align-sm-space-around-end,.layout-align-sm-space-around-start,.layout-align-sm-space-around-stretch{-webkit-justify-content:space-around;justify-content:space-around}.layout-align-sm-space-between,.layout-align-sm-space-between-center,.layout-align-sm-space-between-end,.layout-align-sm-space-between-start,.layout-align-sm-space-between-stretch{-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.layout-align-sm-center-start,.layout-align-sm-end-start,.layout-align-sm-space-around-start,.layout-align-sm-space-between-start,.layout-align-sm-start-start{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-grid-row-align:flex-start;align-items:flex-start;-webkit-align-content:flex-start;align-content:flex-start}.layout-align-sm-center-center,.layout-align-sm-end-center,.layout-align-sm-space-around-center,.layout-align-sm-space-between-center,.layout-align-sm-start-center{-webkit-box-align:center;-webkit-align-items:center;-ms-grid-row-align:center;align-items:center;-webkit-align-content:center;align-content:center;max-width:100%}.layout-align-sm-center-center>*,.layout-align-sm-end-center>*,.layout-align-sm-space-around-center>*,.layout-align-sm-space-between-center>*,.layout-align-sm-start-center>*{max-width:100%;box-sizing:border-box}.layout-align-sm-center-end,.layout-align-sm-end-end,.layout-align-sm-space-around-end,.layout-align-sm-space-between-end,.layout-align-sm-start-end{-webkit-box-align:end;-webkit-align-items:flex-end;-ms-grid-row-align:flex-end;align-items:flex-end;-webkit-align-content:flex-end;align-content:flex-end}.layout-align-sm-center-stretch,.layout-align-sm-end-stretch,.layout-align-sm-space-around-stretch,.layout-align-sm-space-between-stretch,.layout-align-sm-start-stretch{-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-grid-row-align:stretch;align-items:stretch;-webkit-align-content:stretch;align-content:stretch}.flex-sm{-webkit-box-flex:1;-webkit-flex:1;flex:1}.flex-sm-grow{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%}.flex-sm-initial{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto}.flex-sm-auto{-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto}.flex-sm-none{-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto}.flex-sm-noshrink{-webkit-box-flex:1;-webkit-flex:1 0 auto;flex:1 0 auto}.flex-sm-nogrow{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-sm-0,.layout-row>.flex-sm-0{-webkit-box-flex:1;max-width:0%;max-height:100%;box-sizing:border-box}.flex-sm-0{-webkit-flex:1 1 0%;flex:1 1 0%}.layout-row>.flex-sm-0{-webkit-flex:1 1 0%;flex:1 1 0%;min-width:0}.layout-column>.flex-sm-0{-webkit-box-flex:1;-webkit-flex:1 1 0%;flex:1 1 0%;max-width:100%;max-height:0%;box-sizing:border-box}.layout-sm-row>.flex-sm-0{-webkit-box-flex:1;-webkit-flex:1 1 0%;flex:1 1 0%;max-width:0%;max-height:100%;box-sizing:border-box;min-width:0}.layout-sm-column>.flex-sm-0{-webkit-box-flex:1;-webkit-flex:1 1 0%;flex:1 1 0%;max-width:100%;max-height:0%;box-sizing:border-box;min-height:0}.flex-sm-5,.layout-row>.flex-sm-5{-webkit-box-flex:1;-webkit-flex:1 1 5%;flex:1 1 5%;max-width:5%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-5{-webkit-box-flex:1;-webkit-flex:1 1 5%;flex:1 1 5%;max-width:100%;max-height:5%;box-sizing:border-box}.layout-sm-row>.flex-sm-5{-webkit-box-flex:1;-webkit-flex:1 1 5%;flex:1 1 5%;max-width:5%;max-height:100%;box-sizing:border-box}.layout-sm-column>.flex-sm-5{-webkit-box-flex:1;-webkit-flex:1 1 5%;flex:1 1 5%;max-width:100%;max-height:5%;box-sizing:border-box}.flex-sm-10,.layout-row>.flex-sm-10{-webkit-box-flex:1;-webkit-flex:1 1 10%;flex:1 1 10%;max-width:10%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-10{-webkit-box-flex:1;-webkit-flex:1 1 10%;flex:1 1 10%;max-width:100%;max-height:10%;box-sizing:border-box}.layout-sm-row>.flex-sm-10{-webkit-box-flex:1;-webkit-flex:1 1 10%;flex:1 1 10%;max-width:10%;max-height:100%;box-sizing:border-box}.layout-sm-column>.flex-sm-10{-webkit-box-flex:1;-webkit-flex:1 1 10%;flex:1 1 10%;max-width:100%;max-height:10%;box-sizing:border-box}.flex-sm-15,.layout-row>.flex-sm-15{-webkit-box-flex:1;-webkit-flex:1 1 15%;flex:1 1 15%;max-width:15%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-15{-webkit-box-flex:1;-webkit-flex:1 1 15%;flex:1 1 15%;max-width:100%;max-height:15%;box-sizing:border-box}.layout-sm-row>.flex-sm-15{-webkit-box-flex:1;-webkit-flex:1 1 15%;flex:1 1 15%;max-width:15%;max-height:100%;box-sizing:border-box}.layout-sm-column>.flex-sm-15{-webkit-box-flex:1;-webkit-flex:1 1 15%;flex:1 1 15%;max-width:100%;max-height:15%;box-sizing:border-box}.flex-sm-20,.layout-row>.flex-sm-20{-webkit-box-flex:1;-webkit-flex:1 1 20%;flex:1 1 20%;max-width:20%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-20{-webkit-box-flex:1;-webkit-flex:1 1 20%;flex:1 1 20%;max-width:100%;max-height:20%;box-sizing:border-box}.layout-sm-row>.flex-sm-20{-webkit-box-flex:1;-webkit-flex:1 1 20%;flex:1 1 20%;max-width:20%;max-height:100%;box-sizing:border-box}.layout-sm-column>.flex-sm-20{-webkit-box-flex:1;-webkit-flex:1 1 20%;flex:1 1 20%;max-width:100%;max-height:20%;box-sizing:border-box}.flex-sm-25,.layout-row>.flex-sm-25{-webkit-box-flex:1;-webkit-flex:1 1 25%;flex:1 1 25%;max-width:25%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-25{-webkit-box-flex:1;-webkit-flex:1 1 25%;flex:1 1 25%;max-width:100%;max-height:25%;box-sizing:border-box}.layout-sm-row>.flex-sm-25{-webkit-box-flex:1;-webkit-flex:1 1 25%;flex:1 1 25%;max-width:25%;max-height:100%;box-sizing:border-box}.layout-sm-column>.flex-sm-25{-webkit-box-flex:1;-webkit-flex:1 1 25%;flex:1 1 25%;max-width:100%;max-height:25%;box-sizing:border-box}.flex-sm-30,.layout-row>.flex-sm-30{-webkit-box-flex:1;-webkit-flex:1 1 30%;flex:1 1 30%;max-width:30%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-30{-webkit-box-flex:1;-webkit-flex:1 1 30%;flex:1 1 30%;max-width:100%;max-height:30%;box-sizing:border-box}.layout-sm-row>.flex-sm-30{-webkit-box-flex:1;-webkit-flex:1 1 30%;flex:1 1 30%;max-width:30%;max-height:100%;box-sizing:border-box}.layout-sm-column>.flex-sm-30{-webkit-box-flex:1;-webkit-flex:1 1 30%;flex:1 1 30%;max-width:100%;max-height:30%;box-sizing:border-box}.flex-sm-35,.layout-row>.flex-sm-35{-webkit-box-flex:1;-webkit-flex:1 1 35%;flex:1 1 35%;max-width:35%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-35{-webkit-box-flex:1;-webkit-flex:1 1 35%;flex:1 1 35%;max-width:100%;max-height:35%;box-sizing:border-box}.layout-sm-row>.flex-sm-35{-webkit-box-flex:1;-webkit-flex:1 1 35%;flex:1 1 35%;max-width:35%;max-height:100%;box-sizing:border-box}.layout-sm-column>.flex-sm-35{-webkit-box-flex:1;-webkit-flex:1 1 35%;flex:1 1 35%;max-width:100%;max-height:35%;box-sizing:border-box}.flex-sm-40,.layout-row>.flex-sm-40{-webkit-box-flex:1;-webkit-flex:1 1 40%;flex:1 1 40%;max-width:40%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-40{-webkit-box-flex:1;-webkit-flex:1 1 40%;flex:1 1 40%;max-width:100%;max-height:40%;box-sizing:border-box}.layout-sm-row>.flex-sm-40{-webkit-box-flex:1;-webkit-flex:1 1 40%;flex:1 1 40%;max-width:40%;max-height:100%;box-sizing:border-box}.layout-sm-column>.flex-sm-40{-webkit-box-flex:1;-webkit-flex:1 1 40%;flex:1 1 40%;max-width:100%;max-height:40%;box-sizing:border-box}.flex-sm-45,.layout-row>.flex-sm-45{-webkit-box-flex:1;-webkit-flex:1 1 45%;flex:1 1 45%;max-width:45%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-45{-webkit-box-flex:1;-webkit-flex:1 1 45%;flex:1 1 45%;max-width:100%;max-height:45%;box-sizing:border-box}.layout-sm-row>.flex-sm-45{-webkit-box-flex:1;-webkit-flex:1 1 45%;flex:1 1 45%;max-width:45%;max-height:100%;box-sizing:border-box}.layout-sm-column>.flex-sm-45{-webkit-box-flex:1;-webkit-flex:1 1 45%;flex:1 1 45%;max-width:100%;max-height:45%;box-sizing:border-box}.flex-sm-50,.layout-row>.flex-sm-50{-webkit-box-flex:1;-webkit-flex:1 1 50%;flex:1 1 50%;max-width:50%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-50{-webkit-box-flex:1;-webkit-flex:1 1 50%;flex:1 1 50%;max-width:100%;max-height:50%;box-sizing:border-box}.layout-sm-row>.flex-sm-50{-webkit-box-flex:1;-webkit-flex:1 1 50%;flex:1 1 50%;max-width:50%;max-height:100%;box-sizing:border-box}.layout-sm-column>.flex-sm-50{-webkit-box-flex:1;-webkit-flex:1 1 50%;flex:1 1 50%;max-width:100%;max-height:50%;box-sizing:border-box}.flex-sm-55,.layout-row>.flex-sm-55{-webkit-box-flex:1;-webkit-flex:1 1 55%;flex:1 1 55%;max-width:55%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-55{-webkit-box-flex:1;-webkit-flex:1 1 55%;flex:1 1 55%;max-width:100%;max-height:55%;box-sizing:border-box}.layout-sm-row>.flex-sm-55{-webkit-box-flex:1;-webkit-flex:1 1 55%;flex:1 1 55%;max-width:55%;max-height:100%;box-sizing:border-box}.layout-sm-column>.flex-sm-55{-webkit-box-flex:1;-webkit-flex:1 1 55%;flex:1 1 55%;max-width:100%;max-height:55%;box-sizing:border-box}.flex-sm-60,.layout-row>.flex-sm-60{-webkit-box-flex:1;-webkit-flex:1 1 60%;flex:1 1 60%;max-width:60%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-60{-webkit-box-flex:1;-webkit-flex:1 1 60%;flex:1 1 60%;max-width:100%;max-height:60%;box-sizing:border-box}.layout-sm-row>.flex-sm-60{-webkit-box-flex:1;-webkit-flex:1 1 60%;flex:1 1 60%;max-width:60%;max-height:100%;box-sizing:border-box}.layout-sm-column>.flex-sm-60{-webkit-box-flex:1;-webkit-flex:1 1 60%;flex:1 1 60%;max-width:100%;max-height:60%;box-sizing:border-box}.flex-sm-65,.layout-row>.flex-sm-65{-webkit-box-flex:1;-webkit-flex:1 1 65%;flex:1 1 65%;max-width:65%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-65{-webkit-box-flex:1;-webkit-flex:1 1 65%;flex:1 1 65%;max-width:100%;max-height:65%;box-sizing:border-box}.layout-sm-row>.flex-sm-65{-webkit-box-flex:1;-webkit-flex:1 1 65%;flex:1 1 65%;max-width:65%;max-height:100%;box-sizing:border-box}.layout-sm-column>.flex-sm-65{-webkit-box-flex:1;-webkit-flex:1 1 65%;flex:1 1 65%;max-width:100%;max-height:65%;box-sizing:border-box}.flex-sm-70,.layout-row>.flex-sm-70{-webkit-box-flex:1;-webkit-flex:1 1 70%;flex:1 1 70%;max-width:70%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-70{-webkit-box-flex:1;-webkit-flex:1 1 70%;flex:1 1 70%;max-width:100%;max-height:70%;box-sizing:border-box}.layout-sm-row>.flex-sm-70{-webkit-box-flex:1;-webkit-flex:1 1 70%;flex:1 1 70%;max-width:70%;max-height:100%;box-sizing:border-box}.layout-sm-column>.flex-sm-70{-webkit-box-flex:1;-webkit-flex:1 1 70%;flex:1 1 70%;max-width:100%;max-height:70%;box-sizing:border-box}.flex-sm-75,.layout-row>.flex-sm-75{-webkit-box-flex:1;-webkit-flex:1 1 75%;flex:1 1 75%;max-width:75%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-75{-webkit-box-flex:1;-webkit-flex:1 1 75%;flex:1 1 75%;max-width:100%;max-height:75%;box-sizing:border-box}.layout-sm-row>.flex-sm-75{-webkit-box-flex:1;-webkit-flex:1 1 75%;flex:1 1 75%;max-width:75%;max-height:100%;box-sizing:border-box}.layout-sm-column>.flex-sm-75{-webkit-box-flex:1;-webkit-flex:1 1 75%;flex:1 1 75%;max-width:100%;max-height:75%;box-sizing:border-box}.flex-sm-80,.layout-row>.flex-sm-80{-webkit-box-flex:1;-webkit-flex:1 1 80%;flex:1 1 80%;max-width:80%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-80{-webkit-box-flex:1;-webkit-flex:1 1 80%;flex:1 1 80%;max-width:100%;max-height:80%;box-sizing:border-box}.layout-sm-row>.flex-sm-80{-webkit-box-flex:1;-webkit-flex:1 1 80%;flex:1 1 80%;max-width:80%;max-height:100%;box-sizing:border-box}.layout-sm-column>.flex-sm-80{-webkit-box-flex:1;-webkit-flex:1 1 80%;flex:1 1 80%;max-width:100%;max-height:80%;box-sizing:border-box}.flex-sm-85,.layout-row>.flex-sm-85{-webkit-box-flex:1;-webkit-flex:1 1 85%;flex:1 1 85%;max-width:85%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-85{-webkit-box-flex:1;-webkit-flex:1 1 85%;flex:1 1 85%;max-width:100%;max-height:85%;box-sizing:border-box}.layout-sm-row>.flex-sm-85{-webkit-box-flex:1;-webkit-flex:1 1 85%;flex:1 1 85%;max-width:85%;max-height:100%;box-sizing:border-box}.layout-sm-column>.flex-sm-85{-webkit-box-flex:1;-webkit-flex:1 1 85%;flex:1 1 85%;max-width:100%;max-height:85%;box-sizing:border-box}.flex-sm-90,.layout-row>.flex-sm-90{-webkit-box-flex:1;-webkit-flex:1 1 90%;flex:1 1 90%;max-width:90%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-90{-webkit-box-flex:1;-webkit-flex:1 1 90%;flex:1 1 90%;max-width:100%;max-height:90%;box-sizing:border-box}.layout-sm-row>.flex-sm-90{-webkit-box-flex:1;-webkit-flex:1 1 90%;flex:1 1 90%;max-width:90%;max-height:100%;box-sizing:border-box}.layout-sm-column>.flex-sm-90{-webkit-box-flex:1;-webkit-flex:1 1 90%;flex:1 1 90%;max-width:100%;max-height:90%;box-sizing:border-box}.flex-sm-95,.layout-row>.flex-sm-95{-webkit-box-flex:1;-webkit-flex:1 1 95%;flex:1 1 95%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-95{-webkit-box-flex:1;-webkit-flex:1 1 95%;flex:1 1 95%;max-width:100%;max-height:95%;box-sizing:border-box}.layout-sm-row>.flex-sm-95{-webkit-box-flex:1;-webkit-flex:1 1 95%;flex:1 1 95%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-sm-column>.flex-sm-95{-webkit-box-flex:1;-webkit-flex:1 1 95%;flex:1 1 95%;max-width:100%;max-height:95%;box-sizing:border-box}.flex-sm-100,.layout-column>.flex-sm-100,.layout-row>.flex-sm-100{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-row>.flex-sm-33,.layout-row>.flex-sm-66{-webkit-box-flex:1;max-height:100%;box-sizing:border-box}.layout-row>.flex-sm-33{-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:33.33%}.layout-row>.flex-sm-66{-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:66.66%}.layout-column>.flex-sm-33{-webkit-box-flex:1;-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:100%;max-height:33.33%;box-sizing:border-box}.layout-column>.flex-sm-66{-webkit-box-flex:1;-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:100%;max-height:66.66%;box-sizing:border-box}.layout-sm-column>.flex-sm-100,.layout-sm-row>.flex-sm-100{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-sm-row>.flex-sm-33{-webkit-box-flex:1;-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:33.33%;max-height:100%;box-sizing:border-box}.layout-sm-row>.flex-sm-66{-webkit-box-flex:1;-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:66.66%;max-height:100%;box-sizing:border-box}.layout-sm-row>.flex{min-width:0}.layout-sm-column>.flex-sm-33{-webkit-box-flex:1;-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:100%;max-height:33.33%;box-sizing:border-box}.layout-sm-column>.flex-sm-66{-webkit-box-flex:1;-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:100%;max-height:66.66%;box-sizing:border-box}.layout-sm-column>.flex{min-height:0}.layout-sm,.layout-sm-column,.layout-sm-row{box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:flex}.layout-sm-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column}.layout-sm-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}}@media (min-width:960px){.flex-gt-sm,.flex-gt-sm-auto,.flex-gt-sm-grow,.flex-gt-sm-initial,.flex-gt-sm-none,.flex-gt-sm-noshrink{box-sizing:border-box}.flex-order-gt-sm--20{-webkit-box-ordinal-group:-19;-webkit-order:-20;order:-20}.flex-order-gt-sm--19{-webkit-box-ordinal-group:-18;-webkit-order:-19;order:-19}.flex-order-gt-sm--18{-webkit-box-ordinal-group:-17;-webkit-order:-18;order:-18}.flex-order-gt-sm--17{-webkit-box-ordinal-group:-16;-webkit-order:-17;order:-17}.flex-order-gt-sm--16{-webkit-box-ordinal-group:-15;-webkit-order:-16;order:-16}.flex-order-gt-sm--15{-webkit-box-ordinal-group:-14;-webkit-order:-15;order:-15}.flex-order-gt-sm--14{-webkit-box-ordinal-group:-13;-webkit-order:-14;order:-14}.flex-order-gt-sm--13{-webkit-box-ordinal-group:-12;-webkit-order:-13;order:-13}.flex-order-gt-sm--12{-webkit-box-ordinal-group:-11;-webkit-order:-12;order:-12}.flex-order-gt-sm--11{-webkit-box-ordinal-group:-10;-webkit-order:-11;order:-11}.flex-order-gt-sm--10{-webkit-box-ordinal-group:-9;-webkit-order:-10;order:-10}.flex-order-gt-sm--9{-webkit-box-ordinal-group:-8;-webkit-order:-9;order:-9}.flex-order-gt-sm--8{-webkit-box-ordinal-group:-7;-webkit-order:-8;order:-8}.flex-order-gt-sm--7{-webkit-box-ordinal-group:-6;-webkit-order:-7;order:-7}.flex-order-gt-sm--6{-webkit-box-ordinal-group:-5;-webkit-order:-6;order:-6}.flex-order-gt-sm--5{-webkit-box-ordinal-group:-4;-webkit-order:-5;order:-5}.flex-order-gt-sm--4{-webkit-box-ordinal-group:-3;-webkit-order:-4;order:-4}.flex-order-gt-sm--3{-webkit-box-ordinal-group:-2;-webkit-order:-3;order:-3}.flex-order-gt-sm--2{-webkit-box-ordinal-group:-1;-webkit-order:-2;order:-2}.flex-order-gt-sm--1{-webkit-box-ordinal-group:0;-webkit-order:-1;order:-1}.flex-order-gt-sm-0{-webkit-box-ordinal-group:1;-webkit-order:0;order:0}.flex-order-gt-sm-1{-webkit-box-ordinal-group:2;-webkit-order:1;order:1}.flex-order-gt-sm-2{-webkit-box-ordinal-group:3;-webkit-order:2;order:2}.flex-order-gt-sm-3{-webkit-box-ordinal-group:4;-webkit-order:3;order:3}.flex-order-gt-sm-4{-webkit-box-ordinal-group:5;-webkit-order:4;order:4}.flex-order-gt-sm-5{-webkit-box-ordinal-group:6;-webkit-order:5;order:5}.flex-order-gt-sm-6{-webkit-box-ordinal-group:7;-webkit-order:6;order:6}.flex-order-gt-sm-7{-webkit-box-ordinal-group:8;-webkit-order:7;order:7}.flex-order-gt-sm-8{-webkit-box-ordinal-group:9;-webkit-order:8;order:8}.flex-order-gt-sm-9{-webkit-box-ordinal-group:10;-webkit-order:9;order:9}.flex-order-gt-sm-10{-webkit-box-ordinal-group:11;-webkit-order:10;order:10}.flex-order-gt-sm-11{-webkit-box-ordinal-group:12;-webkit-order:11;order:11}.flex-order-gt-sm-12{-webkit-box-ordinal-group:13;-webkit-order:12;order:12}.flex-order-gt-sm-13{-webkit-box-ordinal-group:14;-webkit-order:13;order:13}.flex-order-gt-sm-14{-webkit-box-ordinal-group:15;-webkit-order:14;order:14}.flex-order-gt-sm-15{-webkit-box-ordinal-group:16;-webkit-order:15;order:15}.flex-order-gt-sm-16{-webkit-box-ordinal-group:17;-webkit-order:16;order:16}.flex-order-gt-sm-17{-webkit-box-ordinal-group:18;-webkit-order:17;order:17}.flex-order-gt-sm-18{-webkit-box-ordinal-group:19;-webkit-order:18;order:18}.flex-order-gt-sm-19{-webkit-box-ordinal-group:20;-webkit-order:19;order:19}.flex-order-gt-sm-20{-webkit-box-ordinal-group:21;-webkit-order:20;order:20}.flex-offset-gt-sm-0,.offset-gt-sm-0{margin-left:0}[dir=rtl] .flex-offset-gt-sm-0,[dir=rtl] .offset-gt-sm-0{margin-left:auto;margin-right:0}.flex-offset-gt-sm-5,.offset-gt-sm-5{margin-left:5%}[dir=rtl] .flex-offset-gt-sm-5,[dir=rtl] .offset-gt-sm-5{margin-left:auto;margin-right:5%}.flex-offset-gt-sm-10,.offset-gt-sm-10{margin-left:10%}[dir=rtl] .flex-offset-gt-sm-10,[dir=rtl] .offset-gt-sm-10{margin-left:auto;margin-right:10%}.flex-offset-gt-sm-15,.offset-gt-sm-15{margin-left:15%}[dir=rtl] .flex-offset-gt-sm-15,[dir=rtl] .offset-gt-sm-15{margin-left:auto;margin-right:15%}.flex-offset-gt-sm-20,.offset-gt-sm-20{margin-left:20%}[dir=rtl] .flex-offset-gt-sm-20,[dir=rtl] .offset-gt-sm-20{margin-left:auto;margin-right:20%}.flex-offset-gt-sm-25,.offset-gt-sm-25{margin-left:25%}[dir=rtl] .flex-offset-gt-sm-25,[dir=rtl] .offset-gt-sm-25{margin-left:auto;margin-right:25%}.flex-offset-gt-sm-30,.offset-gt-sm-30{margin-left:30%}[dir=rtl] .flex-offset-gt-sm-30,[dir=rtl] .offset-gt-sm-30{margin-left:auto;margin-right:30%}.flex-offset-gt-sm-35,.offset-gt-sm-35{margin-left:35%}[dir=rtl] .flex-offset-gt-sm-35,[dir=rtl] .offset-gt-sm-35{margin-left:auto;margin-right:35%}.flex-offset-gt-sm-40,.offset-gt-sm-40{margin-left:40%}[dir=rtl] .flex-offset-gt-sm-40,[dir=rtl] .offset-gt-sm-40{margin-left:auto;margin-right:40%}.flex-offset-gt-sm-45,.offset-gt-sm-45{margin-left:45%}[dir=rtl] .flex-offset-gt-sm-45,[dir=rtl] .offset-gt-sm-45{margin-left:auto;margin-right:45%}.flex-offset-gt-sm-50,.offset-gt-sm-50{margin-left:50%}[dir=rtl] .flex-offset-gt-sm-50,[dir=rtl] .offset-gt-sm-50{margin-left:auto;margin-right:50%}.flex-offset-gt-sm-55,.offset-gt-sm-55{margin-left:55%}[dir=rtl] .flex-offset-gt-sm-55,[dir=rtl] .offset-gt-sm-55{margin-left:auto;margin-right:55%}.flex-offset-gt-sm-60,.offset-gt-sm-60{margin-left:60%}[dir=rtl] .flex-offset-gt-sm-60,[dir=rtl] .offset-gt-sm-60{margin-left:auto;margin-right:60%}.flex-offset-gt-sm-65,.offset-gt-sm-65{margin-left:65%}[dir=rtl] .flex-offset-gt-sm-65,[dir=rtl] .offset-gt-sm-65{margin-left:auto;margin-right:65%}.flex-offset-gt-sm-70,.offset-gt-sm-70{margin-left:70%}[dir=rtl] .flex-offset-gt-sm-70,[dir=rtl] .offset-gt-sm-70{margin-left:auto;margin-right:70%}.flex-offset-gt-sm-75,.offset-gt-sm-75{margin-left:75%}[dir=rtl] .flex-offset-gt-sm-75,[dir=rtl] .offset-gt-sm-75{margin-left:auto;margin-right:75%}.flex-offset-gt-sm-80,.offset-gt-sm-80{margin-left:80%}[dir=rtl] .flex-offset-gt-sm-80,[dir=rtl] .offset-gt-sm-80{margin-left:auto;margin-right:80%}.flex-offset-gt-sm-85,.offset-gt-sm-85{margin-left:85%}[dir=rtl] .flex-offset-gt-sm-85,[dir=rtl] .offset-gt-sm-85{margin-left:auto;margin-right:85%}.flex-offset-gt-sm-90,.offset-gt-sm-90{margin-left:90%}[dir=rtl] .flex-offset-gt-sm-90,[dir=rtl] .offset-gt-sm-90{margin-left:auto;margin-right:90%}.flex-offset-gt-sm-95,.offset-gt-sm-95{margin-left:95%}[dir=rtl] .flex-offset-gt-sm-95,[dir=rtl] .offset-gt-sm-95{margin-left:auto;margin-right:95%}.flex-offset-gt-sm-33,.offset-gt-sm-33{margin-left:calc(100% / 3)}.flex-offset-gt-sm-66,.offset-gt-sm-66{margin-left:calc(200% / 3)}[dir=rtl] .flex-offset-gt-sm-66,[dir=rtl] .offset-gt-sm-66{margin-left:auto;margin-right:calc(200% / 3)}.layout-align-gt-sm,.layout-align-gt-sm-start-stretch{-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;-webkit-align-content:stretch;align-content:stretch;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-grid-row-align:stretch;align-items:stretch}.layout-align-gt-sm-start,.layout-align-gt-sm-start-center,.layout-align-gt-sm-start-end,.layout-align-gt-sm-start-start,.layout-align-gt-sm-start-stretch{-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.layout-align-gt-sm-center,.layout-align-gt-sm-center-center,.layout-align-gt-sm-center-end,.layout-align-gt-sm-center-start,.layout-align-gt-sm-center-stretch{-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.layout-align-gt-sm-end,.layout-align-gt-sm-end-center,.layout-align-gt-sm-end-end,.layout-align-gt-sm-end-start,.layout-align-gt-sm-end-stretch{-webkit-box-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.layout-align-gt-sm-space-around,.layout-align-gt-sm-space-around-center,.layout-align-gt-sm-space-around-end,.layout-align-gt-sm-space-around-start,.layout-align-gt-sm-space-around-stretch{-webkit-justify-content:space-around;justify-content:space-around}.layout-align-gt-sm-space-between,.layout-align-gt-sm-space-between-center,.layout-align-gt-sm-space-between-end,.layout-align-gt-sm-space-between-start,.layout-align-gt-sm-space-between-stretch{-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.layout-align-gt-sm-center-start,.layout-align-gt-sm-end-start,.layout-align-gt-sm-space-around-start,.layout-align-gt-sm-space-between-start,.layout-align-gt-sm-start-start{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-grid-row-align:flex-start;align-items:flex-start;-webkit-align-content:flex-start;align-content:flex-start}.layout-align-gt-sm-center-center,.layout-align-gt-sm-end-center,.layout-align-gt-sm-space-around-center,.layout-align-gt-sm-space-between-center,.layout-align-gt-sm-start-center{-webkit-box-align:center;-webkit-align-items:center;-ms-grid-row-align:center;align-items:center;-webkit-align-content:center;align-content:center;max-width:100%}.layout-align-gt-sm-center-center>*,.layout-align-gt-sm-end-center>*,.layout-align-gt-sm-space-around-center>*,.layout-align-gt-sm-space-between-center>*,.layout-align-gt-sm-start-center>*{max-width:100%;box-sizing:border-box}.layout-align-gt-sm-center-end,.layout-align-gt-sm-end-end,.layout-align-gt-sm-space-around-end,.layout-align-gt-sm-space-between-end,.layout-align-gt-sm-start-end{-webkit-box-align:end;-webkit-align-items:flex-end;-ms-grid-row-align:flex-end;align-items:flex-end;-webkit-align-content:flex-end;align-content:flex-end}.layout-align-gt-sm-center-stretch,.layout-align-gt-sm-end-stretch,.layout-align-gt-sm-space-around-stretch,.layout-align-gt-sm-space-between-stretch,.layout-align-gt-sm-start-stretch{-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-grid-row-align:stretch;align-items:stretch;-webkit-align-content:stretch;align-content:stretch}.flex-gt-sm{-webkit-box-flex:1;-webkit-flex:1;flex:1}.flex-gt-sm-grow{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%}.flex-gt-sm-initial{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto}.flex-gt-sm-auto{-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto}.flex-gt-sm-none{-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto}.flex-gt-sm-noshrink{-webkit-box-flex:1;-webkit-flex:1 0 auto;flex:1 0 auto}.flex-gt-sm-nogrow{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-gt-sm-0,.layout-row>.flex-gt-sm-0{-webkit-box-flex:1;max-width:0%;max-height:100%;box-sizing:border-box}.flex-gt-sm-0{-webkit-flex:1 1 0%;flex:1 1 0%}.layout-row>.flex-gt-sm-0{-webkit-flex:1 1 0%;flex:1 1 0%;min-width:0}.layout-column>.flex-gt-sm-0{-webkit-box-flex:1;-webkit-flex:1 1 0%;flex:1 1 0%;max-width:100%;max-height:0%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-0{-webkit-box-flex:1;-webkit-flex:1 1 0%;flex:1 1 0%;max-width:0%;max-height:100%;box-sizing:border-box;min-width:0}.layout-gt-sm-column>.flex-gt-sm-0{-webkit-box-flex:1;-webkit-flex:1 1 0%;flex:1 1 0%;max-width:100%;max-height:0%;box-sizing:border-box;min-height:0}.flex-gt-sm-5,.layout-row>.flex-gt-sm-5{-webkit-box-flex:1;-webkit-flex:1 1 5%;flex:1 1 5%;max-width:5%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-5{-webkit-box-flex:1;-webkit-flex:1 1 5%;flex:1 1 5%;max-width:100%;max-height:5%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-5{-webkit-box-flex:1;-webkit-flex:1 1 5%;flex:1 1 5%;max-width:5%;max-height:100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-5{-webkit-box-flex:1;-webkit-flex:1 1 5%;flex:1 1 5%;max-width:100%;max-height:5%;box-sizing:border-box}.flex-gt-sm-10,.layout-row>.flex-gt-sm-10{-webkit-box-flex:1;-webkit-flex:1 1 10%;flex:1 1 10%;max-width:10%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-10{-webkit-box-flex:1;-webkit-flex:1 1 10%;flex:1 1 10%;max-width:100%;max-height:10%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-10{-webkit-box-flex:1;-webkit-flex:1 1 10%;flex:1 1 10%;max-width:10%;max-height:100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-10{-webkit-box-flex:1;-webkit-flex:1 1 10%;flex:1 1 10%;max-width:100%;max-height:10%;box-sizing:border-box}.flex-gt-sm-15,.layout-row>.flex-gt-sm-15{-webkit-box-flex:1;-webkit-flex:1 1 15%;flex:1 1 15%;max-width:15%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-15{-webkit-box-flex:1;-webkit-flex:1 1 15%;flex:1 1 15%;max-width:100%;max-height:15%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-15{-webkit-box-flex:1;-webkit-flex:1 1 15%;flex:1 1 15%;max-width:15%;max-height:100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-15{-webkit-box-flex:1;-webkit-flex:1 1 15%;flex:1 1 15%;max-width:100%;max-height:15%;box-sizing:border-box}.flex-gt-sm-20,.layout-row>.flex-gt-sm-20{-webkit-box-flex:1;-webkit-flex:1 1 20%;flex:1 1 20%;max-width:20%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-20{-webkit-box-flex:1;-webkit-flex:1 1 20%;flex:1 1 20%;max-width:100%;max-height:20%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-20{-webkit-box-flex:1;-webkit-flex:1 1 20%;flex:1 1 20%;max-width:20%;max-height:100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-20{-webkit-box-flex:1;-webkit-flex:1 1 20%;flex:1 1 20%;max-width:100%;max-height:20%;box-sizing:border-box}.flex-gt-sm-25,.layout-row>.flex-gt-sm-25{-webkit-box-flex:1;-webkit-flex:1 1 25%;flex:1 1 25%;max-width:25%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-25{-webkit-box-flex:1;-webkit-flex:1 1 25%;flex:1 1 25%;max-width:100%;max-height:25%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-25{-webkit-box-flex:1;-webkit-flex:1 1 25%;flex:1 1 25%;max-width:25%;max-height:100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-25{-webkit-box-flex:1;-webkit-flex:1 1 25%;flex:1 1 25%;max-width:100%;max-height:25%;box-sizing:border-box}.flex-gt-sm-30,.layout-row>.flex-gt-sm-30{-webkit-box-flex:1;-webkit-flex:1 1 30%;flex:1 1 30%;max-width:30%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-30{-webkit-box-flex:1;-webkit-flex:1 1 30%;flex:1 1 30%;max-width:100%;max-height:30%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-30{-webkit-box-flex:1;-webkit-flex:1 1 30%;flex:1 1 30%;max-width:30%;max-height:100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-30{-webkit-box-flex:1;-webkit-flex:1 1 30%;flex:1 1 30%;max-width:100%;max-height:30%;box-sizing:border-box}.flex-gt-sm-35,.layout-row>.flex-gt-sm-35{-webkit-box-flex:1;-webkit-flex:1 1 35%;flex:1 1 35%;max-width:35%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-35{-webkit-box-flex:1;-webkit-flex:1 1 35%;flex:1 1 35%;max-width:100%;max-height:35%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-35{-webkit-box-flex:1;-webkit-flex:1 1 35%;flex:1 1 35%;max-width:35%;max-height:100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-35{-webkit-box-flex:1;-webkit-flex:1 1 35%;flex:1 1 35%;max-width:100%;max-height:35%;box-sizing:border-box}.flex-gt-sm-40,.layout-row>.flex-gt-sm-40{-webkit-box-flex:1;-webkit-flex:1 1 40%;flex:1 1 40%;max-width:40%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-40{-webkit-box-flex:1;-webkit-flex:1 1 40%;flex:1 1 40%;max-width:100%;max-height:40%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-40{-webkit-box-flex:1;-webkit-flex:1 1 40%;flex:1 1 40%;max-width:40%;max-height:100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-40{-webkit-box-flex:1;-webkit-flex:1 1 40%;flex:1 1 40%;max-width:100%;max-height:40%;box-sizing:border-box}.flex-gt-sm-45,.layout-row>.flex-gt-sm-45{-webkit-box-flex:1;-webkit-flex:1 1 45%;flex:1 1 45%;max-width:45%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-45{-webkit-box-flex:1;-webkit-flex:1 1 45%;flex:1 1 45%;max-width:100%;max-height:45%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-45{-webkit-box-flex:1;-webkit-flex:1 1 45%;flex:1 1 45%;max-width:45%;max-height:100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-45{-webkit-box-flex:1;-webkit-flex:1 1 45%;flex:1 1 45%;max-width:100%;max-height:45%;box-sizing:border-box}.flex-gt-sm-50,.layout-row>.flex-gt-sm-50{-webkit-box-flex:1;-webkit-flex:1 1 50%;flex:1 1 50%;max-width:50%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-50{-webkit-box-flex:1;-webkit-flex:1 1 50%;flex:1 1 50%;max-width:100%;max-height:50%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-50{-webkit-box-flex:1;-webkit-flex:1 1 50%;flex:1 1 50%;max-width:50%;max-height:100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-50{-webkit-box-flex:1;-webkit-flex:1 1 50%;flex:1 1 50%;max-width:100%;max-height:50%;box-sizing:border-box}.flex-gt-sm-55,.layout-row>.flex-gt-sm-55{-webkit-box-flex:1;-webkit-flex:1 1 55%;flex:1 1 55%;max-width:55%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-55{-webkit-box-flex:1;-webkit-flex:1 1 55%;flex:1 1 55%;max-width:100%;max-height:55%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-55{-webkit-box-flex:1;-webkit-flex:1 1 55%;flex:1 1 55%;max-width:55%;max-height:100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-55{-webkit-box-flex:1;-webkit-flex:1 1 55%;flex:1 1 55%;max-width:100%;max-height:55%;box-sizing:border-box}.flex-gt-sm-60,.layout-row>.flex-gt-sm-60{-webkit-box-flex:1;-webkit-flex:1 1 60%;flex:1 1 60%;max-width:60%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-60{-webkit-box-flex:1;-webkit-flex:1 1 60%;flex:1 1 60%;max-width:100%;max-height:60%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-60{-webkit-box-flex:1;-webkit-flex:1 1 60%;flex:1 1 60%;max-width:60%;max-height:100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-60{-webkit-box-flex:1;-webkit-flex:1 1 60%;flex:1 1 60%;max-width:100%;max-height:60%;box-sizing:border-box}.flex-gt-sm-65,.layout-row>.flex-gt-sm-65{-webkit-box-flex:1;-webkit-flex:1 1 65%;flex:1 1 65%;max-width:65%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-65{-webkit-box-flex:1;-webkit-flex:1 1 65%;flex:1 1 65%;max-width:100%;max-height:65%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-65{-webkit-box-flex:1;-webkit-flex:1 1 65%;flex:1 1 65%;max-width:65%;max-height:100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-65{-webkit-box-flex:1;-webkit-flex:1 1 65%;flex:1 1 65%;max-width:100%;max-height:65%;box-sizing:border-box}.flex-gt-sm-70,.layout-row>.flex-gt-sm-70{-webkit-box-flex:1;-webkit-flex:1 1 70%;flex:1 1 70%;max-width:70%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-70{-webkit-box-flex:1;-webkit-flex:1 1 70%;flex:1 1 70%;max-width:100%;max-height:70%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-70{-webkit-box-flex:1;-webkit-flex:1 1 70%;flex:1 1 70%;max-width:70%;max-height:100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-70{-webkit-box-flex:1;-webkit-flex:1 1 70%;flex:1 1 70%;max-width:100%;max-height:70%;box-sizing:border-box}.flex-gt-sm-75,.layout-row>.flex-gt-sm-75{-webkit-box-flex:1;-webkit-flex:1 1 75%;flex:1 1 75%;max-width:75%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-75{-webkit-box-flex:1;-webkit-flex:1 1 75%;flex:1 1 75%;max-width:100%;max-height:75%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-75{-webkit-box-flex:1;-webkit-flex:1 1 75%;flex:1 1 75%;max-width:75%;max-height:100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-75{-webkit-box-flex:1;-webkit-flex:1 1 75%;flex:1 1 75%;max-width:100%;max-height:75%;box-sizing:border-box}.flex-gt-sm-80,.layout-row>.flex-gt-sm-80{-webkit-box-flex:1;-webkit-flex:1 1 80%;flex:1 1 80%;max-width:80%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-80{-webkit-box-flex:1;-webkit-flex:1 1 80%;flex:1 1 80%;max-width:100%;max-height:80%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-80{-webkit-box-flex:1;-webkit-flex:1 1 80%;flex:1 1 80%;max-width:80%;max-height:100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-80{-webkit-box-flex:1;-webkit-flex:1 1 80%;flex:1 1 80%;max-width:100%;max-height:80%;box-sizing:border-box}.flex-gt-sm-85,.layout-row>.flex-gt-sm-85{-webkit-box-flex:1;-webkit-flex:1 1 85%;flex:1 1 85%;max-width:85%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-85{-webkit-box-flex:1;-webkit-flex:1 1 85%;flex:1 1 85%;max-width:100%;max-height:85%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-85{-webkit-box-flex:1;-webkit-flex:1 1 85%;flex:1 1 85%;max-width:85%;max-height:100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-85{-webkit-box-flex:1;-webkit-flex:1 1 85%;flex:1 1 85%;max-width:100%;max-height:85%;box-sizing:border-box}.flex-gt-sm-90,.layout-row>.flex-gt-sm-90{-webkit-box-flex:1;-webkit-flex:1 1 90%;flex:1 1 90%;max-width:90%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-90{-webkit-box-flex:1;-webkit-flex:1 1 90%;flex:1 1 90%;max-width:100%;max-height:90%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-90{-webkit-box-flex:1;-webkit-flex:1 1 90%;flex:1 1 90%;max-width:90%;max-height:100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-90{-webkit-box-flex:1;-webkit-flex:1 1 90%;flex:1 1 90%;max-width:100%;max-height:90%;box-sizing:border-box}.flex-gt-sm-95,.layout-row>.flex-gt-sm-95{-webkit-box-flex:1;-webkit-flex:1 1 95%;flex:1 1 95%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-95{-webkit-box-flex:1;-webkit-flex:1 1 95%;flex:1 1 95%;max-width:100%;max-height:95%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-95{-webkit-box-flex:1;-webkit-flex:1 1 95%;flex:1 1 95%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-95{-webkit-box-flex:1;-webkit-flex:1 1 95%;flex:1 1 95%;max-width:100%;max-height:95%;box-sizing:border-box}.flex-gt-sm-100,.layout-column>.flex-gt-sm-100,.layout-row>.flex-gt-sm-100{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-row>.flex-gt-sm-33,.layout-row>.flex-gt-sm-66{-webkit-box-flex:1;max-height:100%;box-sizing:border-box}.layout-row>.flex-gt-sm-33{-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:33.33%}.layout-row>.flex-gt-sm-66{-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:66.66%}.layout-column>.flex-gt-sm-33{-webkit-box-flex:1;-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:100%;max-height:33.33%;box-sizing:border-box}.layout-column>.flex-gt-sm-66{-webkit-box-flex:1;-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:100%;max-height:66.66%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-100,.layout-gt-sm-row>.flex-gt-sm-100{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-33{-webkit-box-flex:1;-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:33.33%;max-height:100%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-66{-webkit-box-flex:1;-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:66.66%;max-height:100%;box-sizing:border-box}.layout-gt-sm-row>.flex{min-width:0}.layout-gt-sm-column>.flex-gt-sm-33{-webkit-box-flex:1;-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:100%;max-height:33.33%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-66{-webkit-box-flex:1;-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:100%;max-height:66.66%;box-sizing:border-box}.layout-gt-sm-column>.flex{min-height:0}.layout-gt-sm,.layout-gt-sm-column,.layout-gt-sm-row{box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:flex}.layout-gt-sm-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column}.layout-gt-sm-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}}@media (min-width:960px) and (max-width:1279px){.flex-md,.flex-md-auto,.flex-md-grow,.flex-md-initial,.flex-md-none,.flex-md-noshrink{box-sizing:border-box}.hide-gt-sm:not(.show-gt-xs):not(.show-gt-sm):not(.show-md):not(.show),.hide-gt-xs:not(.show-gt-xs):not(.show-gt-sm):not(.show-md):not(.show),.hide-md:not(.show-md):not(.show-gt-sm):not(.show-gt-xs):not(.show),.hide:not(.show-gt-xs):not(.show-gt-sm):not(.show-md):not(.show){display:none}.flex-order-md--20{-webkit-box-ordinal-group:-19;-webkit-order:-20;order:-20}.flex-order-md--19{-webkit-box-ordinal-group:-18;-webkit-order:-19;order:-19}.flex-order-md--18{-webkit-box-ordinal-group:-17;-webkit-order:-18;order:-18}.flex-order-md--17{-webkit-box-ordinal-group:-16;-webkit-order:-17;order:-17}.flex-order-md--16{-webkit-box-ordinal-group:-15;-webkit-order:-16;order:-16}.flex-order-md--15{-webkit-box-ordinal-group:-14;-webkit-order:-15;order:-15}.flex-order-md--14{-webkit-box-ordinal-group:-13;-webkit-order:-14;order:-14}.flex-order-md--13{-webkit-box-ordinal-group:-12;-webkit-order:-13;order:-13}.flex-order-md--12{-webkit-box-ordinal-group:-11;-webkit-order:-12;order:-12}.flex-order-md--11{-webkit-box-ordinal-group:-10;-webkit-order:-11;order:-11}.flex-order-md--10{-webkit-box-ordinal-group:-9;-webkit-order:-10;order:-10}.flex-order-md--9{-webkit-box-ordinal-group:-8;-webkit-order:-9;order:-9}.flex-order-md--8{-webkit-box-ordinal-group:-7;-webkit-order:-8;order:-8}.flex-order-md--7{-webkit-box-ordinal-group:-6;-webkit-order:-7;order:-7}.flex-order-md--6{-webkit-box-ordinal-group:-5;-webkit-order:-6;order:-6}.flex-order-md--5{-webkit-box-ordinal-group:-4;-webkit-order:-5;order:-5}.flex-order-md--4{-webkit-box-ordinal-group:-3;-webkit-order:-4;order:-4}.flex-order-md--3{-webkit-box-ordinal-group:-2;-webkit-order:-3;order:-3}.flex-order-md--2{-webkit-box-ordinal-group:-1;-webkit-order:-2;order:-2}.flex-order-md--1{-webkit-box-ordinal-group:0;-webkit-order:-1;order:-1}.flex-order-md-0{-webkit-box-ordinal-group:1;-webkit-order:0;order:0}.flex-order-md-1{-webkit-box-ordinal-group:2;-webkit-order:1;order:1}.flex-order-md-2{-webkit-box-ordinal-group:3;-webkit-order:2;order:2}.flex-order-md-3{-webkit-box-ordinal-group:4;-webkit-order:3;order:3}.flex-order-md-4{-webkit-box-ordinal-group:5;-webkit-order:4;order:4}.flex-order-md-5{-webkit-box-ordinal-group:6;-webkit-order:5;order:5}.flex-order-md-6{-webkit-box-ordinal-group:7;-webkit-order:6;order:6}.flex-order-md-7{-webkit-box-ordinal-group:8;-webkit-order:7;order:7}.flex-order-md-8{-webkit-box-ordinal-group:9;-webkit-order:8;order:8}.flex-order-md-9{-webkit-box-ordinal-group:10;-webkit-order:9;order:9}.flex-order-md-10{-webkit-box-ordinal-group:11;-webkit-order:10;order:10}.flex-order-md-11{-webkit-box-ordinal-group:12;-webkit-order:11;order:11}.flex-order-md-12{-webkit-box-ordinal-group:13;-webkit-order:12;order:12}.flex-order-md-13{-webkit-box-ordinal-group:14;-webkit-order:13;order:13}.flex-order-md-14{-webkit-box-ordinal-group:15;-webkit-order:14;order:14}.flex-order-md-15{-webkit-box-ordinal-group:16;-webkit-order:15;order:15}.flex-order-md-16{-webkit-box-ordinal-group:17;-webkit-order:16;order:16}.flex-order-md-17{-webkit-box-ordinal-group:18;-webkit-order:17;order:17}.flex-order-md-18{-webkit-box-ordinal-group:19;-webkit-order:18;order:18}.flex-order-md-19{-webkit-box-ordinal-group:20;-webkit-order:19;order:19}.flex-order-md-20{-webkit-box-ordinal-group:21;-webkit-order:20;order:20}.flex-offset-md-0,.offset-md-0{margin-left:0}[dir=rtl] .flex-offset-md-0,[dir=rtl] .offset-md-0{margin-left:auto;margin-right:0}.flex-offset-md-5,.offset-md-5{margin-left:5%}[dir=rtl] .flex-offset-md-5,[dir=rtl] .offset-md-5{margin-left:auto;margin-right:5%}.flex-offset-md-10,.offset-md-10{margin-left:10%}[dir=rtl] .flex-offset-md-10,[dir=rtl] .offset-md-10{margin-left:auto;margin-right:10%}.flex-offset-md-15,.offset-md-15{margin-left:15%}[dir=rtl] .flex-offset-md-15,[dir=rtl] .offset-md-15{margin-left:auto;margin-right:15%}.flex-offset-md-20,.offset-md-20{margin-left:20%}[dir=rtl] .flex-offset-md-20,[dir=rtl] .offset-md-20{margin-left:auto;margin-right:20%}.flex-offset-md-25,.offset-md-25{margin-left:25%}[dir=rtl] .flex-offset-md-25,[dir=rtl] .offset-md-25{margin-left:auto;margin-right:25%}.flex-offset-md-30,.offset-md-30{margin-left:30%}[dir=rtl] .flex-offset-md-30,[dir=rtl] .offset-md-30{margin-left:auto;margin-right:30%}.flex-offset-md-35,.offset-md-35{margin-left:35%}[dir=rtl] .flex-offset-md-35,[dir=rtl] .offset-md-35{margin-left:auto;margin-right:35%}.flex-offset-md-40,.offset-md-40{margin-left:40%}[dir=rtl] .flex-offset-md-40,[dir=rtl] .offset-md-40{margin-left:auto;margin-right:40%}.flex-offset-md-45,.offset-md-45{margin-left:45%}[dir=rtl] .flex-offset-md-45,[dir=rtl] .offset-md-45{margin-left:auto;margin-right:45%}.flex-offset-md-50,.offset-md-50{margin-left:50%}[dir=rtl] .flex-offset-md-50,[dir=rtl] .offset-md-50{margin-left:auto;margin-right:50%}.flex-offset-md-55,.offset-md-55{margin-left:55%}[dir=rtl] .flex-offset-md-55,[dir=rtl] .offset-md-55{margin-left:auto;margin-right:55%}.flex-offset-md-60,.offset-md-60{margin-left:60%}[dir=rtl] .flex-offset-md-60,[dir=rtl] .offset-md-60{margin-left:auto;margin-right:60%}.flex-offset-md-65,.offset-md-65{margin-left:65%}[dir=rtl] .flex-offset-md-65,[dir=rtl] .offset-md-65{margin-left:auto;margin-right:65%}.flex-offset-md-70,.offset-md-70{margin-left:70%}[dir=rtl] .flex-offset-md-70,[dir=rtl] .offset-md-70{margin-left:auto;margin-right:70%}.flex-offset-md-75,.offset-md-75{margin-left:75%}[dir=rtl] .flex-offset-md-75,[dir=rtl] .offset-md-75{margin-left:auto;margin-right:75%}.flex-offset-md-80,.offset-md-80{margin-left:80%}[dir=rtl] .flex-offset-md-80,[dir=rtl] .offset-md-80{margin-left:auto;margin-right:80%}.flex-offset-md-85,.offset-md-85{margin-left:85%}[dir=rtl] .flex-offset-md-85,[dir=rtl] .offset-md-85{margin-left:auto;margin-right:85%}.flex-offset-md-90,.offset-md-90{margin-left:90%}[dir=rtl] .flex-offset-md-90,[dir=rtl] .offset-md-90{margin-left:auto;margin-right:90%}.flex-offset-md-95,.offset-md-95{margin-left:95%}[dir=rtl] .flex-offset-md-95,[dir=rtl] .offset-md-95{margin-left:auto;margin-right:95%}.flex-offset-md-33,.offset-md-33{margin-left:calc(100% / 3)}.flex-offset-md-66,.offset-md-66{margin-left:calc(200% / 3)}[dir=rtl] .flex-offset-md-66,[dir=rtl] .offset-md-66{margin-left:auto;margin-right:calc(200% / 3)}.layout-align-md,.layout-align-md-start-stretch{-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;-webkit-align-content:stretch;align-content:stretch;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-grid-row-align:stretch;align-items:stretch}.layout-align-md-start,.layout-align-md-start-center,.layout-align-md-start-end,.layout-align-md-start-start,.layout-align-md-start-stretch{-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.layout-align-md-center,.layout-align-md-center-center,.layout-align-md-center-end,.layout-align-md-center-start,.layout-align-md-center-stretch{-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.layout-align-md-end,.layout-align-md-end-center,.layout-align-md-end-end,.layout-align-md-end-start,.layout-align-md-end-stretch{-webkit-box-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.layout-align-md-space-around,.layout-align-md-space-around-center,.layout-align-md-space-around-end,.layout-align-md-space-around-start,.layout-align-md-space-around-stretch{-webkit-justify-content:space-around;justify-content:space-around}.layout-align-md-space-between,.layout-align-md-space-between-center,.layout-align-md-space-between-end,.layout-align-md-space-between-start,.layout-align-md-space-between-stretch{-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.layout-align-md-center-start,.layout-align-md-end-start,.layout-align-md-space-around-start,.layout-align-md-space-between-start,.layout-align-md-start-start{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-grid-row-align:flex-start;align-items:flex-start;-webkit-align-content:flex-start;align-content:flex-start}.layout-align-md-center-center,.layout-align-md-end-center,.layout-align-md-space-around-center,.layout-align-md-space-between-center,.layout-align-md-start-center{-webkit-box-align:center;-webkit-align-items:center;-ms-grid-row-align:center;align-items:center;-webkit-align-content:center;align-content:center;max-width:100%}.layout-align-md-center-center>*,.layout-align-md-end-center>*,.layout-align-md-space-around-center>*,.layout-align-md-space-between-center>*,.layout-align-md-start-center>*{max-width:100%;box-sizing:border-box}.layout-align-md-center-end,.layout-align-md-end-end,.layout-align-md-space-around-end,.layout-align-md-space-between-end,.layout-align-md-start-end{-webkit-box-align:end;-webkit-align-items:flex-end;-ms-grid-row-align:flex-end;align-items:flex-end;-webkit-align-content:flex-end;align-content:flex-end}.layout-align-md-center-stretch,.layout-align-md-end-stretch,.layout-align-md-space-around-stretch,.layout-align-md-space-between-stretch,.layout-align-md-start-stretch{-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-grid-row-align:stretch;align-items:stretch;-webkit-align-content:stretch;align-content:stretch}.flex-md{-webkit-box-flex:1;-webkit-flex:1;flex:1}.flex-md-grow{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%}.flex-md-initial{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto}.flex-md-auto{-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto}.flex-md-none{-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto}.flex-md-noshrink{-webkit-box-flex:1;-webkit-flex:1 0 auto;flex:1 0 auto}.flex-md-nogrow{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-md-0,.layout-row>.flex-md-0{-webkit-box-flex:1;max-width:0%;max-height:100%;box-sizing:border-box}.flex-md-0{-webkit-flex:1 1 0%;flex:1 1 0%}.layout-row>.flex-md-0{-webkit-flex:1 1 0%;flex:1 1 0%;min-width:0}.layout-column>.flex-md-0{-webkit-box-flex:1;-webkit-flex:1 1 0%;flex:1 1 0%;max-width:100%;max-height:0%;box-sizing:border-box}.layout-md-row>.flex-md-0{-webkit-box-flex:1;-webkit-flex:1 1 0%;flex:1 1 0%;max-width:0%;max-height:100%;box-sizing:border-box;min-width:0}.layout-md-column>.flex-md-0{-webkit-box-flex:1;-webkit-flex:1 1 0%;flex:1 1 0%;max-width:100%;max-height:0%;box-sizing:border-box;min-height:0}.flex-md-5,.layout-row>.flex-md-5{-webkit-box-flex:1;-webkit-flex:1 1 5%;flex:1 1 5%;max-width:5%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-5{-webkit-box-flex:1;-webkit-flex:1 1 5%;flex:1 1 5%;max-width:100%;max-height:5%;box-sizing:border-box}.layout-md-row>.flex-md-5{-webkit-box-flex:1;-webkit-flex:1 1 5%;flex:1 1 5%;max-width:5%;max-height:100%;box-sizing:border-box}.layout-md-column>.flex-md-5{-webkit-box-flex:1;-webkit-flex:1 1 5%;flex:1 1 5%;max-width:100%;max-height:5%;box-sizing:border-box}.flex-md-10,.layout-row>.flex-md-10{-webkit-box-flex:1;-webkit-flex:1 1 10%;flex:1 1 10%;max-width:10%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-10{-webkit-box-flex:1;-webkit-flex:1 1 10%;flex:1 1 10%;max-width:100%;max-height:10%;box-sizing:border-box}.layout-md-row>.flex-md-10{-webkit-box-flex:1;-webkit-flex:1 1 10%;flex:1 1 10%;max-width:10%;max-height:100%;box-sizing:border-box}.layout-md-column>.flex-md-10{-webkit-box-flex:1;-webkit-flex:1 1 10%;flex:1 1 10%;max-width:100%;max-height:10%;box-sizing:border-box}.flex-md-15,.layout-row>.flex-md-15{-webkit-box-flex:1;-webkit-flex:1 1 15%;flex:1 1 15%;max-width:15%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-15{-webkit-box-flex:1;-webkit-flex:1 1 15%;flex:1 1 15%;max-width:100%;max-height:15%;box-sizing:border-box}.layout-md-row>.flex-md-15{-webkit-box-flex:1;-webkit-flex:1 1 15%;flex:1 1 15%;max-width:15%;max-height:100%;box-sizing:border-box}.layout-md-column>.flex-md-15{-webkit-box-flex:1;-webkit-flex:1 1 15%;flex:1 1 15%;max-width:100%;max-height:15%;box-sizing:border-box}.flex-md-20,.layout-row>.flex-md-20{-webkit-box-flex:1;-webkit-flex:1 1 20%;flex:1 1 20%;max-width:20%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-20{-webkit-box-flex:1;-webkit-flex:1 1 20%;flex:1 1 20%;max-width:100%;max-height:20%;box-sizing:border-box}.layout-md-row>.flex-md-20{-webkit-box-flex:1;-webkit-flex:1 1 20%;flex:1 1 20%;max-width:20%;max-height:100%;box-sizing:border-box}.layout-md-column>.flex-md-20{-webkit-box-flex:1;-webkit-flex:1 1 20%;flex:1 1 20%;max-width:100%;max-height:20%;box-sizing:border-box}.flex-md-25,.layout-row>.flex-md-25{-webkit-box-flex:1;-webkit-flex:1 1 25%;flex:1 1 25%;max-width:25%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-25{-webkit-box-flex:1;-webkit-flex:1 1 25%;flex:1 1 25%;max-width:100%;max-height:25%;box-sizing:border-box}.layout-md-row>.flex-md-25{-webkit-box-flex:1;-webkit-flex:1 1 25%;flex:1 1 25%;max-width:25%;max-height:100%;box-sizing:border-box}.layout-md-column>.flex-md-25{-webkit-box-flex:1;-webkit-flex:1 1 25%;flex:1 1 25%;max-width:100%;max-height:25%;box-sizing:border-box}.flex-md-30,.layout-row>.flex-md-30{-webkit-box-flex:1;-webkit-flex:1 1 30%;flex:1 1 30%;max-width:30%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-30{-webkit-box-flex:1;-webkit-flex:1 1 30%;flex:1 1 30%;max-width:100%;max-height:30%;box-sizing:border-box}.layout-md-row>.flex-md-30{-webkit-box-flex:1;-webkit-flex:1 1 30%;flex:1 1 30%;max-width:30%;max-height:100%;box-sizing:border-box}.layout-md-column>.flex-md-30{-webkit-box-flex:1;-webkit-flex:1 1 30%;flex:1 1 30%;max-width:100%;max-height:30%;box-sizing:border-box}.flex-md-35,.layout-row>.flex-md-35{-webkit-box-flex:1;-webkit-flex:1 1 35%;flex:1 1 35%;max-width:35%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-35{-webkit-box-flex:1;-webkit-flex:1 1 35%;flex:1 1 35%;max-width:100%;max-height:35%;box-sizing:border-box}.layout-md-row>.flex-md-35{-webkit-box-flex:1;-webkit-flex:1 1 35%;flex:1 1 35%;max-width:35%;max-height:100%;box-sizing:border-box}.layout-md-column>.flex-md-35{-webkit-box-flex:1;-webkit-flex:1 1 35%;flex:1 1 35%;max-width:100%;max-height:35%;box-sizing:border-box}.flex-md-40,.layout-row>.flex-md-40{-webkit-box-flex:1;-webkit-flex:1 1 40%;flex:1 1 40%;max-width:40%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-40{-webkit-box-flex:1;-webkit-flex:1 1 40%;flex:1 1 40%;max-width:100%;max-height:40%;box-sizing:border-box}.layout-md-row>.flex-md-40{-webkit-box-flex:1;-webkit-flex:1 1 40%;flex:1 1 40%;max-width:40%;max-height:100%;box-sizing:border-box}.layout-md-column>.flex-md-40{-webkit-box-flex:1;-webkit-flex:1 1 40%;flex:1 1 40%;max-width:100%;max-height:40%;box-sizing:border-box}.flex-md-45,.layout-row>.flex-md-45{-webkit-box-flex:1;-webkit-flex:1 1 45%;flex:1 1 45%;max-width:45%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-45{-webkit-box-flex:1;-webkit-flex:1 1 45%;flex:1 1 45%;max-width:100%;max-height:45%;box-sizing:border-box}.layout-md-row>.flex-md-45{-webkit-box-flex:1;-webkit-flex:1 1 45%;flex:1 1 45%;max-width:45%;max-height:100%;box-sizing:border-box}.layout-md-column>.flex-md-45{-webkit-box-flex:1;-webkit-flex:1 1 45%;flex:1 1 45%;max-width:100%;max-height:45%;box-sizing:border-box}.flex-md-50,.layout-row>.flex-md-50{-webkit-box-flex:1;-webkit-flex:1 1 50%;flex:1 1 50%;max-width:50%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-50{-webkit-box-flex:1;-webkit-flex:1 1 50%;flex:1 1 50%;max-width:100%;max-height:50%;box-sizing:border-box}.layout-md-row>.flex-md-50{-webkit-box-flex:1;-webkit-flex:1 1 50%;flex:1 1 50%;max-width:50%;max-height:100%;box-sizing:border-box}.layout-md-column>.flex-md-50{-webkit-box-flex:1;-webkit-flex:1 1 50%;flex:1 1 50%;max-width:100%;max-height:50%;box-sizing:border-box}.flex-md-55,.layout-row>.flex-md-55{-webkit-box-flex:1;-webkit-flex:1 1 55%;flex:1 1 55%;max-width:55%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-55{-webkit-box-flex:1;-webkit-flex:1 1 55%;flex:1 1 55%;max-width:100%;max-height:55%;box-sizing:border-box}.layout-md-row>.flex-md-55{-webkit-box-flex:1;-webkit-flex:1 1 55%;flex:1 1 55%;max-width:55%;max-height:100%;box-sizing:border-box}.layout-md-column>.flex-md-55{-webkit-box-flex:1;-webkit-flex:1 1 55%;flex:1 1 55%;max-width:100%;max-height:55%;box-sizing:border-box}.flex-md-60,.layout-row>.flex-md-60{-webkit-box-flex:1;-webkit-flex:1 1 60%;flex:1 1 60%;max-width:60%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-60{-webkit-box-flex:1;-webkit-flex:1 1 60%;flex:1 1 60%;max-width:100%;max-height:60%;box-sizing:border-box}.layout-md-row>.flex-md-60{-webkit-box-flex:1;-webkit-flex:1 1 60%;flex:1 1 60%;max-width:60%;max-height:100%;box-sizing:border-box}.layout-md-column>.flex-md-60{-webkit-box-flex:1;-webkit-flex:1 1 60%;flex:1 1 60%;max-width:100%;max-height:60%;box-sizing:border-box}.flex-md-65,.layout-row>.flex-md-65{-webkit-box-flex:1;-webkit-flex:1 1 65%;flex:1 1 65%;max-width:65%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-65{-webkit-box-flex:1;-webkit-flex:1 1 65%;flex:1 1 65%;max-width:100%;max-height:65%;box-sizing:border-box}.layout-md-row>.flex-md-65{-webkit-box-flex:1;-webkit-flex:1 1 65%;flex:1 1 65%;max-width:65%;max-height:100%;box-sizing:border-box}.layout-md-column>.flex-md-65{-webkit-box-flex:1;-webkit-flex:1 1 65%;flex:1 1 65%;max-width:100%;max-height:65%;box-sizing:border-box}.flex-md-70,.layout-row>.flex-md-70{-webkit-box-flex:1;-webkit-flex:1 1 70%;flex:1 1 70%;max-width:70%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-70{-webkit-box-flex:1;-webkit-flex:1 1 70%;flex:1 1 70%;max-width:100%;max-height:70%;box-sizing:border-box}.layout-md-row>.flex-md-70{-webkit-box-flex:1;-webkit-flex:1 1 70%;flex:1 1 70%;max-width:70%;max-height:100%;box-sizing:border-box}.layout-md-column>.flex-md-70{-webkit-box-flex:1;-webkit-flex:1 1 70%;flex:1 1 70%;max-width:100%;max-height:70%;box-sizing:border-box}.flex-md-75,.layout-row>.flex-md-75{-webkit-box-flex:1;-webkit-flex:1 1 75%;flex:1 1 75%;max-width:75%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-75{-webkit-box-flex:1;-webkit-flex:1 1 75%;flex:1 1 75%;max-width:100%;max-height:75%;box-sizing:border-box}.layout-md-row>.flex-md-75{-webkit-box-flex:1;-webkit-flex:1 1 75%;flex:1 1 75%;max-width:75%;max-height:100%;box-sizing:border-box}.layout-md-column>.flex-md-75{-webkit-box-flex:1;-webkit-flex:1 1 75%;flex:1 1 75%;max-width:100%;max-height:75%;box-sizing:border-box}.flex-md-80,.layout-row>.flex-md-80{-webkit-box-flex:1;-webkit-flex:1 1 80%;flex:1 1 80%;max-width:80%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-80{-webkit-box-flex:1;-webkit-flex:1 1 80%;flex:1 1 80%;max-width:100%;max-height:80%;box-sizing:border-box}.layout-md-row>.flex-md-80{-webkit-box-flex:1;-webkit-flex:1 1 80%;flex:1 1 80%;max-width:80%;max-height:100%;box-sizing:border-box}.layout-md-column>.flex-md-80{-webkit-box-flex:1;-webkit-flex:1 1 80%;flex:1 1 80%;max-width:100%;max-height:80%;box-sizing:border-box}.flex-md-85,.layout-row>.flex-md-85{-webkit-box-flex:1;-webkit-flex:1 1 85%;flex:1 1 85%;max-width:85%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-85{-webkit-box-flex:1;-webkit-flex:1 1 85%;flex:1 1 85%;max-width:100%;max-height:85%;box-sizing:border-box}.layout-md-row>.flex-md-85{-webkit-box-flex:1;-webkit-flex:1 1 85%;flex:1 1 85%;max-width:85%;max-height:100%;box-sizing:border-box}.layout-md-column>.flex-md-85{-webkit-box-flex:1;-webkit-flex:1 1 85%;flex:1 1 85%;max-width:100%;max-height:85%;box-sizing:border-box}.flex-md-90,.layout-row>.flex-md-90{-webkit-box-flex:1;-webkit-flex:1 1 90%;flex:1 1 90%;max-width:90%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-90{-webkit-box-flex:1;-webkit-flex:1 1 90%;flex:1 1 90%;max-width:100%;max-height:90%;box-sizing:border-box}.layout-md-row>.flex-md-90{-webkit-box-flex:1;-webkit-flex:1 1 90%;flex:1 1 90%;max-width:90%;max-height:100%;box-sizing:border-box}.layout-md-column>.flex-md-90{-webkit-box-flex:1;-webkit-flex:1 1 90%;flex:1 1 90%;max-width:100%;max-height:90%;box-sizing:border-box}.flex-md-95,.layout-row>.flex-md-95{-webkit-box-flex:1;-webkit-flex:1 1 95%;flex:1 1 95%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-95{-webkit-box-flex:1;-webkit-flex:1 1 95%;flex:1 1 95%;max-width:100%;max-height:95%;box-sizing:border-box}.layout-md-row>.flex-md-95{-webkit-box-flex:1;-webkit-flex:1 1 95%;flex:1 1 95%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-md-column>.flex-md-95{-webkit-box-flex:1;-webkit-flex:1 1 95%;flex:1 1 95%;max-width:100%;max-height:95%;box-sizing:border-box}.flex-md-100,.layout-column>.flex-md-100,.layout-row>.flex-md-100{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-row>.flex-md-33,.layout-row>.flex-md-66{-webkit-box-flex:1;max-height:100%;box-sizing:border-box}.layout-row>.flex-md-33{-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:33.33%}.layout-row>.flex-md-66{-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:66.66%}.layout-column>.flex-md-33{-webkit-box-flex:1;-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:100%;max-height:33.33%;box-sizing:border-box}.layout-column>.flex-md-66{-webkit-box-flex:1;-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:100%;max-height:66.66%;box-sizing:border-box}.layout-md-column>.flex-md-100,.layout-md-row>.flex-md-100{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-md-row>.flex-md-33{-webkit-box-flex:1;-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:33.33%;max-height:100%;box-sizing:border-box}.layout-md-row>.flex-md-66{-webkit-box-flex:1;-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:66.66%;max-height:100%;box-sizing:border-box}.layout-md-row>.flex{min-width:0}.layout-md-column>.flex-md-33{-webkit-box-flex:1;-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:100%;max-height:33.33%;box-sizing:border-box}.layout-md-column>.flex-md-66{-webkit-box-flex:1;-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:100%;max-height:66.66%;box-sizing:border-box}.layout-md-column>.flex{min-height:0}.layout-md,.layout-md-column,.layout-md-row{box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:flex}.layout-md-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column}.layout-md-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}}@media (min-width:1280px){.flex-gt-md,.flex-gt-md-auto,.flex-gt-md-grow,.flex-gt-md-initial,.flex-gt-md-none,.flex-gt-md-noshrink{box-sizing:border-box}.flex-order-gt-md--20{-webkit-box-ordinal-group:-19;-webkit-order:-20;order:-20}.flex-order-gt-md--19{-webkit-box-ordinal-group:-18;-webkit-order:-19;order:-19}.flex-order-gt-md--18{-webkit-box-ordinal-group:-17;-webkit-order:-18;order:-18}.flex-order-gt-md--17{-webkit-box-ordinal-group:-16;-webkit-order:-17;order:-17}.flex-order-gt-md--16{-webkit-box-ordinal-group:-15;-webkit-order:-16;order:-16}.flex-order-gt-md--15{-webkit-box-ordinal-group:-14;-webkit-order:-15;order:-15}.flex-order-gt-md--14{-webkit-box-ordinal-group:-13;-webkit-order:-14;order:-14}.flex-order-gt-md--13{-webkit-box-ordinal-group:-12;-webkit-order:-13;order:-13}.flex-order-gt-md--12{-webkit-box-ordinal-group:-11;-webkit-order:-12;order:-12}.flex-order-gt-md--11{-webkit-box-ordinal-group:-10;-webkit-order:-11;order:-11}.flex-order-gt-md--10{-webkit-box-ordinal-group:-9;-webkit-order:-10;order:-10}.flex-order-gt-md--9{-webkit-box-ordinal-group:-8;-webkit-order:-9;order:-9}.flex-order-gt-md--8{-webkit-box-ordinal-group:-7;-webkit-order:-8;order:-8}.flex-order-gt-md--7{-webkit-box-ordinal-group:-6;-webkit-order:-7;order:-7}.flex-order-gt-md--6{-webkit-box-ordinal-group:-5;-webkit-order:-6;order:-6}.flex-order-gt-md--5{-webkit-box-ordinal-group:-4;-webkit-order:-5;order:-5}.flex-order-gt-md--4{-webkit-box-ordinal-group:-3;-webkit-order:-4;order:-4}.flex-order-gt-md--3{-webkit-box-ordinal-group:-2;-webkit-order:-3;order:-3}.flex-order-gt-md--2{-webkit-box-ordinal-group:-1;-webkit-order:-2;order:-2}.flex-order-gt-md--1{-webkit-box-ordinal-group:0;-webkit-order:-1;order:-1}.flex-order-gt-md-0{-webkit-box-ordinal-group:1;-webkit-order:0;order:0}.flex-order-gt-md-1{-webkit-box-ordinal-group:2;-webkit-order:1;order:1}.flex-order-gt-md-2{-webkit-box-ordinal-group:3;-webkit-order:2;order:2}.flex-order-gt-md-3{-webkit-box-ordinal-group:4;-webkit-order:3;order:3}.flex-order-gt-md-4{-webkit-box-ordinal-group:5;-webkit-order:4;order:4}.flex-order-gt-md-5{-webkit-box-ordinal-group:6;-webkit-order:5;order:5}.flex-order-gt-md-6{-webkit-box-ordinal-group:7;-webkit-order:6;order:6}.flex-order-gt-md-7{-webkit-box-ordinal-group:8;-webkit-order:7;order:7}.flex-order-gt-md-8{-webkit-box-ordinal-group:9;-webkit-order:8;order:8}.flex-order-gt-md-9{-webkit-box-ordinal-group:10;-webkit-order:9;order:9}.flex-order-gt-md-10{-webkit-box-ordinal-group:11;-webkit-order:10;order:10}.flex-order-gt-md-11{-webkit-box-ordinal-group:12;-webkit-order:11;order:11}.flex-order-gt-md-12{-webkit-box-ordinal-group:13;-webkit-order:12;order:12}.flex-order-gt-md-13{-webkit-box-ordinal-group:14;-webkit-order:13;order:13}.flex-order-gt-md-14{-webkit-box-ordinal-group:15;-webkit-order:14;order:14}.flex-order-gt-md-15{-webkit-box-ordinal-group:16;-webkit-order:15;order:15}.flex-order-gt-md-16{-webkit-box-ordinal-group:17;-webkit-order:16;order:16}.flex-order-gt-md-17{-webkit-box-ordinal-group:18;-webkit-order:17;order:17}.flex-order-gt-md-18{-webkit-box-ordinal-group:19;-webkit-order:18;order:18}.flex-order-gt-md-19{-webkit-box-ordinal-group:20;-webkit-order:19;order:19}.flex-order-gt-md-20{-webkit-box-ordinal-group:21;-webkit-order:20;order:20}.flex-offset-gt-md-0,.offset-gt-md-0{margin-left:0}[dir=rtl] .flex-offset-gt-md-0,[dir=rtl] .offset-gt-md-0{margin-left:auto;margin-right:0}.flex-offset-gt-md-5,.offset-gt-md-5{margin-left:5%}[dir=rtl] .flex-offset-gt-md-5,[dir=rtl] .offset-gt-md-5{margin-left:auto;margin-right:5%}.flex-offset-gt-md-10,.offset-gt-md-10{margin-left:10%}[dir=rtl] .flex-offset-gt-md-10,[dir=rtl] .offset-gt-md-10{margin-left:auto;margin-right:10%}.flex-offset-gt-md-15,.offset-gt-md-15{margin-left:15%}[dir=rtl] .flex-offset-gt-md-15,[dir=rtl] .offset-gt-md-15{margin-left:auto;margin-right:15%}.flex-offset-gt-md-20,.offset-gt-md-20{margin-left:20%}[dir=rtl] .flex-offset-gt-md-20,[dir=rtl] .offset-gt-md-20{margin-left:auto;margin-right:20%}.flex-offset-gt-md-25,.offset-gt-md-25{margin-left:25%}[dir=rtl] .flex-offset-gt-md-25,[dir=rtl] .offset-gt-md-25{margin-left:auto;margin-right:25%}.flex-offset-gt-md-30,.offset-gt-md-30{margin-left:30%}[dir=rtl] .flex-offset-gt-md-30,[dir=rtl] .offset-gt-md-30{margin-left:auto;margin-right:30%}.flex-offset-gt-md-35,.offset-gt-md-35{margin-left:35%}[dir=rtl] .flex-offset-gt-md-35,[dir=rtl] .offset-gt-md-35{margin-left:auto;margin-right:35%}.flex-offset-gt-md-40,.offset-gt-md-40{margin-left:40%}[dir=rtl] .flex-offset-gt-md-40,[dir=rtl] .offset-gt-md-40{margin-left:auto;margin-right:40%}.flex-offset-gt-md-45,.offset-gt-md-45{margin-left:45%}[dir=rtl] .flex-offset-gt-md-45,[dir=rtl] .offset-gt-md-45{margin-left:auto;margin-right:45%}.flex-offset-gt-md-50,.offset-gt-md-50{margin-left:50%}[dir=rtl] .flex-offset-gt-md-50,[dir=rtl] .offset-gt-md-50{margin-left:auto;margin-right:50%}.flex-offset-gt-md-55,.offset-gt-md-55{margin-left:55%}[dir=rtl] .flex-offset-gt-md-55,[dir=rtl] .offset-gt-md-55{margin-left:auto;margin-right:55%}.flex-offset-gt-md-60,.offset-gt-md-60{margin-left:60%}[dir=rtl] .flex-offset-gt-md-60,[dir=rtl] .offset-gt-md-60{margin-left:auto;margin-right:60%}.flex-offset-gt-md-65,.offset-gt-md-65{margin-left:65%}[dir=rtl] .flex-offset-gt-md-65,[dir=rtl] .offset-gt-md-65{margin-left:auto;margin-right:65%}.flex-offset-gt-md-70,.offset-gt-md-70{margin-left:70%}[dir=rtl] .flex-offset-gt-md-70,[dir=rtl] .offset-gt-md-70{margin-left:auto;margin-right:70%}.flex-offset-gt-md-75,.offset-gt-md-75{margin-left:75%}[dir=rtl] .flex-offset-gt-md-75,[dir=rtl] .offset-gt-md-75{margin-left:auto;margin-right:75%}.flex-offset-gt-md-80,.offset-gt-md-80{margin-left:80%}[dir=rtl] .flex-offset-gt-md-80,[dir=rtl] .offset-gt-md-80{margin-left:auto;margin-right:80%}.flex-offset-gt-md-85,.offset-gt-md-85{margin-left:85%}[dir=rtl] .flex-offset-gt-md-85,[dir=rtl] .offset-gt-md-85{margin-left:auto;margin-right:85%}.flex-offset-gt-md-90,.offset-gt-md-90{margin-left:90%}[dir=rtl] .flex-offset-gt-md-90,[dir=rtl] .offset-gt-md-90{margin-left:auto;margin-right:90%}.flex-offset-gt-md-95,.offset-gt-md-95{margin-left:95%}[dir=rtl] .flex-offset-gt-md-95,[dir=rtl] .offset-gt-md-95{margin-left:auto;margin-right:95%}.flex-offset-gt-md-33,.offset-gt-md-33{margin-left:calc(100% / 3)}.flex-offset-gt-md-66,.offset-gt-md-66{margin-left:calc(200% / 3)}[dir=rtl] .flex-offset-gt-md-66,[dir=rtl] .offset-gt-md-66{margin-left:auto;margin-right:calc(200% / 3)}.layout-align-gt-md,.layout-align-gt-md-start-stretch{-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;-webkit-align-content:stretch;align-content:stretch;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-grid-row-align:stretch;align-items:stretch}.layout-align-gt-md-start,.layout-align-gt-md-start-center,.layout-align-gt-md-start-end,.layout-align-gt-md-start-start,.layout-align-gt-md-start-stretch{-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.layout-align-gt-md-center,.layout-align-gt-md-center-center,.layout-align-gt-md-center-end,.layout-align-gt-md-center-start,.layout-align-gt-md-center-stretch{-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.layout-align-gt-md-end,.layout-align-gt-md-end-center,.layout-align-gt-md-end-end,.layout-align-gt-md-end-start,.layout-align-gt-md-end-stretch{-webkit-box-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.layout-align-gt-md-space-around,.layout-align-gt-md-space-around-center,.layout-align-gt-md-space-around-end,.layout-align-gt-md-space-around-start,.layout-align-gt-md-space-around-stretch{-webkit-justify-content:space-around;justify-content:space-around}.layout-align-gt-md-space-between,.layout-align-gt-md-space-between-center,.layout-align-gt-md-space-between-end,.layout-align-gt-md-space-between-start,.layout-align-gt-md-space-between-stretch{-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.layout-align-gt-md-center-start,.layout-align-gt-md-end-start,.layout-align-gt-md-space-around-start,.layout-align-gt-md-space-between-start,.layout-align-gt-md-start-start{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-grid-row-align:flex-start;align-items:flex-start;-webkit-align-content:flex-start;align-content:flex-start}.layout-align-gt-md-center-center,.layout-align-gt-md-end-center,.layout-align-gt-md-space-around-center,.layout-align-gt-md-space-between-center,.layout-align-gt-md-start-center{-webkit-box-align:center;-webkit-align-items:center;-ms-grid-row-align:center;align-items:center;-webkit-align-content:center;align-content:center;max-width:100%}.layout-align-gt-md-center-center>*,.layout-align-gt-md-end-center>*,.layout-align-gt-md-space-around-center>*,.layout-align-gt-md-space-between-center>*,.layout-align-gt-md-start-center>*{max-width:100%;box-sizing:border-box}.layout-align-gt-md-center-end,.layout-align-gt-md-end-end,.layout-align-gt-md-space-around-end,.layout-align-gt-md-space-between-end,.layout-align-gt-md-start-end{-webkit-box-align:end;-webkit-align-items:flex-end;-ms-grid-row-align:flex-end;align-items:flex-end;-webkit-align-content:flex-end;align-content:flex-end}.layout-align-gt-md-center-stretch,.layout-align-gt-md-end-stretch,.layout-align-gt-md-space-around-stretch,.layout-align-gt-md-space-between-stretch,.layout-align-gt-md-start-stretch{-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-grid-row-align:stretch;align-items:stretch;-webkit-align-content:stretch;align-content:stretch}.flex-gt-md{-webkit-box-flex:1;-webkit-flex:1;flex:1}.flex-gt-md-grow{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%}.flex-gt-md-initial{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto}.flex-gt-md-auto{-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto}.flex-gt-md-none{-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto}.flex-gt-md-noshrink{-webkit-box-flex:1;-webkit-flex:1 0 auto;flex:1 0 auto}.flex-gt-md-nogrow{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-gt-md-0,.layout-row>.flex-gt-md-0{-webkit-box-flex:1;max-width:0%;max-height:100%;box-sizing:border-box}.flex-gt-md-0{-webkit-flex:1 1 0%;flex:1 1 0%}.layout-row>.flex-gt-md-0{-webkit-flex:1 1 0%;flex:1 1 0%;min-width:0}.layout-column>.flex-gt-md-0{-webkit-box-flex:1;-webkit-flex:1 1 0%;flex:1 1 0%;max-width:100%;max-height:0%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-0{-webkit-box-flex:1;-webkit-flex:1 1 0%;flex:1 1 0%;max-width:0%;max-height:100%;box-sizing:border-box;min-width:0}.layout-gt-md-column>.flex-gt-md-0{-webkit-box-flex:1;-webkit-flex:1 1 0%;flex:1 1 0%;max-width:100%;max-height:0%;box-sizing:border-box;min-height:0}.flex-gt-md-5,.layout-row>.flex-gt-md-5{-webkit-box-flex:1;-webkit-flex:1 1 5%;flex:1 1 5%;max-width:5%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-5{-webkit-box-flex:1;-webkit-flex:1 1 5%;flex:1 1 5%;max-width:100%;max-height:5%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-5{-webkit-box-flex:1;-webkit-flex:1 1 5%;flex:1 1 5%;max-width:5%;max-height:100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-5{-webkit-box-flex:1;-webkit-flex:1 1 5%;flex:1 1 5%;max-width:100%;max-height:5%;box-sizing:border-box}.flex-gt-md-10,.layout-row>.flex-gt-md-10{-webkit-box-flex:1;-webkit-flex:1 1 10%;flex:1 1 10%;max-width:10%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-10{-webkit-box-flex:1;-webkit-flex:1 1 10%;flex:1 1 10%;max-width:100%;max-height:10%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-10{-webkit-box-flex:1;-webkit-flex:1 1 10%;flex:1 1 10%;max-width:10%;max-height:100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-10{-webkit-box-flex:1;-webkit-flex:1 1 10%;flex:1 1 10%;max-width:100%;max-height:10%;box-sizing:border-box}.flex-gt-md-15,.layout-row>.flex-gt-md-15{-webkit-box-flex:1;-webkit-flex:1 1 15%;flex:1 1 15%;max-width:15%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-15{-webkit-box-flex:1;-webkit-flex:1 1 15%;flex:1 1 15%;max-width:100%;max-height:15%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-15{-webkit-box-flex:1;-webkit-flex:1 1 15%;flex:1 1 15%;max-width:15%;max-height:100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-15{-webkit-box-flex:1;-webkit-flex:1 1 15%;flex:1 1 15%;max-width:100%;max-height:15%;box-sizing:border-box}.flex-gt-md-20,.layout-row>.flex-gt-md-20{-webkit-box-flex:1;-webkit-flex:1 1 20%;flex:1 1 20%;max-width:20%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-20{-webkit-box-flex:1;-webkit-flex:1 1 20%;flex:1 1 20%;max-width:100%;max-height:20%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-20{-webkit-box-flex:1;-webkit-flex:1 1 20%;flex:1 1 20%;max-width:20%;max-height:100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-20{-webkit-box-flex:1;-webkit-flex:1 1 20%;flex:1 1 20%;max-width:100%;max-height:20%;box-sizing:border-box}.flex-gt-md-25,.layout-row>.flex-gt-md-25{-webkit-box-flex:1;-webkit-flex:1 1 25%;flex:1 1 25%;max-width:25%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-25{-webkit-box-flex:1;-webkit-flex:1 1 25%;flex:1 1 25%;max-width:100%;max-height:25%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-25{-webkit-box-flex:1;-webkit-flex:1 1 25%;flex:1 1 25%;max-width:25%;max-height:100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-25{-webkit-box-flex:1;-webkit-flex:1 1 25%;flex:1 1 25%;max-width:100%;max-height:25%;box-sizing:border-box}.flex-gt-md-30,.layout-row>.flex-gt-md-30{-webkit-box-flex:1;-webkit-flex:1 1 30%;flex:1 1 30%;max-width:30%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-30{-webkit-box-flex:1;-webkit-flex:1 1 30%;flex:1 1 30%;max-width:100%;max-height:30%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-30{-webkit-box-flex:1;-webkit-flex:1 1 30%;flex:1 1 30%;max-width:30%;max-height:100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-30{-webkit-box-flex:1;-webkit-flex:1 1 30%;flex:1 1 30%;max-width:100%;max-height:30%;box-sizing:border-box}.flex-gt-md-35,.layout-row>.flex-gt-md-35{-webkit-box-flex:1;-webkit-flex:1 1 35%;flex:1 1 35%;max-width:35%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-35{-webkit-box-flex:1;-webkit-flex:1 1 35%;flex:1 1 35%;max-width:100%;max-height:35%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-35{-webkit-box-flex:1;-webkit-flex:1 1 35%;flex:1 1 35%;max-width:35%;max-height:100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-35{-webkit-box-flex:1;-webkit-flex:1 1 35%;flex:1 1 35%;max-width:100%;max-height:35%;box-sizing:border-box}.flex-gt-md-40,.layout-row>.flex-gt-md-40{-webkit-box-flex:1;-webkit-flex:1 1 40%;flex:1 1 40%;max-width:40%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-40{-webkit-box-flex:1;-webkit-flex:1 1 40%;flex:1 1 40%;max-width:100%;max-height:40%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-40{-webkit-box-flex:1;-webkit-flex:1 1 40%;flex:1 1 40%;max-width:40%;max-height:100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-40{-webkit-box-flex:1;-webkit-flex:1 1 40%;flex:1 1 40%;max-width:100%;max-height:40%;box-sizing:border-box}.flex-gt-md-45,.layout-row>.flex-gt-md-45{-webkit-box-flex:1;-webkit-flex:1 1 45%;flex:1 1 45%;max-width:45%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-45{-webkit-box-flex:1;-webkit-flex:1 1 45%;flex:1 1 45%;max-width:100%;max-height:45%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-45{-webkit-box-flex:1;-webkit-flex:1 1 45%;flex:1 1 45%;max-width:45%;max-height:100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-45{-webkit-box-flex:1;-webkit-flex:1 1 45%;flex:1 1 45%;max-width:100%;max-height:45%;box-sizing:border-box}.flex-gt-md-50,.layout-row>.flex-gt-md-50{-webkit-box-flex:1;-webkit-flex:1 1 50%;flex:1 1 50%;max-width:50%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-50{-webkit-box-flex:1;-webkit-flex:1 1 50%;flex:1 1 50%;max-width:100%;max-height:50%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-50{-webkit-box-flex:1;-webkit-flex:1 1 50%;flex:1 1 50%;max-width:50%;max-height:100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-50{-webkit-box-flex:1;-webkit-flex:1 1 50%;flex:1 1 50%;max-width:100%;max-height:50%;box-sizing:border-box}.flex-gt-md-55,.layout-row>.flex-gt-md-55{-webkit-box-flex:1;-webkit-flex:1 1 55%;flex:1 1 55%;max-width:55%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-55{-webkit-box-flex:1;-webkit-flex:1 1 55%;flex:1 1 55%;max-width:100%;max-height:55%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-55{-webkit-box-flex:1;-webkit-flex:1 1 55%;flex:1 1 55%;max-width:55%;max-height:100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-55{-webkit-box-flex:1;-webkit-flex:1 1 55%;flex:1 1 55%;max-width:100%;max-height:55%;box-sizing:border-box}.flex-gt-md-60,.layout-row>.flex-gt-md-60{-webkit-box-flex:1;-webkit-flex:1 1 60%;flex:1 1 60%;max-width:60%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-60{-webkit-box-flex:1;-webkit-flex:1 1 60%;flex:1 1 60%;max-width:100%;max-height:60%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-60{-webkit-box-flex:1;-webkit-flex:1 1 60%;flex:1 1 60%;max-width:60%;max-height:100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-60{-webkit-box-flex:1;-webkit-flex:1 1 60%;flex:1 1 60%;max-width:100%;max-height:60%;box-sizing:border-box}.flex-gt-md-65,.layout-row>.flex-gt-md-65{-webkit-box-flex:1;-webkit-flex:1 1 65%;flex:1 1 65%;max-width:65%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-65{-webkit-box-flex:1;-webkit-flex:1 1 65%;flex:1 1 65%;max-width:100%;max-height:65%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-65{-webkit-box-flex:1;-webkit-flex:1 1 65%;flex:1 1 65%;max-width:65%;max-height:100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-65{-webkit-box-flex:1;-webkit-flex:1 1 65%;flex:1 1 65%;max-width:100%;max-height:65%;box-sizing:border-box}.flex-gt-md-70,.layout-row>.flex-gt-md-70{-webkit-box-flex:1;-webkit-flex:1 1 70%;flex:1 1 70%;max-width:70%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-70{-webkit-box-flex:1;-webkit-flex:1 1 70%;flex:1 1 70%;max-width:100%;max-height:70%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-70{-webkit-box-flex:1;-webkit-flex:1 1 70%;flex:1 1 70%;max-width:70%;max-height:100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-70{-webkit-box-flex:1;-webkit-flex:1 1 70%;flex:1 1 70%;max-width:100%;max-height:70%;box-sizing:border-box}.flex-gt-md-75,.layout-row>.flex-gt-md-75{-webkit-box-flex:1;-webkit-flex:1 1 75%;flex:1 1 75%;max-width:75%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-75{-webkit-box-flex:1;-webkit-flex:1 1 75%;flex:1 1 75%;max-width:100%;max-height:75%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-75{-webkit-box-flex:1;-webkit-flex:1 1 75%;flex:1 1 75%;max-width:75%;max-height:100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-75{-webkit-box-flex:1;-webkit-flex:1 1 75%;flex:1 1 75%;max-width:100%;max-height:75%;box-sizing:border-box}.flex-gt-md-80,.layout-row>.flex-gt-md-80{-webkit-box-flex:1;-webkit-flex:1 1 80%;flex:1 1 80%;max-width:80%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-80{-webkit-box-flex:1;-webkit-flex:1 1 80%;flex:1 1 80%;max-width:100%;max-height:80%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-80{-webkit-box-flex:1;-webkit-flex:1 1 80%;flex:1 1 80%;max-width:80%;max-height:100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-80{-webkit-box-flex:1;-webkit-flex:1 1 80%;flex:1 1 80%;max-width:100%;max-height:80%;box-sizing:border-box}.flex-gt-md-85,.layout-row>.flex-gt-md-85{-webkit-box-flex:1;-webkit-flex:1 1 85%;flex:1 1 85%;max-width:85%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-85{-webkit-box-flex:1;-webkit-flex:1 1 85%;flex:1 1 85%;max-width:100%;max-height:85%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-85{-webkit-box-flex:1;-webkit-flex:1 1 85%;flex:1 1 85%;max-width:85%;max-height:100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-85{-webkit-box-flex:1;-webkit-flex:1 1 85%;flex:1 1 85%;max-width:100%;max-height:85%;box-sizing:border-box}.flex-gt-md-90,.layout-row>.flex-gt-md-90{-webkit-box-flex:1;-webkit-flex:1 1 90%;flex:1 1 90%;max-width:90%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-90{-webkit-box-flex:1;-webkit-flex:1 1 90%;flex:1 1 90%;max-width:100%;max-height:90%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-90{-webkit-box-flex:1;-webkit-flex:1 1 90%;flex:1 1 90%;max-width:90%;max-height:100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-90{-webkit-box-flex:1;-webkit-flex:1 1 90%;flex:1 1 90%;max-width:100%;max-height:90%;box-sizing:border-box}.flex-gt-md-95,.layout-row>.flex-gt-md-95{-webkit-box-flex:1;-webkit-flex:1 1 95%;flex:1 1 95%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-95{-webkit-box-flex:1;-webkit-flex:1 1 95%;flex:1 1 95%;max-width:100%;max-height:95%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-95{-webkit-box-flex:1;-webkit-flex:1 1 95%;flex:1 1 95%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-95{-webkit-box-flex:1;-webkit-flex:1 1 95%;flex:1 1 95%;max-width:100%;max-height:95%;box-sizing:border-box}.flex-gt-md-100,.layout-column>.flex-gt-md-100,.layout-row>.flex-gt-md-100{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-row>.flex-gt-md-33,.layout-row>.flex-gt-md-66{-webkit-box-flex:1;max-height:100%;box-sizing:border-box}.layout-row>.flex-gt-md-33{-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:33.33%}.layout-row>.flex-gt-md-66{-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:66.66%}.layout-column>.flex-gt-md-33{-webkit-box-flex:1;-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:100%;max-height:33.33%;box-sizing:border-box}.layout-column>.flex-gt-md-66{-webkit-box-flex:1;-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:100%;max-height:66.66%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-100,.layout-gt-md-row>.flex-gt-md-100{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-33{-webkit-box-flex:1;-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:33.33%;max-height:100%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-66{-webkit-box-flex:1;-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:66.66%;max-height:100%;box-sizing:border-box}.layout-gt-md-row>.flex{min-width:0}.layout-gt-md-column>.flex-gt-md-33{-webkit-box-flex:1;-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:100%;max-height:33.33%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-66{-webkit-box-flex:1;-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:100%;max-height:66.66%;box-sizing:border-box}.layout-gt-md-column>.flex{min-height:0}.layout-gt-md,.layout-gt-md-column,.layout-gt-md-row{box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:flex}.layout-gt-md-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column}.layout-gt-md-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}}@media (min-width:1280px) and (max-width:1919px){.flex-lg,.flex-lg-auto,.flex-lg-grow,.flex-lg-initial,.flex-lg-none,.flex-lg-noshrink{box-sizing:border-box}.hide-gt-md:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-lg):not(.show),.hide-gt-sm:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-lg):not(.show),.hide-gt-xs:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-lg):not(.show),.hide-lg:not(.show-lg):not(.show-gt-md):not(.show-gt-sm):not(.show-gt-xs):not(.show),.hide:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-lg):not(.show){display:none}.flex-order-lg--20{-webkit-box-ordinal-group:-19;-webkit-order:-20;order:-20}.flex-order-lg--19{-webkit-box-ordinal-group:-18;-webkit-order:-19;order:-19}.flex-order-lg--18{-webkit-box-ordinal-group:-17;-webkit-order:-18;order:-18}.flex-order-lg--17{-webkit-box-ordinal-group:-16;-webkit-order:-17;order:-17}.flex-order-lg--16{-webkit-box-ordinal-group:-15;-webkit-order:-16;order:-16}.flex-order-lg--15{-webkit-box-ordinal-group:-14;-webkit-order:-15;order:-15}.flex-order-lg--14{-webkit-box-ordinal-group:-13;-webkit-order:-14;order:-14}.flex-order-lg--13{-webkit-box-ordinal-group:-12;-webkit-order:-13;order:-13}.flex-order-lg--12{-webkit-box-ordinal-group:-11;-webkit-order:-12;order:-12}.flex-order-lg--11{-webkit-box-ordinal-group:-10;-webkit-order:-11;order:-11}.flex-order-lg--10{-webkit-box-ordinal-group:-9;-webkit-order:-10;order:-10}.flex-order-lg--9{-webkit-box-ordinal-group:-8;-webkit-order:-9;order:-9}.flex-order-lg--8{-webkit-box-ordinal-group:-7;-webkit-order:-8;order:-8}.flex-order-lg--7{-webkit-box-ordinal-group:-6;-webkit-order:-7;order:-7}.flex-order-lg--6{-webkit-box-ordinal-group:-5;-webkit-order:-6;order:-6}.flex-order-lg--5{-webkit-box-ordinal-group:-4;-webkit-order:-5;order:-5}.flex-order-lg--4{-webkit-box-ordinal-group:-3;-webkit-order:-4;order:-4}.flex-order-lg--3{-webkit-box-ordinal-group:-2;-webkit-order:-3;order:-3}.flex-order-lg--2{-webkit-box-ordinal-group:-1;-webkit-order:-2;order:-2}.flex-order-lg--1{-webkit-box-ordinal-group:0;-webkit-order:-1;order:-1}.flex-order-lg-0{-webkit-box-ordinal-group:1;-webkit-order:0;order:0}.flex-order-lg-1{-webkit-box-ordinal-group:2;-webkit-order:1;order:1}.flex-order-lg-2{-webkit-box-ordinal-group:3;-webkit-order:2;order:2}.flex-order-lg-3{-webkit-box-ordinal-group:4;-webkit-order:3;order:3}.flex-order-lg-4{-webkit-box-ordinal-group:5;-webkit-order:4;order:4}.flex-order-lg-5{-webkit-box-ordinal-group:6;-webkit-order:5;order:5}.flex-order-lg-6{-webkit-box-ordinal-group:7;-webkit-order:6;order:6}.flex-order-lg-7{-webkit-box-ordinal-group:8;-webkit-order:7;order:7}.flex-order-lg-8{-webkit-box-ordinal-group:9;-webkit-order:8;order:8}.flex-order-lg-9{-webkit-box-ordinal-group:10;-webkit-order:9;order:9}.flex-order-lg-10{-webkit-box-ordinal-group:11;-webkit-order:10;order:10}.flex-order-lg-11{-webkit-box-ordinal-group:12;-webkit-order:11;order:11}.flex-order-lg-12{-webkit-box-ordinal-group:13;-webkit-order:12;order:12}.flex-order-lg-13{-webkit-box-ordinal-group:14;-webkit-order:13;order:13}.flex-order-lg-14{-webkit-box-ordinal-group:15;-webkit-order:14;order:14}.flex-order-lg-15{-webkit-box-ordinal-group:16;-webkit-order:15;order:15}.flex-order-lg-16{-webkit-box-ordinal-group:17;-webkit-order:16;order:16}.flex-order-lg-17{-webkit-box-ordinal-group:18;-webkit-order:17;order:17}.flex-order-lg-18{-webkit-box-ordinal-group:19;-webkit-order:18;order:18}.flex-order-lg-19{-webkit-box-ordinal-group:20;-webkit-order:19;order:19}.flex-order-lg-20{-webkit-box-ordinal-group:21;-webkit-order:20;order:20}.flex-offset-lg-0,.offset-lg-0{margin-left:0}[dir=rtl] .flex-offset-lg-0,[dir=rtl] .offset-lg-0{margin-left:auto;margin-right:0}.flex-offset-lg-5,.offset-lg-5{margin-left:5%}[dir=rtl] .flex-offset-lg-5,[dir=rtl] .offset-lg-5{margin-left:auto;margin-right:5%}.flex-offset-lg-10,.offset-lg-10{margin-left:10%}[dir=rtl] .flex-offset-lg-10,[dir=rtl] .offset-lg-10{margin-left:auto;margin-right:10%}.flex-offset-lg-15,.offset-lg-15{margin-left:15%}[dir=rtl] .flex-offset-lg-15,[dir=rtl] .offset-lg-15{margin-left:auto;margin-right:15%}.flex-offset-lg-20,.offset-lg-20{margin-left:20%}[dir=rtl] .flex-offset-lg-20,[dir=rtl] .offset-lg-20{margin-left:auto;margin-right:20%}.flex-offset-lg-25,.offset-lg-25{margin-left:25%}[dir=rtl] .flex-offset-lg-25,[dir=rtl] .offset-lg-25{margin-left:auto;margin-right:25%}.flex-offset-lg-30,.offset-lg-30{margin-left:30%}[dir=rtl] .flex-offset-lg-30,[dir=rtl] .offset-lg-30{margin-left:auto;margin-right:30%}.flex-offset-lg-35,.offset-lg-35{margin-left:35%}[dir=rtl] .flex-offset-lg-35,[dir=rtl] .offset-lg-35{margin-left:auto;margin-right:35%}.flex-offset-lg-40,.offset-lg-40{margin-left:40%}[dir=rtl] .flex-offset-lg-40,[dir=rtl] .offset-lg-40{margin-left:auto;margin-right:40%}.flex-offset-lg-45,.offset-lg-45{margin-left:45%}[dir=rtl] .flex-offset-lg-45,[dir=rtl] .offset-lg-45{margin-left:auto;margin-right:45%}.flex-offset-lg-50,.offset-lg-50{margin-left:50%}[dir=rtl] .flex-offset-lg-50,[dir=rtl] .offset-lg-50{margin-left:auto;margin-right:50%}.flex-offset-lg-55,.offset-lg-55{margin-left:55%}[dir=rtl] .flex-offset-lg-55,[dir=rtl] .offset-lg-55{margin-left:auto;margin-right:55%}.flex-offset-lg-60,.offset-lg-60{margin-left:60%}[dir=rtl] .flex-offset-lg-60,[dir=rtl] .offset-lg-60{margin-left:auto;margin-right:60%}.flex-offset-lg-65,.offset-lg-65{margin-left:65%}[dir=rtl] .flex-offset-lg-65,[dir=rtl] .offset-lg-65{margin-left:auto;margin-right:65%}.flex-offset-lg-70,.offset-lg-70{margin-left:70%}[dir=rtl] .flex-offset-lg-70,[dir=rtl] .offset-lg-70{margin-left:auto;margin-right:70%}.flex-offset-lg-75,.offset-lg-75{margin-left:75%}[dir=rtl] .flex-offset-lg-75,[dir=rtl] .offset-lg-75{margin-left:auto;margin-right:75%}.flex-offset-lg-80,.offset-lg-80{margin-left:80%}[dir=rtl] .flex-offset-lg-80,[dir=rtl] .offset-lg-80{margin-left:auto;margin-right:80%}.flex-offset-lg-85,.offset-lg-85{margin-left:85%}[dir=rtl] .flex-offset-lg-85,[dir=rtl] .offset-lg-85{margin-left:auto;margin-right:85%}.flex-offset-lg-90,.offset-lg-90{margin-left:90%}[dir=rtl] .flex-offset-lg-90,[dir=rtl] .offset-lg-90{margin-left:auto;margin-right:90%}.flex-offset-lg-95,.offset-lg-95{margin-left:95%}[dir=rtl] .flex-offset-lg-95,[dir=rtl] .offset-lg-95{margin-left:auto;margin-right:95%}.flex-offset-lg-33,.offset-lg-33{margin-left:calc(100% / 3)}.flex-offset-lg-66,.offset-lg-66{margin-left:calc(200% / 3)}[dir=rtl] .flex-offset-lg-66,[dir=rtl] .offset-lg-66{margin-left:auto;margin-right:calc(200% / 3)}.layout-align-lg,.layout-align-lg-start-stretch{-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;-webkit-align-content:stretch;align-content:stretch;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-grid-row-align:stretch;align-items:stretch}.layout-align-lg-start,.layout-align-lg-start-center,.layout-align-lg-start-end,.layout-align-lg-start-start,.layout-align-lg-start-stretch{-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.layout-align-lg-center,.layout-align-lg-center-center,.layout-align-lg-center-end,.layout-align-lg-center-start,.layout-align-lg-center-stretch{-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.layout-align-lg-end,.layout-align-lg-end-center,.layout-align-lg-end-end,.layout-align-lg-end-start,.layout-align-lg-end-stretch{-webkit-box-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.layout-align-lg-space-around,.layout-align-lg-space-around-center,.layout-align-lg-space-around-end,.layout-align-lg-space-around-start,.layout-align-lg-space-around-stretch{-webkit-justify-content:space-around;justify-content:space-around}.layout-align-lg-space-between,.layout-align-lg-space-between-center,.layout-align-lg-space-between-end,.layout-align-lg-space-between-start,.layout-align-lg-space-between-stretch{-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.layout-align-lg-center-start,.layout-align-lg-end-start,.layout-align-lg-space-around-start,.layout-align-lg-space-between-start,.layout-align-lg-start-start{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-grid-row-align:flex-start;align-items:flex-start;-webkit-align-content:flex-start;align-content:flex-start}.layout-align-lg-center-center,.layout-align-lg-end-center,.layout-align-lg-space-around-center,.layout-align-lg-space-between-center,.layout-align-lg-start-center{-webkit-box-align:center;-webkit-align-items:center;-ms-grid-row-align:center;align-items:center;-webkit-align-content:center;align-content:center;max-width:100%}.layout-align-lg-center-center>*,.layout-align-lg-end-center>*,.layout-align-lg-space-around-center>*,.layout-align-lg-space-between-center>*,.layout-align-lg-start-center>*{max-width:100%;box-sizing:border-box}.layout-align-lg-center-end,.layout-align-lg-end-end,.layout-align-lg-space-around-end,.layout-align-lg-space-between-end,.layout-align-lg-start-end{-webkit-box-align:end;-webkit-align-items:flex-end;-ms-grid-row-align:flex-end;align-items:flex-end;-webkit-align-content:flex-end;align-content:flex-end}.layout-align-lg-center-stretch,.layout-align-lg-end-stretch,.layout-align-lg-space-around-stretch,.layout-align-lg-space-between-stretch,.layout-align-lg-start-stretch{-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-grid-row-align:stretch;align-items:stretch;-webkit-align-content:stretch;align-content:stretch}.flex-lg{-webkit-box-flex:1;-webkit-flex:1;flex:1}.flex-lg-grow{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%}.flex-lg-initial{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto}.flex-lg-auto{-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto}.flex-lg-none{-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto}.flex-lg-noshrink{-webkit-box-flex:1;-webkit-flex:1 0 auto;flex:1 0 auto}.flex-lg-nogrow{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-lg-0,.layout-row>.flex-lg-0{-webkit-box-flex:1;max-width:0%;max-height:100%;box-sizing:border-box}.flex-lg-0{-webkit-flex:1 1 0%;flex:1 1 0%}.layout-row>.flex-lg-0{-webkit-flex:1 1 0%;flex:1 1 0%;min-width:0}.layout-column>.flex-lg-0{-webkit-box-flex:1;-webkit-flex:1 1 0%;flex:1 1 0%;max-width:100%;max-height:0%;box-sizing:border-box}.layout-lg-row>.flex-lg-0{-webkit-box-flex:1;-webkit-flex:1 1 0%;flex:1 1 0%;max-width:0%;max-height:100%;box-sizing:border-box;min-width:0}.layout-lg-column>.flex-lg-0{-webkit-box-flex:1;-webkit-flex:1 1 0%;flex:1 1 0%;max-width:100%;max-height:0%;box-sizing:border-box;min-height:0}.flex-lg-5,.layout-row>.flex-lg-5{-webkit-box-flex:1;-webkit-flex:1 1 5%;flex:1 1 5%;max-width:5%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-5{-webkit-box-flex:1;-webkit-flex:1 1 5%;flex:1 1 5%;max-width:100%;max-height:5%;box-sizing:border-box}.layout-lg-row>.flex-lg-5{-webkit-box-flex:1;-webkit-flex:1 1 5%;flex:1 1 5%;max-width:5%;max-height:100%;box-sizing:border-box}.layout-lg-column>.flex-lg-5{-webkit-box-flex:1;-webkit-flex:1 1 5%;flex:1 1 5%;max-width:100%;max-height:5%;box-sizing:border-box}.flex-lg-10,.layout-row>.flex-lg-10{-webkit-box-flex:1;-webkit-flex:1 1 10%;flex:1 1 10%;max-width:10%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-10{-webkit-box-flex:1;-webkit-flex:1 1 10%;flex:1 1 10%;max-width:100%;max-height:10%;box-sizing:border-box}.layout-lg-row>.flex-lg-10{-webkit-box-flex:1;-webkit-flex:1 1 10%;flex:1 1 10%;max-width:10%;max-height:100%;box-sizing:border-box}.layout-lg-column>.flex-lg-10{-webkit-box-flex:1;-webkit-flex:1 1 10%;flex:1 1 10%;max-width:100%;max-height:10%;box-sizing:border-box}.flex-lg-15,.layout-row>.flex-lg-15{-webkit-box-flex:1;-webkit-flex:1 1 15%;flex:1 1 15%;max-width:15%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-15{-webkit-box-flex:1;-webkit-flex:1 1 15%;flex:1 1 15%;max-width:100%;max-height:15%;box-sizing:border-box}.layout-lg-row>.flex-lg-15{-webkit-box-flex:1;-webkit-flex:1 1 15%;flex:1 1 15%;max-width:15%;max-height:100%;box-sizing:border-box}.layout-lg-column>.flex-lg-15{-webkit-box-flex:1;-webkit-flex:1 1 15%;flex:1 1 15%;max-width:100%;max-height:15%;box-sizing:border-box}.flex-lg-20,.layout-row>.flex-lg-20{-webkit-box-flex:1;-webkit-flex:1 1 20%;flex:1 1 20%;max-width:20%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-20{-webkit-box-flex:1;-webkit-flex:1 1 20%;flex:1 1 20%;max-width:100%;max-height:20%;box-sizing:border-box}.layout-lg-row>.flex-lg-20{-webkit-box-flex:1;-webkit-flex:1 1 20%;flex:1 1 20%;max-width:20%;max-height:100%;box-sizing:border-box}.layout-lg-column>.flex-lg-20{-webkit-box-flex:1;-webkit-flex:1 1 20%;flex:1 1 20%;max-width:100%;max-height:20%;box-sizing:border-box}.flex-lg-25,.layout-row>.flex-lg-25{-webkit-box-flex:1;-webkit-flex:1 1 25%;flex:1 1 25%;max-width:25%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-25{-webkit-box-flex:1;-webkit-flex:1 1 25%;flex:1 1 25%;max-width:100%;max-height:25%;box-sizing:border-box}.layout-lg-row>.flex-lg-25{-webkit-box-flex:1;-webkit-flex:1 1 25%;flex:1 1 25%;max-width:25%;max-height:100%;box-sizing:border-box}.layout-lg-column>.flex-lg-25{-webkit-box-flex:1;-webkit-flex:1 1 25%;flex:1 1 25%;max-width:100%;max-height:25%;box-sizing:border-box}.flex-lg-30,.layout-row>.flex-lg-30{-webkit-box-flex:1;-webkit-flex:1 1 30%;flex:1 1 30%;max-width:30%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-30{-webkit-box-flex:1;-webkit-flex:1 1 30%;flex:1 1 30%;max-width:100%;max-height:30%;box-sizing:border-box}.layout-lg-row>.flex-lg-30{-webkit-box-flex:1;-webkit-flex:1 1 30%;flex:1 1 30%;max-width:30%;max-height:100%;box-sizing:border-box}.layout-lg-column>.flex-lg-30{-webkit-box-flex:1;-webkit-flex:1 1 30%;flex:1 1 30%;max-width:100%;max-height:30%;box-sizing:border-box}.flex-lg-35,.layout-row>.flex-lg-35{-webkit-box-flex:1;-webkit-flex:1 1 35%;flex:1 1 35%;max-width:35%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-35{-webkit-box-flex:1;-webkit-flex:1 1 35%;flex:1 1 35%;max-width:100%;max-height:35%;box-sizing:border-box}.layout-lg-row>.flex-lg-35{-webkit-box-flex:1;-webkit-flex:1 1 35%;flex:1 1 35%;max-width:35%;max-height:100%;box-sizing:border-box}.layout-lg-column>.flex-lg-35{-webkit-box-flex:1;-webkit-flex:1 1 35%;flex:1 1 35%;max-width:100%;max-height:35%;box-sizing:border-box}.flex-lg-40,.layout-row>.flex-lg-40{-webkit-box-flex:1;-webkit-flex:1 1 40%;flex:1 1 40%;max-width:40%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-40{-webkit-box-flex:1;-webkit-flex:1 1 40%;flex:1 1 40%;max-width:100%;max-height:40%;box-sizing:border-box}.layout-lg-row>.flex-lg-40{-webkit-box-flex:1;-webkit-flex:1 1 40%;flex:1 1 40%;max-width:40%;max-height:100%;box-sizing:border-box}.layout-lg-column>.flex-lg-40{-webkit-box-flex:1;-webkit-flex:1 1 40%;flex:1 1 40%;max-width:100%;max-height:40%;box-sizing:border-box}.flex-lg-45,.layout-row>.flex-lg-45{-webkit-box-flex:1;-webkit-flex:1 1 45%;flex:1 1 45%;max-width:45%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-45{-webkit-box-flex:1;-webkit-flex:1 1 45%;flex:1 1 45%;max-width:100%;max-height:45%;box-sizing:border-box}.layout-lg-row>.flex-lg-45{-webkit-box-flex:1;-webkit-flex:1 1 45%;flex:1 1 45%;max-width:45%;max-height:100%;box-sizing:border-box}.layout-lg-column>.flex-lg-45{-webkit-box-flex:1;-webkit-flex:1 1 45%;flex:1 1 45%;max-width:100%;max-height:45%;box-sizing:border-box}.flex-lg-50,.layout-row>.flex-lg-50{-webkit-box-flex:1;-webkit-flex:1 1 50%;flex:1 1 50%;max-width:50%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-50{-webkit-box-flex:1;-webkit-flex:1 1 50%;flex:1 1 50%;max-width:100%;max-height:50%;box-sizing:border-box}.layout-lg-row>.flex-lg-50{-webkit-box-flex:1;-webkit-flex:1 1 50%;flex:1 1 50%;max-width:50%;max-height:100%;box-sizing:border-box}.layout-lg-column>.flex-lg-50{-webkit-box-flex:1;-webkit-flex:1 1 50%;flex:1 1 50%;max-width:100%;max-height:50%;box-sizing:border-box}.flex-lg-55,.layout-row>.flex-lg-55{-webkit-box-flex:1;-webkit-flex:1 1 55%;flex:1 1 55%;max-width:55%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-55{-webkit-box-flex:1;-webkit-flex:1 1 55%;flex:1 1 55%;max-width:100%;max-height:55%;box-sizing:border-box}.layout-lg-row>.flex-lg-55{-webkit-box-flex:1;-webkit-flex:1 1 55%;flex:1 1 55%;max-width:55%;max-height:100%;box-sizing:border-box}.layout-lg-column>.flex-lg-55{-webkit-box-flex:1;-webkit-flex:1 1 55%;flex:1 1 55%;max-width:100%;max-height:55%;box-sizing:border-box}.flex-lg-60,.layout-row>.flex-lg-60{-webkit-box-flex:1;-webkit-flex:1 1 60%;flex:1 1 60%;max-width:60%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-60{-webkit-box-flex:1;-webkit-flex:1 1 60%;flex:1 1 60%;max-width:100%;max-height:60%;box-sizing:border-box}.layout-lg-row>.flex-lg-60{-webkit-box-flex:1;-webkit-flex:1 1 60%;flex:1 1 60%;max-width:60%;max-height:100%;box-sizing:border-box}.layout-lg-column>.flex-lg-60{-webkit-box-flex:1;-webkit-flex:1 1 60%;flex:1 1 60%;max-width:100%;max-height:60%;box-sizing:border-box}.flex-lg-65,.layout-row>.flex-lg-65{-webkit-box-flex:1;-webkit-flex:1 1 65%;flex:1 1 65%;max-width:65%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-65{-webkit-box-flex:1;-webkit-flex:1 1 65%;flex:1 1 65%;max-width:100%;max-height:65%;box-sizing:border-box}.layout-lg-row>.flex-lg-65{-webkit-box-flex:1;-webkit-flex:1 1 65%;flex:1 1 65%;max-width:65%;max-height:100%;box-sizing:border-box}.layout-lg-column>.flex-lg-65{-webkit-box-flex:1;-webkit-flex:1 1 65%;flex:1 1 65%;max-width:100%;max-height:65%;box-sizing:border-box}.flex-lg-70,.layout-row>.flex-lg-70{-webkit-box-flex:1;-webkit-flex:1 1 70%;flex:1 1 70%;max-width:70%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-70{-webkit-box-flex:1;-webkit-flex:1 1 70%;flex:1 1 70%;max-width:100%;max-height:70%;box-sizing:border-box}.layout-lg-row>.flex-lg-70{-webkit-box-flex:1;-webkit-flex:1 1 70%;flex:1 1 70%;max-width:70%;max-height:100%;box-sizing:border-box}.layout-lg-column>.flex-lg-70{-webkit-box-flex:1;-webkit-flex:1 1 70%;flex:1 1 70%;max-width:100%;max-height:70%;box-sizing:border-box}.flex-lg-75,.layout-row>.flex-lg-75{-webkit-box-flex:1;-webkit-flex:1 1 75%;flex:1 1 75%;max-width:75%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-75{-webkit-box-flex:1;-webkit-flex:1 1 75%;flex:1 1 75%;max-width:100%;max-height:75%;box-sizing:border-box}.layout-lg-row>.flex-lg-75{-webkit-box-flex:1;-webkit-flex:1 1 75%;flex:1 1 75%;max-width:75%;max-height:100%;box-sizing:border-box}.layout-lg-column>.flex-lg-75{-webkit-box-flex:1;-webkit-flex:1 1 75%;flex:1 1 75%;max-width:100%;max-height:75%;box-sizing:border-box}.flex-lg-80,.layout-row>.flex-lg-80{-webkit-box-flex:1;-webkit-flex:1 1 80%;flex:1 1 80%;max-width:80%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-80{-webkit-box-flex:1;-webkit-flex:1 1 80%;flex:1 1 80%;max-width:100%;max-height:80%;box-sizing:border-box}.layout-lg-row>.flex-lg-80{-webkit-box-flex:1;-webkit-flex:1 1 80%;flex:1 1 80%;max-width:80%;max-height:100%;box-sizing:border-box}.layout-lg-column>.flex-lg-80{-webkit-box-flex:1;-webkit-flex:1 1 80%;flex:1 1 80%;max-width:100%;max-height:80%;box-sizing:border-box}.flex-lg-85,.layout-row>.flex-lg-85{-webkit-box-flex:1;-webkit-flex:1 1 85%;flex:1 1 85%;max-width:85%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-85{-webkit-box-flex:1;-webkit-flex:1 1 85%;flex:1 1 85%;max-width:100%;max-height:85%;box-sizing:border-box}.layout-lg-row>.flex-lg-85{-webkit-box-flex:1;-webkit-flex:1 1 85%;flex:1 1 85%;max-width:85%;max-height:100%;box-sizing:border-box}.layout-lg-column>.flex-lg-85{-webkit-box-flex:1;-webkit-flex:1 1 85%;flex:1 1 85%;max-width:100%;max-height:85%;box-sizing:border-box}.flex-lg-90,.layout-row>.flex-lg-90{-webkit-box-flex:1;-webkit-flex:1 1 90%;flex:1 1 90%;max-width:90%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-90{-webkit-box-flex:1;-webkit-flex:1 1 90%;flex:1 1 90%;max-width:100%;max-height:90%;box-sizing:border-box}.layout-lg-row>.flex-lg-90{-webkit-box-flex:1;-webkit-flex:1 1 90%;flex:1 1 90%;max-width:90%;max-height:100%;box-sizing:border-box}.layout-lg-column>.flex-lg-90{-webkit-box-flex:1;-webkit-flex:1 1 90%;flex:1 1 90%;max-width:100%;max-height:90%;box-sizing:border-box}.flex-lg-95,.layout-row>.flex-lg-95{-webkit-box-flex:1;-webkit-flex:1 1 95%;flex:1 1 95%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-95{-webkit-box-flex:1;-webkit-flex:1 1 95%;flex:1 1 95%;max-width:100%;max-height:95%;box-sizing:border-box}.layout-lg-row>.flex-lg-95{-webkit-box-flex:1;-webkit-flex:1 1 95%;flex:1 1 95%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-lg-column>.flex-lg-95{-webkit-box-flex:1;-webkit-flex:1 1 95%;flex:1 1 95%;max-width:100%;max-height:95%;box-sizing:border-box}.flex-lg-100,.layout-column>.flex-lg-100,.layout-row>.flex-lg-100{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-row>.flex-lg-33,.layout-row>.flex-lg-66{-webkit-box-flex:1;max-height:100%;box-sizing:border-box}.layout-row>.flex-lg-33{-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:33.33%}.layout-row>.flex-lg-66{-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:66.66%}.layout-column>.flex-lg-33{-webkit-box-flex:1;-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:100%;max-height:33.33%;box-sizing:border-box}.layout-column>.flex-lg-66{-webkit-box-flex:1;-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:100%;max-height:66.66%;box-sizing:border-box}.layout-lg-column>.flex-lg-100,.layout-lg-row>.flex-lg-100{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-lg-row>.flex-lg-33{-webkit-box-flex:1;-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:33.33%;max-height:100%;box-sizing:border-box}.layout-lg-row>.flex-lg-66{-webkit-box-flex:1;-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:66.66%;max-height:100%;box-sizing:border-box}.layout-lg-row>.flex{min-width:0}.layout-lg-column>.flex-lg-33{-webkit-box-flex:1;-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:100%;max-height:33.33%;box-sizing:border-box}.layout-lg-column>.flex-lg-66{-webkit-box-flex:1;-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:100%;max-height:66.66%;box-sizing:border-box}.layout-lg-column>.flex{min-height:0}.layout-lg,.layout-lg-column,.layout-lg-row{box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:flex}.layout-lg-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column}.layout-lg-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}}@media (min-width:1920px){.flex-gt-lg,.flex-gt-lg-auto,.flex-gt-lg-grow,.flex-gt-lg-initial,.flex-gt-lg-none,.flex-gt-lg-noshrink{box-sizing:border-box}.layout-gt-lg-column,.layout-gt-lg-row,.layout-xl-column,.layout-xl-row{-webkit-box-direction:normal}.flex-order-gt-lg--20{-webkit-box-ordinal-group:-19;-webkit-order:-20;order:-20}.flex-order-gt-lg--19{-webkit-box-ordinal-group:-18;-webkit-order:-19;order:-19}.flex-order-gt-lg--18{-webkit-box-ordinal-group:-17;-webkit-order:-18;order:-18}.flex-order-gt-lg--17{-webkit-box-ordinal-group:-16;-webkit-order:-17;order:-17}.flex-order-gt-lg--16{-webkit-box-ordinal-group:-15;-webkit-order:-16;order:-16}.flex-order-gt-lg--15{-webkit-box-ordinal-group:-14;-webkit-order:-15;order:-15}.flex-order-gt-lg--14{-webkit-box-ordinal-group:-13;-webkit-order:-14;order:-14}.flex-order-gt-lg--13{-webkit-box-ordinal-group:-12;-webkit-order:-13;order:-13}.flex-order-gt-lg--12{-webkit-box-ordinal-group:-11;-webkit-order:-12;order:-12}.flex-order-gt-lg--11{-webkit-box-ordinal-group:-10;-webkit-order:-11;order:-11}.flex-order-gt-lg--10{-webkit-box-ordinal-group:-9;-webkit-order:-10;order:-10}.flex-order-gt-lg--9{-webkit-box-ordinal-group:-8;-webkit-order:-9;order:-9}.flex-order-gt-lg--8{-webkit-box-ordinal-group:-7;-webkit-order:-8;order:-8}.flex-order-gt-lg--7{-webkit-box-ordinal-group:-6;-webkit-order:-7;order:-7}.flex-order-gt-lg--6{-webkit-box-ordinal-group:-5;-webkit-order:-6;order:-6}.flex-order-gt-lg--5{-webkit-box-ordinal-group:-4;-webkit-order:-5;order:-5}.flex-order-gt-lg--4{-webkit-box-ordinal-group:-3;-webkit-order:-4;order:-4}.flex-order-gt-lg--3{-webkit-box-ordinal-group:-2;-webkit-order:-3;order:-3}.flex-order-gt-lg--2{-webkit-box-ordinal-group:-1;-webkit-order:-2;order:-2}.flex-order-gt-lg--1{-webkit-box-ordinal-group:0;-webkit-order:-1;order:-1}.flex-order-gt-lg-0{-webkit-box-ordinal-group:1;-webkit-order:0;order:0}.flex-order-gt-lg-1{-webkit-box-ordinal-group:2;-webkit-order:1;order:1}.flex-order-gt-lg-2{-webkit-box-ordinal-group:3;-webkit-order:2;order:2}.flex-order-gt-lg-3{-webkit-box-ordinal-group:4;-webkit-order:3;order:3}.flex-order-gt-lg-4{-webkit-box-ordinal-group:5;-webkit-order:4;order:4}.flex-order-gt-lg-5{-webkit-box-ordinal-group:6;-webkit-order:5;order:5}.flex-order-gt-lg-6{-webkit-box-ordinal-group:7;-webkit-order:6;order:6}.flex-order-gt-lg-7{-webkit-box-ordinal-group:8;-webkit-order:7;order:7}.flex-order-gt-lg-8{-webkit-box-ordinal-group:9;-webkit-order:8;order:8}.flex-order-gt-lg-9{-webkit-box-ordinal-group:10;-webkit-order:9;order:9}.flex-order-gt-lg-10{-webkit-box-ordinal-group:11;-webkit-order:10;order:10}.flex-order-gt-lg-11{-webkit-box-ordinal-group:12;-webkit-order:11;order:11}.flex-order-gt-lg-12{-webkit-box-ordinal-group:13;-webkit-order:12;order:12}.flex-order-gt-lg-13{-webkit-box-ordinal-group:14;-webkit-order:13;order:13}.flex-order-gt-lg-14{-webkit-box-ordinal-group:15;-webkit-order:14;order:14}.flex-order-gt-lg-15{-webkit-box-ordinal-group:16;-webkit-order:15;order:15}.flex-order-gt-lg-16{-webkit-box-ordinal-group:17;-webkit-order:16;order:16}.flex-order-gt-lg-17{-webkit-box-ordinal-group:18;-webkit-order:17;order:17}.flex-order-gt-lg-18{-webkit-box-ordinal-group:19;-webkit-order:18;order:18}.flex-order-gt-lg-19{-webkit-box-ordinal-group:20;-webkit-order:19;order:19}.flex-order-gt-lg-20{-webkit-box-ordinal-group:21;-webkit-order:20;order:20}.flex-offset-gt-lg-0,.offset-gt-lg-0{margin-left:0}[dir=rtl] .flex-offset-gt-lg-0,[dir=rtl] .offset-gt-lg-0{margin-left:auto;margin-right:0}.flex-offset-gt-lg-5,.offset-gt-lg-5{margin-left:5%}[dir=rtl] .flex-offset-gt-lg-5,[dir=rtl] .offset-gt-lg-5{margin-left:auto;margin-right:5%}.flex-offset-gt-lg-10,.offset-gt-lg-10{margin-left:10%}[dir=rtl] .flex-offset-gt-lg-10,[dir=rtl] .offset-gt-lg-10{margin-left:auto;margin-right:10%}.flex-offset-gt-lg-15,.offset-gt-lg-15{margin-left:15%}[dir=rtl] .flex-offset-gt-lg-15,[dir=rtl] .offset-gt-lg-15{margin-left:auto;margin-right:15%}.flex-offset-gt-lg-20,.offset-gt-lg-20{margin-left:20%}[dir=rtl] .flex-offset-gt-lg-20,[dir=rtl] .offset-gt-lg-20{margin-left:auto;margin-right:20%}.flex-offset-gt-lg-25,.offset-gt-lg-25{margin-left:25%}[dir=rtl] .flex-offset-gt-lg-25,[dir=rtl] .offset-gt-lg-25{margin-left:auto;margin-right:25%}.flex-offset-gt-lg-30,.offset-gt-lg-30{margin-left:30%}[dir=rtl] .flex-offset-gt-lg-30,[dir=rtl] .offset-gt-lg-30{margin-left:auto;margin-right:30%}.flex-offset-gt-lg-35,.offset-gt-lg-35{margin-left:35%}[dir=rtl] .flex-offset-gt-lg-35,[dir=rtl] .offset-gt-lg-35{margin-left:auto;margin-right:35%}.flex-offset-gt-lg-40,.offset-gt-lg-40{margin-left:40%}[dir=rtl] .flex-offset-gt-lg-40,[dir=rtl] .offset-gt-lg-40{margin-left:auto;margin-right:40%}.flex-offset-gt-lg-45,.offset-gt-lg-45{margin-left:45%}[dir=rtl] .flex-offset-gt-lg-45,[dir=rtl] .offset-gt-lg-45{margin-left:auto;margin-right:45%}.flex-offset-gt-lg-50,.offset-gt-lg-50{margin-left:50%}[dir=rtl] .flex-offset-gt-lg-50,[dir=rtl] .offset-gt-lg-50{margin-left:auto;margin-right:50%}.flex-offset-gt-lg-55,.offset-gt-lg-55{margin-left:55%}[dir=rtl] .flex-offset-gt-lg-55,[dir=rtl] .offset-gt-lg-55{margin-left:auto;margin-right:55%}.flex-offset-gt-lg-60,.offset-gt-lg-60{margin-left:60%}[dir=rtl] .flex-offset-gt-lg-60,[dir=rtl] .offset-gt-lg-60{margin-left:auto;margin-right:60%}.flex-offset-gt-lg-65,.offset-gt-lg-65{margin-left:65%}[dir=rtl] .flex-offset-gt-lg-65,[dir=rtl] .offset-gt-lg-65{margin-left:auto;margin-right:65%}.flex-offset-gt-lg-70,.offset-gt-lg-70{margin-left:70%}[dir=rtl] .flex-offset-gt-lg-70,[dir=rtl] .offset-gt-lg-70{margin-left:auto;margin-right:70%}.flex-offset-gt-lg-75,.offset-gt-lg-75{margin-left:75%}[dir=rtl] .flex-offset-gt-lg-75,[dir=rtl] .offset-gt-lg-75{margin-left:auto;margin-right:75%}.flex-offset-gt-lg-80,.offset-gt-lg-80{margin-left:80%}[dir=rtl] .flex-offset-gt-lg-80,[dir=rtl] .offset-gt-lg-80{margin-left:auto;margin-right:80%}.flex-offset-gt-lg-85,.offset-gt-lg-85{margin-left:85%}[dir=rtl] .flex-offset-gt-lg-85,[dir=rtl] .offset-gt-lg-85{margin-left:auto;margin-right:85%}.flex-offset-gt-lg-90,.offset-gt-lg-90{margin-left:90%}[dir=rtl] .flex-offset-gt-lg-90,[dir=rtl] .offset-gt-lg-90{margin-left:auto;margin-right:90%}.flex-offset-gt-lg-95,.offset-gt-lg-95{margin-left:95%}[dir=rtl] .flex-offset-gt-lg-95,[dir=rtl] .offset-gt-lg-95{margin-left:auto;margin-right:95%}.flex-offset-gt-lg-33,.offset-gt-lg-33{margin-left:calc(100% / 3)}.flex-offset-gt-lg-66,.offset-gt-lg-66{margin-left:calc(200% / 3)}[dir=rtl] .flex-offset-gt-lg-66,[dir=rtl] .offset-gt-lg-66{margin-left:auto;margin-right:calc(200% / 3)}.layout-align-gt-lg,.layout-align-gt-lg-start-stretch{-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;-webkit-align-content:stretch;align-content:stretch;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-grid-row-align:stretch;align-items:stretch}.layout-align-gt-lg-start,.layout-align-gt-lg-start-center,.layout-align-gt-lg-start-end,.layout-align-gt-lg-start-start,.layout-align-gt-lg-start-stretch{-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.layout-align-gt-lg-center,.layout-align-gt-lg-center-center,.layout-align-gt-lg-center-end,.layout-align-gt-lg-center-start,.layout-align-gt-lg-center-stretch{-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.layout-align-gt-lg-end,.layout-align-gt-lg-end-center,.layout-align-gt-lg-end-end,.layout-align-gt-lg-end-start,.layout-align-gt-lg-end-stretch{-webkit-box-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.layout-align-gt-lg-space-around,.layout-align-gt-lg-space-around-center,.layout-align-gt-lg-space-around-end,.layout-align-gt-lg-space-around-start,.layout-align-gt-lg-space-around-stretch{-webkit-justify-content:space-around;justify-content:space-around}.layout-align-gt-lg-space-between,.layout-align-gt-lg-space-between-center,.layout-align-gt-lg-space-between-end,.layout-align-gt-lg-space-between-start,.layout-align-gt-lg-space-between-stretch{-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.layout-align-gt-lg-center-start,.layout-align-gt-lg-end-start,.layout-align-gt-lg-space-around-start,.layout-align-gt-lg-space-between-start,.layout-align-gt-lg-start-start{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-grid-row-align:flex-start;align-items:flex-start;-webkit-align-content:flex-start;align-content:flex-start}.layout-align-gt-lg-center-center,.layout-align-gt-lg-end-center,.layout-align-gt-lg-space-around-center,.layout-align-gt-lg-space-between-center,.layout-align-gt-lg-start-center{-webkit-box-align:center;-webkit-align-items:center;-ms-grid-row-align:center;align-items:center;-webkit-align-content:center;align-content:center;max-width:100%}.layout-align-gt-lg-center-center>*,.layout-align-gt-lg-end-center>*,.layout-align-gt-lg-space-around-center>*,.layout-align-gt-lg-space-between-center>*,.layout-align-gt-lg-start-center>*{max-width:100%;box-sizing:border-box}.layout-align-gt-lg-center-end,.layout-align-gt-lg-end-end,.layout-align-gt-lg-space-around-end,.layout-align-gt-lg-space-between-end,.layout-align-gt-lg-start-end{-webkit-box-align:end;-webkit-align-items:flex-end;-ms-grid-row-align:flex-end;align-items:flex-end;-webkit-align-content:flex-end;align-content:flex-end}.layout-align-gt-lg-center-stretch,.layout-align-gt-lg-end-stretch,.layout-align-gt-lg-space-around-stretch,.layout-align-gt-lg-space-between-stretch,.layout-align-gt-lg-start-stretch{-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-grid-row-align:stretch;align-items:stretch;-webkit-align-content:stretch;align-content:stretch}.flex-gt-lg{-webkit-box-flex:1;-webkit-flex:1;flex:1}.flex-gt-lg-grow{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%}.flex-gt-lg-initial{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto}.flex-gt-lg-auto{-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto}.flex-gt-lg-none{-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto}.flex-gt-lg-noshrink{-webkit-box-flex:1;-webkit-flex:1 0 auto;flex:1 0 auto}.flex-gt-lg-nogrow{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-gt-lg-0,.layout-row>.flex-gt-lg-0{-webkit-box-flex:1;max-width:0%;max-height:100%;box-sizing:border-box}.flex-gt-lg-0{-webkit-flex:1 1 0%;flex:1 1 0%}.layout-row>.flex-gt-lg-0{-webkit-flex:1 1 0%;flex:1 1 0%;min-width:0}.layout-column>.flex-gt-lg-0{-webkit-box-flex:1;-webkit-flex:1 1 0%;flex:1 1 0%;max-width:100%;max-height:0%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-0{-webkit-box-flex:1;-webkit-flex:1 1 0%;flex:1 1 0%;max-width:0%;max-height:100%;box-sizing:border-box;min-width:0}.layout-gt-lg-column>.flex-gt-lg-0{-webkit-box-flex:1;-webkit-flex:1 1 0%;flex:1 1 0%;max-width:100%;max-height:0%;box-sizing:border-box;min-height:0}.flex-gt-lg-5,.layout-row>.flex-gt-lg-5{-webkit-box-flex:1;-webkit-flex:1 1 5%;flex:1 1 5%;max-width:5%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-5{-webkit-box-flex:1;-webkit-flex:1 1 5%;flex:1 1 5%;max-width:100%;max-height:5%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-5{-webkit-box-flex:1;-webkit-flex:1 1 5%;flex:1 1 5%;max-width:5%;max-height:100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-5{-webkit-box-flex:1;-webkit-flex:1 1 5%;flex:1 1 5%;max-width:100%;max-height:5%;box-sizing:border-box}.flex-gt-lg-10,.layout-row>.flex-gt-lg-10{-webkit-box-flex:1;-webkit-flex:1 1 10%;flex:1 1 10%;max-width:10%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-10{-webkit-box-flex:1;-webkit-flex:1 1 10%;flex:1 1 10%;max-width:100%;max-height:10%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-10{-webkit-box-flex:1;-webkit-flex:1 1 10%;flex:1 1 10%;max-width:10%;max-height:100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-10{-webkit-box-flex:1;-webkit-flex:1 1 10%;flex:1 1 10%;max-width:100%;max-height:10%;box-sizing:border-box}.flex-gt-lg-15,.layout-row>.flex-gt-lg-15{-webkit-box-flex:1;-webkit-flex:1 1 15%;flex:1 1 15%;max-width:15%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-15{-webkit-box-flex:1;-webkit-flex:1 1 15%;flex:1 1 15%;max-width:100%;max-height:15%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-15{-webkit-box-flex:1;-webkit-flex:1 1 15%;flex:1 1 15%;max-width:15%;max-height:100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-15{-webkit-box-flex:1;-webkit-flex:1 1 15%;flex:1 1 15%;max-width:100%;max-height:15%;box-sizing:border-box}.flex-gt-lg-20,.layout-row>.flex-gt-lg-20{-webkit-box-flex:1;-webkit-flex:1 1 20%;flex:1 1 20%;max-width:20%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-20{-webkit-box-flex:1;-webkit-flex:1 1 20%;flex:1 1 20%;max-width:100%;max-height:20%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-20{-webkit-box-flex:1;-webkit-flex:1 1 20%;flex:1 1 20%;max-width:20%;max-height:100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-20{-webkit-box-flex:1;-webkit-flex:1 1 20%;flex:1 1 20%;max-width:100%;max-height:20%;box-sizing:border-box}.flex-gt-lg-25,.layout-row>.flex-gt-lg-25{-webkit-box-flex:1;-webkit-flex:1 1 25%;flex:1 1 25%;max-width:25%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-25{-webkit-box-flex:1;-webkit-flex:1 1 25%;flex:1 1 25%;max-width:100%;max-height:25%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-25{-webkit-box-flex:1;-webkit-flex:1 1 25%;flex:1 1 25%;max-width:25%;max-height:100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-25{-webkit-box-flex:1;-webkit-flex:1 1 25%;flex:1 1 25%;max-width:100%;max-height:25%;box-sizing:border-box}.flex-gt-lg-30,.layout-row>.flex-gt-lg-30{-webkit-box-flex:1;-webkit-flex:1 1 30%;flex:1 1 30%;max-width:30%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-30{-webkit-box-flex:1;-webkit-flex:1 1 30%;flex:1 1 30%;max-width:100%;max-height:30%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-30{-webkit-box-flex:1;-webkit-flex:1 1 30%;flex:1 1 30%;max-width:30%;max-height:100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-30{-webkit-box-flex:1;-webkit-flex:1 1 30%;flex:1 1 30%;max-width:100%;max-height:30%;box-sizing:border-box}.flex-gt-lg-35,.layout-row>.flex-gt-lg-35{-webkit-box-flex:1;-webkit-flex:1 1 35%;flex:1 1 35%;max-width:35%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-35{-webkit-box-flex:1;-webkit-flex:1 1 35%;flex:1 1 35%;max-width:100%;max-height:35%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-35{-webkit-box-flex:1;-webkit-flex:1 1 35%;flex:1 1 35%;max-width:35%;max-height:100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-35{-webkit-box-flex:1;-webkit-flex:1 1 35%;flex:1 1 35%;max-width:100%;max-height:35%;box-sizing:border-box}.flex-gt-lg-40,.layout-row>.flex-gt-lg-40{-webkit-box-flex:1;-webkit-flex:1 1 40%;flex:1 1 40%;max-width:40%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-40{-webkit-box-flex:1;-webkit-flex:1 1 40%;flex:1 1 40%;max-width:100%;max-height:40%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-40{-webkit-box-flex:1;-webkit-flex:1 1 40%;flex:1 1 40%;max-width:40%;max-height:100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-40{-webkit-box-flex:1;-webkit-flex:1 1 40%;flex:1 1 40%;max-width:100%;max-height:40%;box-sizing:border-box}.flex-gt-lg-45,.layout-row>.flex-gt-lg-45{-webkit-box-flex:1;-webkit-flex:1 1 45%;flex:1 1 45%;max-width:45%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-45{-webkit-box-flex:1;-webkit-flex:1 1 45%;flex:1 1 45%;max-width:100%;max-height:45%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-45{-webkit-box-flex:1;-webkit-flex:1 1 45%;flex:1 1 45%;max-width:45%;max-height:100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-45{-webkit-box-flex:1;-webkit-flex:1 1 45%;flex:1 1 45%;max-width:100%;max-height:45%;box-sizing:border-box}.flex-gt-lg-50,.layout-row>.flex-gt-lg-50{-webkit-box-flex:1;-webkit-flex:1 1 50%;flex:1 1 50%;max-width:50%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-50{-webkit-box-flex:1;-webkit-flex:1 1 50%;flex:1 1 50%;max-width:100%;max-height:50%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-50{-webkit-box-flex:1;-webkit-flex:1 1 50%;flex:1 1 50%;max-width:50%;max-height:100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-50{-webkit-box-flex:1;-webkit-flex:1 1 50%;flex:1 1 50%;max-width:100%;max-height:50%;box-sizing:border-box}.flex-gt-lg-55,.layout-row>.flex-gt-lg-55{-webkit-box-flex:1;-webkit-flex:1 1 55%;flex:1 1 55%;max-width:55%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-55{-webkit-box-flex:1;-webkit-flex:1 1 55%;flex:1 1 55%;max-width:100%;max-height:55%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-55{-webkit-box-flex:1;-webkit-flex:1 1 55%;flex:1 1 55%;max-width:55%;max-height:100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-55{-webkit-box-flex:1;-webkit-flex:1 1 55%;flex:1 1 55%;max-width:100%;max-height:55%;box-sizing:border-box}.flex-gt-lg-60,.layout-row>.flex-gt-lg-60{-webkit-box-flex:1;-webkit-flex:1 1 60%;flex:1 1 60%;max-width:60%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-60{-webkit-box-flex:1;-webkit-flex:1 1 60%;flex:1 1 60%;max-width:100%;max-height:60%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-60{-webkit-box-flex:1;-webkit-flex:1 1 60%;flex:1 1 60%;max-width:60%;max-height:100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-60{-webkit-box-flex:1;-webkit-flex:1 1 60%;flex:1 1 60%;max-width:100%;max-height:60%;box-sizing:border-box}.flex-gt-lg-65,.layout-row>.flex-gt-lg-65{-webkit-box-flex:1;-webkit-flex:1 1 65%;flex:1 1 65%;max-width:65%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-65{-webkit-box-flex:1;-webkit-flex:1 1 65%;flex:1 1 65%;max-width:100%;max-height:65%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-65{-webkit-box-flex:1;-webkit-flex:1 1 65%;flex:1 1 65%;max-width:65%;max-height:100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-65{-webkit-box-flex:1;-webkit-flex:1 1 65%;flex:1 1 65%;max-width:100%;max-height:65%;box-sizing:border-box}.flex-gt-lg-70,.layout-row>.flex-gt-lg-70{-webkit-box-flex:1;-webkit-flex:1 1 70%;flex:1 1 70%;max-width:70%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-70{-webkit-box-flex:1;-webkit-flex:1 1 70%;flex:1 1 70%;max-width:100%;max-height:70%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-70{-webkit-box-flex:1;-webkit-flex:1 1 70%;flex:1 1 70%;max-width:70%;max-height:100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-70{-webkit-box-flex:1;-webkit-flex:1 1 70%;flex:1 1 70%;max-width:100%;max-height:70%;box-sizing:border-box}.flex-gt-lg-75,.layout-row>.flex-gt-lg-75{-webkit-box-flex:1;-webkit-flex:1 1 75%;flex:1 1 75%;max-width:75%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-75{-webkit-box-flex:1;-webkit-flex:1 1 75%;flex:1 1 75%;max-width:100%;max-height:75%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-75{-webkit-box-flex:1;-webkit-flex:1 1 75%;flex:1 1 75%;max-width:75%;max-height:100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-75{-webkit-box-flex:1;-webkit-flex:1 1 75%;flex:1 1 75%;max-width:100%;max-height:75%;box-sizing:border-box}.flex-gt-lg-80,.layout-row>.flex-gt-lg-80{-webkit-box-flex:1;-webkit-flex:1 1 80%;flex:1 1 80%;max-width:80%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-80{-webkit-box-flex:1;-webkit-flex:1 1 80%;flex:1 1 80%;max-width:100%;max-height:80%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-80{-webkit-box-flex:1;-webkit-flex:1 1 80%;flex:1 1 80%;max-width:80%;max-height:100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-80{-webkit-box-flex:1;-webkit-flex:1 1 80%;flex:1 1 80%;max-width:100%;max-height:80%;box-sizing:border-box}.flex-gt-lg-85,.layout-row>.flex-gt-lg-85{-webkit-box-flex:1;-webkit-flex:1 1 85%;flex:1 1 85%;max-width:85%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-85{-webkit-box-flex:1;-webkit-flex:1 1 85%;flex:1 1 85%;max-width:100%;max-height:85%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-85{-webkit-box-flex:1;-webkit-flex:1 1 85%;flex:1 1 85%;max-width:85%;max-height:100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-85{-webkit-box-flex:1;-webkit-flex:1 1 85%;flex:1 1 85%;max-width:100%;max-height:85%;box-sizing:border-box}.flex-gt-lg-90,.layout-row>.flex-gt-lg-90{-webkit-box-flex:1;-webkit-flex:1 1 90%;flex:1 1 90%;max-width:90%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-90{-webkit-box-flex:1;-webkit-flex:1 1 90%;flex:1 1 90%;max-width:100%;max-height:90%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-90{-webkit-box-flex:1;-webkit-flex:1 1 90%;flex:1 1 90%;max-width:90%;max-height:100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-90{-webkit-box-flex:1;-webkit-flex:1 1 90%;flex:1 1 90%;max-width:100%;max-height:90%;box-sizing:border-box}.flex-gt-lg-95,.layout-row>.flex-gt-lg-95{-webkit-box-flex:1;-webkit-flex:1 1 95%;flex:1 1 95%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-95{-webkit-box-flex:1;-webkit-flex:1 1 95%;flex:1 1 95%;max-width:100%;max-height:95%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-95{-webkit-box-flex:1;-webkit-flex:1 1 95%;flex:1 1 95%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-95{-webkit-box-flex:1;-webkit-flex:1 1 95%;flex:1 1 95%;max-width:100%;max-height:95%;box-sizing:border-box}.flex-gt-lg-100,.layout-column>.flex-gt-lg-100,.layout-row>.flex-gt-lg-100{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-row>.flex-gt-lg-33,.layout-row>.flex-gt-lg-66{-webkit-box-flex:1;max-height:100%;box-sizing:border-box}.layout-row>.flex-gt-lg-33{-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:33.33%}.layout-row>.flex-gt-lg-66{-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:66.66%}.layout-column>.flex-gt-lg-33{-webkit-box-flex:1;-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:100%;max-height:33.33%;box-sizing:border-box}.layout-column>.flex-gt-lg-66{-webkit-box-flex:1;-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:100%;max-height:66.66%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-100,.layout-gt-lg-row>.flex-gt-lg-100{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-33{-webkit-box-flex:1;-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:33.33%;max-height:100%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-66{-webkit-box-flex:1;-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:66.66%;max-height:100%;box-sizing:border-box}.layout-gt-lg-row>.flex{min-width:0}.layout-gt-lg-column>.flex-gt-lg-33{-webkit-box-flex:1;-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:100%;max-height:33.33%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-66{-webkit-box-flex:1;-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:100%;max-height:66.66%;box-sizing:border-box}.layout-gt-lg-column>.flex{min-height:0}.layout-gt-lg,.layout-gt-lg-column,.layout-gt-lg-row{box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:flex}.layout-gt-lg-column{-webkit-box-orient:vertical;-webkit-flex-direction:column;flex-direction:column}.layout-gt-lg-row{-webkit-box-orient:horizontal;-webkit-flex-direction:row;flex-direction:row}.flex-order-xl--20{-webkit-box-ordinal-group:-19;-webkit-order:-20;order:-20}.flex-order-xl--19{-webkit-box-ordinal-group:-18;-webkit-order:-19;order:-19}.flex-order-xl--18{-webkit-box-ordinal-group:-17;-webkit-order:-18;order:-18}.flex-order-xl--17{-webkit-box-ordinal-group:-16;-webkit-order:-17;order:-17}.flex-order-xl--16{-webkit-box-ordinal-group:-15;-webkit-order:-16;order:-16}.flex-order-xl--15{-webkit-box-ordinal-group:-14;-webkit-order:-15;order:-15}.flex-order-xl--14{-webkit-box-ordinal-group:-13;-webkit-order:-14;order:-14}.flex-order-xl--13{-webkit-box-ordinal-group:-12;-webkit-order:-13;order:-13}.flex-order-xl--12{-webkit-box-ordinal-group:-11;-webkit-order:-12;order:-12}.flex-order-xl--11{-webkit-box-ordinal-group:-10;-webkit-order:-11;order:-11}.flex-order-xl--10{-webkit-box-ordinal-group:-9;-webkit-order:-10;order:-10}.flex-order-xl--9{-webkit-box-ordinal-group:-8;-webkit-order:-9;order:-9}.flex-order-xl--8{-webkit-box-ordinal-group:-7;-webkit-order:-8;order:-8}.flex-order-xl--7{-webkit-box-ordinal-group:-6;-webkit-order:-7;order:-7}.flex-order-xl--6{-webkit-box-ordinal-group:-5;-webkit-order:-6;order:-6}.flex-order-xl--5{-webkit-box-ordinal-group:-4;-webkit-order:-5;order:-5}.flex-order-xl--4{-webkit-box-ordinal-group:-3;-webkit-order:-4;order:-4}.flex-order-xl--3{-webkit-box-ordinal-group:-2;-webkit-order:-3;order:-3}.flex-order-xl--2{-webkit-box-ordinal-group:-1;-webkit-order:-2;order:-2}.flex-order-xl--1{-webkit-box-ordinal-group:0;-webkit-order:-1;order:-1}.flex-order-xl-0{-webkit-box-ordinal-group:1;-webkit-order:0;order:0}.flex-order-xl-1{-webkit-box-ordinal-group:2;-webkit-order:1;order:1}.flex-order-xl-2{-webkit-box-ordinal-group:3;-webkit-order:2;order:2}.flex-order-xl-3{-webkit-box-ordinal-group:4;-webkit-order:3;order:3}.flex-order-xl-4{-webkit-box-ordinal-group:5;-webkit-order:4;order:4}.flex-order-xl-5{-webkit-box-ordinal-group:6;-webkit-order:5;order:5}.flex-order-xl-6{-webkit-box-ordinal-group:7;-webkit-order:6;order:6}.flex-order-xl-7{-webkit-box-ordinal-group:8;-webkit-order:7;order:7}.flex-order-xl-8{-webkit-box-ordinal-group:9;-webkit-order:8;order:8}.flex-order-xl-9{-webkit-box-ordinal-group:10;-webkit-order:9;order:9}.flex-order-xl-10{-webkit-box-ordinal-group:11;-webkit-order:10;order:10}.flex-order-xl-11{-webkit-box-ordinal-group:12;-webkit-order:11;order:11}.flex-order-xl-12{-webkit-box-ordinal-group:13;-webkit-order:12;order:12}.flex-order-xl-13{-webkit-box-ordinal-group:14;-webkit-order:13;order:13}.flex-order-xl-14{-webkit-box-ordinal-group:15;-webkit-order:14;order:14}.flex-order-xl-15{-webkit-box-ordinal-group:16;-webkit-order:15;order:15}.flex-order-xl-16{-webkit-box-ordinal-group:17;-webkit-order:16;order:16}.flex-order-xl-17{-webkit-box-ordinal-group:18;-webkit-order:17;order:17}.flex-order-xl-18{-webkit-box-ordinal-group:19;-webkit-order:18;order:18}.flex-order-xl-19{-webkit-box-ordinal-group:20;-webkit-order:19;order:19}.flex-order-xl-20{-webkit-box-ordinal-group:21;-webkit-order:20;order:20}.flex-offset-xl-0,.offset-xl-0{margin-left:0}[dir=rtl] .flex-offset-xl-0,[dir=rtl] .offset-xl-0{margin-left:auto;margin-right:0}.flex-offset-xl-5,.offset-xl-5{margin-left:5%}[dir=rtl] .flex-offset-xl-5,[dir=rtl] .offset-xl-5{margin-left:auto;margin-right:5%}.flex-offset-xl-10,.offset-xl-10{margin-left:10%}[dir=rtl] .flex-offset-xl-10,[dir=rtl] .offset-xl-10{margin-left:auto;margin-right:10%}.flex-offset-xl-15,.offset-xl-15{margin-left:15%}[dir=rtl] .flex-offset-xl-15,[dir=rtl] .offset-xl-15{margin-left:auto;margin-right:15%}.flex-offset-xl-20,.offset-xl-20{margin-left:20%}[dir=rtl] .flex-offset-xl-20,[dir=rtl] .offset-xl-20{margin-left:auto;margin-right:20%}.flex-offset-xl-25,.offset-xl-25{margin-left:25%}[dir=rtl] .flex-offset-xl-25,[dir=rtl] .offset-xl-25{margin-left:auto;margin-right:25%}.flex-offset-xl-30,.offset-xl-30{margin-left:30%}[dir=rtl] .flex-offset-xl-30,[dir=rtl] .offset-xl-30{margin-left:auto;margin-right:30%}.flex-offset-xl-35,.offset-xl-35{margin-left:35%}[dir=rtl] .flex-offset-xl-35,[dir=rtl] .offset-xl-35{margin-left:auto;margin-right:35%}.flex-offset-xl-40,.offset-xl-40{margin-left:40%}[dir=rtl] .flex-offset-xl-40,[dir=rtl] .offset-xl-40{margin-left:auto;margin-right:40%}.flex-offset-xl-45,.offset-xl-45{margin-left:45%}[dir=rtl] .flex-offset-xl-45,[dir=rtl] .offset-xl-45{margin-left:auto;margin-right:45%}.flex-offset-xl-50,.offset-xl-50{margin-left:50%}[dir=rtl] .flex-offset-xl-50,[dir=rtl] .offset-xl-50{margin-left:auto;margin-right:50%}.flex-offset-xl-55,.offset-xl-55{margin-left:55%}[dir=rtl] .flex-offset-xl-55,[dir=rtl] .offset-xl-55{margin-left:auto;margin-right:55%}.flex-offset-xl-60,.offset-xl-60{margin-left:60%}[dir=rtl] .flex-offset-xl-60,[dir=rtl] .offset-xl-60{margin-left:auto;margin-right:60%}.flex-offset-xl-65,.offset-xl-65{margin-left:65%}[dir=rtl] .flex-offset-xl-65,[dir=rtl] .offset-xl-65{margin-left:auto;margin-right:65%}.flex-offset-xl-70,.offset-xl-70{margin-left:70%}[dir=rtl] .flex-offset-xl-70,[dir=rtl] .offset-xl-70{margin-left:auto;margin-right:70%}.flex-offset-xl-75,.offset-xl-75{margin-left:75%}[dir=rtl] .flex-offset-xl-75,[dir=rtl] .offset-xl-75{margin-left:auto;margin-right:75%}.flex-offset-xl-80,.offset-xl-80{margin-left:80%}[dir=rtl] .flex-offset-xl-80,[dir=rtl] .offset-xl-80{margin-left:auto;margin-right:80%}.flex-offset-xl-85,.offset-xl-85{margin-left:85%}[dir=rtl] .flex-offset-xl-85,[dir=rtl] .offset-xl-85{margin-left:auto;margin-right:85%}.flex-offset-xl-90,.offset-xl-90{margin-left:90%}[dir=rtl] .flex-offset-xl-90,[dir=rtl] .offset-xl-90{margin-left:auto;margin-right:90%}.flex-offset-xl-95,.offset-xl-95{margin-left:95%}[dir=rtl] .flex-offset-xl-95,[dir=rtl] .offset-xl-95{margin-left:auto;margin-right:95%}.flex-offset-xl-33,.offset-xl-33{margin-left:calc(100% / 3)}.flex-offset-xl-66,.offset-xl-66{margin-left:calc(200% / 3)}[dir=rtl] .flex-offset-xl-66,[dir=rtl] .offset-xl-66{margin-left:auto;margin-right:calc(200% / 3)}.layout-align-xl,.layout-align-xl-start-stretch{-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;-webkit-align-content:stretch;align-content:stretch;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-grid-row-align:stretch;align-items:stretch}.layout-align-xl-start,.layout-align-xl-start-center,.layout-align-xl-start-end,.layout-align-xl-start-start,.layout-align-xl-start-stretch{-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.layout-align-xl-center,.layout-align-xl-center-center,.layout-align-xl-center-end,.layout-align-xl-center-start,.layout-align-xl-center-stretch{-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.layout-align-xl-end,.layout-align-xl-end-center,.layout-align-xl-end-end,.layout-align-xl-end-start,.layout-align-xl-end-stretch{-webkit-box-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.layout-align-xl-space-around,.layout-align-xl-space-around-center,.layout-align-xl-space-around-end,.layout-align-xl-space-around-start,.layout-align-xl-space-around-stretch{-webkit-justify-content:space-around;justify-content:space-around}.layout-align-xl-space-between,.layout-align-xl-space-between-center,.layout-align-xl-space-between-end,.layout-align-xl-space-between-start,.layout-align-xl-space-between-stretch{-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.layout-align-xl-center-start,.layout-align-xl-end-start,.layout-align-xl-space-around-start,.layout-align-xl-space-between-start,.layout-align-xl-start-start{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-grid-row-align:flex-start;align-items:flex-start;-webkit-align-content:flex-start;align-content:flex-start}.layout-align-xl-center-center,.layout-align-xl-end-center,.layout-align-xl-space-around-center,.layout-align-xl-space-between-center,.layout-align-xl-start-center{-webkit-box-align:center;-webkit-align-items:center;-ms-grid-row-align:center;align-items:center;-webkit-align-content:center;align-content:center;max-width:100%}.layout-align-xl-center-center>*,.layout-align-xl-end-center>*,.layout-align-xl-space-around-center>*,.layout-align-xl-space-between-center>*,.layout-align-xl-start-center>*{max-width:100%;box-sizing:border-box}.layout-align-xl-center-end,.layout-align-xl-end-end,.layout-align-xl-space-around-end,.layout-align-xl-space-between-end,.layout-align-xl-start-end{-webkit-box-align:end;-webkit-align-items:flex-end;-ms-grid-row-align:flex-end;align-items:flex-end;-webkit-align-content:flex-end;align-content:flex-end}.layout-align-xl-center-stretch,.layout-align-xl-end-stretch,.layout-align-xl-space-around-stretch,.layout-align-xl-space-between-stretch,.layout-align-xl-start-stretch{-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-grid-row-align:stretch;align-items:stretch;-webkit-align-content:stretch;align-content:stretch}.flex-xl{-webkit-box-flex:1;-webkit-flex:1;flex:1;box-sizing:border-box}.flex-xl-grow{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.flex-xl-initial{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-xl-auto{-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto;box-sizing:border-box}.flex-xl-none{-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto;box-sizing:border-box}.flex-xl-noshrink{-webkit-box-flex:1;-webkit-flex:1 0 auto;flex:1 0 auto;box-sizing:border-box}.flex-xl-nogrow{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-xl-0,.layout-row>.flex-xl-0{-webkit-box-flex:1;max-width:0%;max-height:100%;box-sizing:border-box}.flex-xl-0{-webkit-flex:1 1 0%;flex:1 1 0%}.layout-row>.flex-xl-0{-webkit-flex:1 1 0%;flex:1 1 0%;min-width:0}.layout-column>.flex-xl-0{-webkit-box-flex:1;-webkit-flex:1 1 0%;flex:1 1 0%;max-width:100%;max-height:0%;box-sizing:border-box}.layout-xl-row>.flex-xl-0{-webkit-box-flex:1;-webkit-flex:1 1 0%;flex:1 1 0%;max-width:0%;max-height:100%;box-sizing:border-box;min-width:0}.layout-xl-column>.flex-xl-0{-webkit-box-flex:1;-webkit-flex:1 1 0%;flex:1 1 0%;max-width:100%;max-height:0%;box-sizing:border-box;min-height:0}.flex-xl-5,.layout-row>.flex-xl-5{-webkit-box-flex:1;-webkit-flex:1 1 5%;flex:1 1 5%;max-width:5%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-5{-webkit-box-flex:1;-webkit-flex:1 1 5%;flex:1 1 5%;max-width:100%;max-height:5%;box-sizing:border-box}.layout-xl-row>.flex-xl-5{-webkit-box-flex:1;-webkit-flex:1 1 5%;flex:1 1 5%;max-width:5%;max-height:100%;box-sizing:border-box}.layout-xl-column>.flex-xl-5{-webkit-box-flex:1;-webkit-flex:1 1 5%;flex:1 1 5%;max-width:100%;max-height:5%;box-sizing:border-box}.flex-xl-10,.layout-row>.flex-xl-10{-webkit-box-flex:1;-webkit-flex:1 1 10%;flex:1 1 10%;max-width:10%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-10{-webkit-box-flex:1;-webkit-flex:1 1 10%;flex:1 1 10%;max-width:100%;max-height:10%;box-sizing:border-box}.layout-xl-row>.flex-xl-10{-webkit-box-flex:1;-webkit-flex:1 1 10%;flex:1 1 10%;max-width:10%;max-height:100%;box-sizing:border-box}.layout-xl-column>.flex-xl-10{-webkit-box-flex:1;-webkit-flex:1 1 10%;flex:1 1 10%;max-width:100%;max-height:10%;box-sizing:border-box}.flex-xl-15,.layout-row>.flex-xl-15{-webkit-box-flex:1;-webkit-flex:1 1 15%;flex:1 1 15%;max-width:15%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-15{-webkit-box-flex:1;-webkit-flex:1 1 15%;flex:1 1 15%;max-width:100%;max-height:15%;box-sizing:border-box}.layout-xl-row>.flex-xl-15{-webkit-box-flex:1;-webkit-flex:1 1 15%;flex:1 1 15%;max-width:15%;max-height:100%;box-sizing:border-box}.layout-xl-column>.flex-xl-15{-webkit-box-flex:1;-webkit-flex:1 1 15%;flex:1 1 15%;max-width:100%;max-height:15%;box-sizing:border-box}.flex-xl-20,.layout-row>.flex-xl-20{-webkit-box-flex:1;-webkit-flex:1 1 20%;flex:1 1 20%;max-width:20%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-20{-webkit-box-flex:1;-webkit-flex:1 1 20%;flex:1 1 20%;max-width:100%;max-height:20%;box-sizing:border-box}.layout-xl-row>.flex-xl-20{-webkit-box-flex:1;-webkit-flex:1 1 20%;flex:1 1 20%;max-width:20%;max-height:100%;box-sizing:border-box}.layout-xl-column>.flex-xl-20{-webkit-box-flex:1;-webkit-flex:1 1 20%;flex:1 1 20%;max-width:100%;max-height:20%;box-sizing:border-box}.flex-xl-25,.layout-row>.flex-xl-25{-webkit-box-flex:1;-webkit-flex:1 1 25%;flex:1 1 25%;max-width:25%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-25{-webkit-box-flex:1;-webkit-flex:1 1 25%;flex:1 1 25%;max-width:100%;max-height:25%;box-sizing:border-box}.layout-xl-row>.flex-xl-25{-webkit-box-flex:1;-webkit-flex:1 1 25%;flex:1 1 25%;max-width:25%;max-height:100%;box-sizing:border-box}.layout-xl-column>.flex-xl-25{-webkit-box-flex:1;-webkit-flex:1 1 25%;flex:1 1 25%;max-width:100%;max-height:25%;box-sizing:border-box}.flex-xl-30,.layout-row>.flex-xl-30{-webkit-box-flex:1;-webkit-flex:1 1 30%;flex:1 1 30%;max-width:30%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-30{-webkit-box-flex:1;-webkit-flex:1 1 30%;flex:1 1 30%;max-width:100%;max-height:30%;box-sizing:border-box}.layout-xl-row>.flex-xl-30{-webkit-box-flex:1;-webkit-flex:1 1 30%;flex:1 1 30%;max-width:30%;max-height:100%;box-sizing:border-box}.layout-xl-column>.flex-xl-30{-webkit-box-flex:1;-webkit-flex:1 1 30%;flex:1 1 30%;max-width:100%;max-height:30%;box-sizing:border-box}.flex-xl-35,.layout-row>.flex-xl-35{-webkit-box-flex:1;-webkit-flex:1 1 35%;flex:1 1 35%;max-width:35%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-35{-webkit-box-flex:1;-webkit-flex:1 1 35%;flex:1 1 35%;max-width:100%;max-height:35%;box-sizing:border-box}.layout-xl-row>.flex-xl-35{-webkit-box-flex:1;-webkit-flex:1 1 35%;flex:1 1 35%;max-width:35%;max-height:100%;box-sizing:border-box}.layout-xl-column>.flex-xl-35{-webkit-box-flex:1;-webkit-flex:1 1 35%;flex:1 1 35%;max-width:100%;max-height:35%;box-sizing:border-box}.flex-xl-40,.layout-row>.flex-xl-40{-webkit-box-flex:1;-webkit-flex:1 1 40%;flex:1 1 40%;max-width:40%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-40{-webkit-box-flex:1;-webkit-flex:1 1 40%;flex:1 1 40%;max-width:100%;max-height:40%;box-sizing:border-box}.layout-xl-row>.flex-xl-40{-webkit-box-flex:1;-webkit-flex:1 1 40%;flex:1 1 40%;max-width:40%;max-height:100%;box-sizing:border-box}.layout-xl-column>.flex-xl-40{-webkit-box-flex:1;-webkit-flex:1 1 40%;flex:1 1 40%;max-width:100%;max-height:40%;box-sizing:border-box}.flex-xl-45,.layout-row>.flex-xl-45{-webkit-box-flex:1;-webkit-flex:1 1 45%;flex:1 1 45%;max-width:45%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-45{-webkit-box-flex:1;-webkit-flex:1 1 45%;flex:1 1 45%;max-width:100%;max-height:45%;box-sizing:border-box}.layout-xl-row>.flex-xl-45{-webkit-box-flex:1;-webkit-flex:1 1 45%;flex:1 1 45%;max-width:45%;max-height:100%;box-sizing:border-box}.layout-xl-column>.flex-xl-45{-webkit-box-flex:1;-webkit-flex:1 1 45%;flex:1 1 45%;max-width:100%;max-height:45%;box-sizing:border-box}.flex-xl-50,.layout-row>.flex-xl-50{-webkit-box-flex:1;-webkit-flex:1 1 50%;flex:1 1 50%;max-width:50%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-50{-webkit-box-flex:1;-webkit-flex:1 1 50%;flex:1 1 50%;max-width:100%;max-height:50%;box-sizing:border-box}.layout-xl-row>.flex-xl-50{-webkit-box-flex:1;-webkit-flex:1 1 50%;flex:1 1 50%;max-width:50%;max-height:100%;box-sizing:border-box}.layout-xl-column>.flex-xl-50{-webkit-box-flex:1;-webkit-flex:1 1 50%;flex:1 1 50%;max-width:100%;max-height:50%;box-sizing:border-box}.flex-xl-55,.layout-row>.flex-xl-55{-webkit-box-flex:1;-webkit-flex:1 1 55%;flex:1 1 55%;max-width:55%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-55{-webkit-box-flex:1;-webkit-flex:1 1 55%;flex:1 1 55%;max-width:100%;max-height:55%;box-sizing:border-box}.layout-xl-row>.flex-xl-55{-webkit-box-flex:1;-webkit-flex:1 1 55%;flex:1 1 55%;max-width:55%;max-height:100%;box-sizing:border-box}.layout-xl-column>.flex-xl-55{-webkit-box-flex:1;-webkit-flex:1 1 55%;flex:1 1 55%;max-width:100%;max-height:55%;box-sizing:border-box}.flex-xl-60,.layout-row>.flex-xl-60{-webkit-box-flex:1;-webkit-flex:1 1 60%;flex:1 1 60%;max-width:60%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-60{-webkit-box-flex:1;-webkit-flex:1 1 60%;flex:1 1 60%;max-width:100%;max-height:60%;box-sizing:border-box}.layout-xl-row>.flex-xl-60{-webkit-box-flex:1;-webkit-flex:1 1 60%;flex:1 1 60%;max-width:60%;max-height:100%;box-sizing:border-box}.layout-xl-column>.flex-xl-60{-webkit-box-flex:1;-webkit-flex:1 1 60%;flex:1 1 60%;max-width:100%;max-height:60%;box-sizing:border-box}.flex-xl-65,.layout-row>.flex-xl-65{-webkit-box-flex:1;-webkit-flex:1 1 65%;flex:1 1 65%;max-width:65%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-65{-webkit-box-flex:1;-webkit-flex:1 1 65%;flex:1 1 65%;max-width:100%;max-height:65%;box-sizing:border-box}.layout-xl-row>.flex-xl-65{-webkit-box-flex:1;-webkit-flex:1 1 65%;flex:1 1 65%;max-width:65%;max-height:100%;box-sizing:border-box}.layout-xl-column>.flex-xl-65{-webkit-box-flex:1;-webkit-flex:1 1 65%;flex:1 1 65%;max-width:100%;max-height:65%;box-sizing:border-box}.flex-xl-70,.layout-row>.flex-xl-70{-webkit-box-flex:1;-webkit-flex:1 1 70%;flex:1 1 70%;max-width:70%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-70{-webkit-box-flex:1;-webkit-flex:1 1 70%;flex:1 1 70%;max-width:100%;max-height:70%;box-sizing:border-box}.layout-xl-row>.flex-xl-70{-webkit-box-flex:1;-webkit-flex:1 1 70%;flex:1 1 70%;max-width:70%;max-height:100%;box-sizing:border-box}.layout-xl-column>.flex-xl-70{-webkit-box-flex:1;-webkit-flex:1 1 70%;flex:1 1 70%;max-width:100%;max-height:70%;box-sizing:border-box}.flex-xl-75,.layout-row>.flex-xl-75{-webkit-box-flex:1;-webkit-flex:1 1 75%;flex:1 1 75%;max-width:75%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-75{-webkit-box-flex:1;-webkit-flex:1 1 75%;flex:1 1 75%;max-width:100%;max-height:75%;box-sizing:border-box}.layout-xl-row>.flex-xl-75{-webkit-box-flex:1;-webkit-flex:1 1 75%;flex:1 1 75%;max-width:75%;max-height:100%;box-sizing:border-box}.layout-xl-column>.flex-xl-75{-webkit-box-flex:1;-webkit-flex:1 1 75%;flex:1 1 75%;max-width:100%;max-height:75%;box-sizing:border-box}.flex-xl-80,.layout-row>.flex-xl-80{-webkit-box-flex:1;-webkit-flex:1 1 80%;flex:1 1 80%;max-width:80%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-80{-webkit-box-flex:1;-webkit-flex:1 1 80%;flex:1 1 80%;max-width:100%;max-height:80%;box-sizing:border-box}.layout-xl-row>.flex-xl-80{-webkit-box-flex:1;-webkit-flex:1 1 80%;flex:1 1 80%;max-width:80%;max-height:100%;box-sizing:border-box}.layout-xl-column>.flex-xl-80{-webkit-box-flex:1;-webkit-flex:1 1 80%;flex:1 1 80%;max-width:100%;max-height:80%;box-sizing:border-box}.flex-xl-85,.layout-row>.flex-xl-85{-webkit-box-flex:1;-webkit-flex:1 1 85%;flex:1 1 85%;max-width:85%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-85{-webkit-box-flex:1;-webkit-flex:1 1 85%;flex:1 1 85%;max-width:100%;max-height:85%;box-sizing:border-box}.layout-xl-row>.flex-xl-85{-webkit-box-flex:1;-webkit-flex:1 1 85%;flex:1 1 85%;max-width:85%;max-height:100%;box-sizing:border-box}.layout-xl-column>.flex-xl-85{-webkit-box-flex:1;-webkit-flex:1 1 85%;flex:1 1 85%;max-width:100%;max-height:85%;box-sizing:border-box}.flex-xl-90,.layout-row>.flex-xl-90{-webkit-box-flex:1;-webkit-flex:1 1 90%;flex:1 1 90%;max-width:90%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-90{-webkit-box-flex:1;-webkit-flex:1 1 90%;flex:1 1 90%;max-width:100%;max-height:90%;box-sizing:border-box}.layout-xl-row>.flex-xl-90{-webkit-box-flex:1;-webkit-flex:1 1 90%;flex:1 1 90%;max-width:90%;max-height:100%;box-sizing:border-box}.layout-xl-column>.flex-xl-90{-webkit-box-flex:1;-webkit-flex:1 1 90%;flex:1 1 90%;max-width:100%;max-height:90%;box-sizing:border-box}.flex-xl-95,.layout-row>.flex-xl-95{-webkit-box-flex:1;-webkit-flex:1 1 95%;flex:1 1 95%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-95{-webkit-box-flex:1;-webkit-flex:1 1 95%;flex:1 1 95%;max-width:100%;max-height:95%;box-sizing:border-box}.layout-xl-row>.flex-xl-95{-webkit-box-flex:1;-webkit-flex:1 1 95%;flex:1 1 95%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-xl-column>.flex-xl-95{-webkit-box-flex:1;-webkit-flex:1 1 95%;flex:1 1 95%;max-width:100%;max-height:95%;box-sizing:border-box}.flex-xl-100,.layout-column>.flex-xl-100,.layout-row>.flex-xl-100{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-row>.flex-xl-33,.layout-row>.flex-xl-66{-webkit-box-flex:1;max-height:100%;box-sizing:border-box}.layout-row>.flex-xl-33{-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:33.33%}.layout-row>.flex-xl-66{-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:66.66%}.layout-column>.flex-xl-33{-webkit-box-flex:1;-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:100%;max-height:33.33%;box-sizing:border-box}.layout-column>.flex-xl-66{-webkit-box-flex:1;-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:100%;max-height:66.66%;box-sizing:border-box}.layout-xl-column>.flex-xl-100,.layout-xl-row>.flex-xl-100{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-xl-row>.flex-xl-33{-webkit-box-flex:1;-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:33.33%;max-height:100%;box-sizing:border-box}.layout-xl-row>.flex-xl-66{-webkit-box-flex:1;-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:66.66%;max-height:100%;box-sizing:border-box}.layout-xl-row>.flex{min-width:0}.layout-xl-column>.flex-xl-33{-webkit-box-flex:1;-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:100%;max-height:33.33%;box-sizing:border-box}.layout-xl-column>.flex-xl-66{-webkit-box-flex:1;-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:100%;max-height:66.66%;box-sizing:border-box}.layout-xl-column>.flex{min-height:0}.layout-xl,.layout-xl-column,.layout-xl-row{box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:flex}.layout-xl-column{-webkit-box-orient:vertical;-webkit-flex-direction:column;flex-direction:column}.layout-xl-row{-webkit-box-orient:horizontal;-webkit-flex-direction:row;flex-direction:row}.hide-gt-lg:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-gt-lg):not(.show-xl):not(.show),.hide-gt-md:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-gt-lg):not(.show-xl):not(.show),.hide-gt-sm:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-gt-lg):not(.show-xl):not(.show),.hide-gt-xs:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-gt-lg):not(.show-xl):not(.show),.hide-xl:not(.show-xl):not(.show-gt-lg):not(.show-gt-md):not(.show-gt-sm):not(.show-gt-xs):not(.show),.hide:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-gt-lg):not(.show-xl):not(.show){display:none}}@media print{[md-whiteframe],md-whiteframe{background-color:#fff}.hide-print:not(.show-print):not(.show){display:none!important}}.intl-tel-input{position:relative;display:inline-block}.intl-tel-input *{box-sizing:border-box;-moz-box-sizing:border-box}.intl-tel-input .hide{display:none}.intl-tel-input .v-hide{visibility:hidden}.intl-tel-input input,.intl-tel-input input[type=tel],.intl-tel-input input[type=text]{position:relative;z-index:0;margin-top:0!important;margin-bottom:0!important;padding-right:36px;margin-right:0}.intl-tel-input .flag-container{position:absolute;top:0;bottom:0;right:0;padding:1px}.intl-tel-input .selected-flag{z-index:1;position:relative;width:36px;height:100%;padding:0 0 0 8px}.intl-tel-input .selected-flag .iti-flag{position:absolute;top:0;bottom:0;margin:auto}.intl-tel-input .selected-flag .iti-arrow{position:absolute;top:50%;margin-top:-2px;right:6px;width:0;height:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:4px solid #555}.intl-tel-input .selected-flag .iti-arrow.up{border-top:none;border-bottom:4px solid #555}.intl-tel-input .country-list{position:absolute;z-index:2;list-style:none;text-align:left;padding:0;margin:0 0 0 -1px;box-shadow:1px 1px 4px rgba(0,0,0,.2);background-color:#fff;border:1px solid #CCC;white-space:nowrap;max-height:200px;overflow-y:scroll}.intl-tel-input .country-list .country.highlight,.intl-tel-input.allow-dropdown .flag-container:hover .selected-flag{background-color:rgba(0,0,0,.05)}.intl-tel-input .country-list.dropup{bottom:100%;margin-bottom:-1px}.intl-tel-input .country-list .flag-box{display:inline-block;width:20px}@media (max-width:500px){.intl-tel-input .country-list{white-space:normal}}.intl-tel-input .country-list .divider{padding-bottom:5px;margin-bottom:5px;border-bottom:1px solid #CCC}.intl-tel-input .country-list .country{padding:5px 10px}.intl-tel-input .country-list .country .dial-code{color:#999}.intl-tel-input .country-list .country-name,.intl-tel-input .country-list .dial-code,.intl-tel-input .country-list .flag-box{vertical-align:middle}.intl-tel-input .country-list .country-name,.intl-tel-input .country-list .flag-box{margin-right:6px}.intl-tel-input.allow-dropdown input,.intl-tel-input.allow-dropdown input[type=tel],.intl-tel-input.allow-dropdown input[type=text]{padding-right:6px;padding-left:52px;margin-left:0}.intl-tel-input.allow-dropdown .flag-container{right:auto;left:0}.intl-tel-input.allow-dropdown .selected-flag{width:46px}.intl-tel-input.allow-dropdown .flag-container:hover{cursor:pointer}.intl-tel-input.allow-dropdown input[disabled]+.flag-container:hover,.intl-tel-input.allow-dropdown input[readonly]+.flag-container:hover{cursor:default}.intl-tel-input.allow-dropdown input[disabled]+.flag-container:hover .selected-flag,.intl-tel-input.allow-dropdown input[readonly]+.flag-container:hover .selected-flag{background-color:transparent}.intl-tel-input.allow-dropdown.separate-dial-code .selected-flag{background-color:rgba(0,0,0,.05);display:table}.intl-tel-input.allow-dropdown.separate-dial-code .selected-dial-code{display:table-cell;vertical-align:middle;padding-left:28px}.intl-tel-input.allow-dropdown.separate-dial-code.iti-sdc-2 input,.intl-tel-input.allow-dropdown.separate-dial-code.iti-sdc-2 input[type=tel],.intl-tel-input.allow-dropdown.separate-dial-code.iti-sdc-2 input[type=text]{padding-left:76px}.intl-tel-input.allow-dropdown.separate-dial-code.iti-sdc-2 .selected-flag{width:70px}.intl-tel-input.allow-dropdown.separate-dial-code.iti-sdc-3 input,.intl-tel-input.allow-dropdown.separate-dial-code.iti-sdc-3 input[type=tel],.intl-tel-input.allow-dropdown.separate-dial-code.iti-sdc-3 input[type=text]{padding-left:84px}.intl-tel-input.allow-dropdown.separate-dial-code.iti-sdc-3 .selected-flag{width:78px}.intl-tel-input.allow-dropdown.separate-dial-code.iti-sdc-4 input,.intl-tel-input.allow-dropdown.separate-dial-code.iti-sdc-4 input[type=tel],.intl-tel-input.allow-dropdown.separate-dial-code.iti-sdc-4 input[type=text]{padding-left:92px}.intl-tel-input.allow-dropdown.separate-dial-code.iti-sdc-4 .selected-flag{width:86px}.intl-tel-input.allow-dropdown.separate-dial-code.iti-sdc-5 input,.intl-tel-input.allow-dropdown.separate-dial-code.iti-sdc-5 input[type=tel],.intl-tel-input.allow-dropdown.separate-dial-code.iti-sdc-5 input[type=text]{padding-left:100px}.intl-tel-input.allow-dropdown.separate-dial-code.iti-sdc-5 .selected-flag{width:94px}.intl-tel-input.iti-container{position:absolute;top:-1000px;left:-1000px;z-index:1060;padding:1px}.intl-tel-input.iti-container:hover{cursor:pointer}.iti-mobile .intl-tel-input.iti-container{top:30px;bottom:30px;left:30px;right:30px;position:fixed}.iti-mobile .intl-tel-input .country-list{max-height:100%;width:100%}.iti-mobile .intl-tel-input .country-list .country{padding:10px;line-height:1.5em}.iti-flag{width:20px}.iti-flag.be{width:18px}.iti-flag.ch{width:15px}.iti-flag.mc{width:19px}.iti-flag.ne{width:18px}.iti-flag.ac{height:10px;background-position:0 0}.iti-flag.ad{height:14px;background-position:-22px 0}.iti-flag.ae{height:10px;background-position:-44px 0}.iti-flag.af{height:14px;background-position:-66px 0}.iti-flag.ag{height:14px;background-position:-88px 0}.iti-flag.ai{height:10px;background-position:-110px 0}.iti-flag.al{height:15px;background-position:-132px 0}.iti-flag.am{height:10px;background-position:-154px 0}.iti-flag.ao{height:14px;background-position:-176px 0}.iti-flag.aq{height:14px;background-position:-198px 0}.iti-flag.ar{height:13px;background-position:-220px 0}.iti-flag.as{height:10px;background-position:-242px 0}.iti-flag.at{height:14px;background-position:-264px 0}.iti-flag.au{height:10px;background-position:-286px 0}.iti-flag.aw{height:14px;background-position:-308px 0}.iti-flag.ax{height:13px;background-position:-330px 0}.iti-flag.az{height:10px;background-position:-352px 0}.iti-flag.ba{height:10px;background-position:-374px 0}.iti-flag.bb{height:14px;background-position:-396px 0}.iti-flag.bd{height:12px;background-position:-418px 0}.iti-flag.be{height:15px;background-position:-440px 0}.iti-flag.bf{height:14px;background-position:-460px 0}.iti-flag.bg{height:12px;background-position:-482px 0}.iti-flag.bh{height:12px;background-position:-504px 0}.iti-flag.bi{height:12px;background-position:-526px 0}.iti-flag.bj{height:14px;background-position:-548px 0}.iti-flag.bl{height:14px;background-position:-570px 0}.iti-flag.bm{height:10px;background-position:-592px 0}.iti-flag.bn{height:10px;background-position:-614px 0}.iti-flag.bo{height:14px;background-position:-636px 0}.iti-flag.bq{height:14px;background-position:-658px 0}.iti-flag.br{height:14px;background-position:-680px 0}.iti-flag.bs{height:10px;background-position:-702px 0}.iti-flag.bt{height:14px;background-position:-724px 0}.iti-flag.bv{height:15px;background-position:-746px 0}.iti-flag.bw{height:14px;background-position:-768px 0}.iti-flag.by{height:10px;background-position:-790px 0}.iti-flag.bz{height:14px;background-position:-812px 0}.iti-flag.ca{height:10px;background-position:-834px 0}.iti-flag.cc{height:10px;background-position:-856px 0}.iti-flag.cd{height:15px;background-position:-878px 0}.iti-flag.cf{height:14px;background-position:-900px 0}.iti-flag.cg{height:14px;background-position:-922px 0}.iti-flag.ch{height:15px;background-position:-944px 0}.iti-flag.ci{height:14px;background-position:-961px 0}.iti-flag.ck{height:10px;background-position:-983px 0}.iti-flag.cl{height:14px;background-position:-1005px 0}.iti-flag.cm{height:14px;background-position:-1027px 0}.iti-flag.cn{height:14px;background-position:-1049px 0}.iti-flag.co{height:14px;background-position:-1071px 0}.iti-flag.cp{height:14px;background-position:-1093px 0}.iti-flag.cr{height:12px;background-position:-1115px 0}.iti-flag.cu{height:10px;background-position:-1137px 0}.iti-flag.cv{height:12px;background-position:-1159px 0}.iti-flag.cw{height:14px;background-position:-1181px 0}.iti-flag.cx{height:10px;background-position:-1203px 0}.iti-flag.cy{height:13px;background-position:-1225px 0}.iti-flag.cz{height:14px;background-position:-1247px 0}.iti-flag.de{height:12px;background-position:-1269px 0}.iti-flag.dg{height:10px;background-position:-1291px 0}.iti-flag.dj{height:14px;background-position:-1313px 0}.iti-flag.dk{height:15px;background-position:-1335px 0}.iti-flag.dm{height:10px;background-position:-1357px 0}.iti-flag.do{height:13px;background-position:-1379px 0}.iti-flag.dz{height:14px;background-position:-1401px 0}.iti-flag.ea{height:14px;background-position:-1423px 0}.iti-flag.ec{height:14px;background-position:-1445px 0}.iti-flag.ee{height:13px;background-position:-1467px 0}.iti-flag.eg{height:14px;background-position:-1489px 0}.iti-flag.eh{height:10px;background-position:-1511px 0}.iti-flag.er{height:10px;background-position:-1533px 0}.iti-flag.es{height:14px;background-position:-1555px 0}.iti-flag.et{height:10px;background-position:-1577px 0}.iti-flag.eu{height:14px;background-position:-1599px 0}.iti-flag.fi{height:12px;background-position:-1621px 0}.iti-flag.fj{height:10px;background-position:-1643px 0}.iti-flag.fk{height:10px;background-position:-1665px 0}.iti-flag.fm{height:11px;background-position:-1687px 0}.iti-flag.fo{height:15px;background-position:-1709px 0}.iti-flag.fr{height:14px;background-position:-1731px 0}.iti-flag.ga{height:15px;background-position:-1753px 0}.iti-flag.gb{height:10px;background-position:-1775px 0}.iti-flag.gd{height:12px;background-position:-1797px 0}.iti-flag.ge{height:14px;background-position:-1819px 0}.iti-flag.gf{height:14px;background-position:-1841px 0}.iti-flag.gg{height:14px;background-position:-1863px 0}.iti-flag.gh{height:14px;background-position:-1885px 0}.iti-flag.gi{height:10px;background-position:-1907px 0}.iti-flag.gl{height:14px;background-position:-1929px 0}.iti-flag.gm{height:14px;background-position:-1951px 0}.iti-flag.gn{height:14px;background-position:-1973px 0}.iti-flag.gp{height:14px;background-position:-1995px 0}.iti-flag.gq{height:14px;background-position:-2017px 0}.iti-flag.gr{height:14px;background-position:-2039px 0}.iti-flag.gs{height:10px;background-position:-2061px 0}.iti-flag.gt{height:13px;background-position:-2083px 0}.iti-flag.gu{height:11px;background-position:-2105px 0}.iti-flag.gw{height:10px;background-position:-2127px 0}.iti-flag.gy{height:12px;background-position:-2149px 0}.iti-flag.hk{height:14px;background-position:-2171px 0}.iti-flag.hm{height:10px;background-position:-2193px 0}.iti-flag.hn{height:10px;background-position:-2215px 0}.iti-flag.hr{height:10px;background-position:-2237px 0}.iti-flag.ht{height:12px;background-position:-2259px 0}.iti-flag.hu{height:10px;background-position:-2281px 0}.iti-flag.ic{height:14px;background-position:-2303px 0}.iti-flag.id{height:14px;background-position:-2325px 0}.iti-flag.ie{height:10px;background-position:-2347px 0}.iti-flag.il{height:15px;background-position:-2369px 0}.iti-flag.im{height:10px;background-position:-2391px 0}.iti-flag.in{height:14px;background-position:-2413px 0}.iti-flag.io{height:10px;background-position:-2435px 0}.iti-flag.iq{height:14px;background-position:-2457px 0}.iti-flag.ir{height:12px;background-position:-2479px 0}.iti-flag.is{height:15px;background-position:-2501px 0}.iti-flag.it{height:14px;background-position:-2523px 0}.iti-flag.je{height:12px;background-position:-2545px 0}.iti-flag.jm{height:10px;background-position:-2567px 0}.iti-flag.jo{height:10px;background-position:-2589px 0}.iti-flag.jp{height:14px;background-position:-2611px 0}.iti-flag.ke{height:14px;background-position:-2633px 0}.iti-flag.kg{height:12px;background-position:-2655px 0}.iti-flag.kh{height:13px;background-position:-2677px 0}.iti-flag.ki{height:10px;background-position:-2699px 0}.iti-flag.km{height:12px;background-position:-2721px 0}.iti-flag.kn{height:14px;background-position:-2743px 0}.iti-flag.kp{height:10px;background-position:-2765px 0}.iti-flag.kr{height:14px;background-position:-2787px 0}.iti-flag.kw{height:10px;background-position:-2809px 0}.iti-flag.ky{height:10px;background-position:-2831px 0}.iti-flag.kz{height:10px;background-position:-2853px 0}.iti-flag.la{height:14px;background-position:-2875px 0}.iti-flag.lb{height:14px;background-position:-2897px 0}.iti-flag.lc{height:10px;background-position:-2919px 0}.iti-flag.li{height:12px;background-position:-2941px 0}.iti-flag.lk{height:10px;background-position:-2963px 0}.iti-flag.lr{height:11px;background-position:-2985px 0}.iti-flag.ls{height:14px;background-position:-3007px 0}.iti-flag.lt{height:12px;background-position:-3029px 0}.iti-flag.lu{height:12px;background-position:-3051px 0}.iti-flag.lv{height:10px;background-position:-3073px 0}.iti-flag.ly{height:10px;background-position:-3095px 0}.iti-flag.ma{height:14px;background-position:-3117px 0}.iti-flag.mc{height:15px;background-position:-3139px 0}.iti-flag.md{height:10px;background-position:-3160px 0}.iti-flag.me{height:10px;background-position:-3182px 0}.iti-flag.mf{height:14px;background-position:-3204px 0}.iti-flag.mg{height:14px;background-position:-3226px 0}.iti-flag.mh{height:11px;background-position:-3248px 0}.iti-flag.mk{height:10px;background-position:-3270px 0}.iti-flag.ml{height:14px;background-position:-3292px 0}.iti-flag.mm{height:14px;background-position:-3314px 0}.iti-flag.mn{height:10px;background-position:-3336px 0}.iti-flag.mo{height:14px;background-position:-3358px 0}.iti-flag.mp{height:10px;background-position:-3380px 0}.iti-flag.mq{height:14px;background-position:-3402px 0}.iti-flag.mr{height:14px;background-position:-3424px 0}.iti-flag.ms{height:10px;background-position:-3446px 0}.iti-flag.mt{height:14px;background-position:-3468px 0}.iti-flag.mu{height:14px;background-position:-3490px 0}.iti-flag.mv{height:14px;background-position:-3512px 0}.iti-flag.mw{height:14px;background-position:-3534px 0}.iti-flag.mx{height:12px;background-position:-3556px 0}.iti-flag.my{height:10px;background-position:-3578px 0}.iti-flag.mz{height:14px;background-position:-3600px 0}.iti-flag.na{height:14px;background-position:-3622px 0}.iti-flag.nc{height:10px;background-position:-3644px 0}.iti-flag.ne{height:15px;background-position:-3666px 0}.iti-flag.nf{height:10px;background-position:-3686px 0}.iti-flag.ng{height:10px;background-position:-3708px 0}.iti-flag.ni{height:12px;background-position:-3730px 0}.iti-flag.nl{height:14px;background-position:-3752px 0}.iti-flag.no{height:15px;background-position:-3774px 0}.iti-flag.np{width:13px;height:15px;background-position:-3796px 0}.iti-flag.nr{height:10px;background-position:-3811px 0}.iti-flag.nu{height:10px;background-position:-3833px 0}.iti-flag.nz{height:10px;background-position:-3855px 0}.iti-flag.om{height:10px;background-position:-3877px 0}.iti-flag.pa{height:14px;background-position:-3899px 0}.iti-flag.pe{height:14px;background-position:-3921px 0}.iti-flag.pf{height:14px;background-position:-3943px 0}.iti-flag.pg{height:15px;background-position:-3965px 0}.iti-flag.ph{height:10px;background-position:-3987px 0}.iti-flag.pk{height:14px;background-position:-4009px 0}.iti-flag.pl{height:13px;background-position:-4031px 0}.iti-flag.pm{height:14px;background-position:-4053px 0}.iti-flag.pn{height:10px;background-position:-4075px 0}.iti-flag.pr{height:14px;background-position:-4097px 0}.iti-flag.ps{height:10px;background-position:-4119px 0}.iti-flag.pt{height:14px;background-position:-4141px 0}.iti-flag.pw{height:13px;background-position:-4163px 0}.iti-flag.py{height:11px;background-position:-4185px 0}.iti-flag.qa{height:8px;background-position:-4207px 0}.iti-flag.re{height:14px;background-position:-4229px 0}.iti-flag.ro{height:14px;background-position:-4251px 0}.iti-flag.rs{height:14px;background-position:-4273px 0}.iti-flag.ru{height:14px;background-position:-4295px 0}.iti-flag.rw{height:14px;background-position:-4317px 0}.iti-flag.sa{height:14px;background-position:-4339px 0}.iti-flag.sb{height:10px;background-position:-4361px 0}.iti-flag.sc{height:10px;background-position:-4383px 0}.iti-flag.sd{height:10px;background-position:-4405px 0}.iti-flag.se{height:13px;background-position:-4427px 0}.iti-flag.sg{height:14px;background-position:-4449px 0}.iti-flag.sh{height:10px;background-position:-4471px 0}.iti-flag.si{height:10px;background-position:-4493px 0}.iti-flag.sj{height:15px;background-position:-4515px 0}.iti-flag.sk{height:14px;background-position:-4537px 0}.iti-flag.sl{height:14px;background-position:-4559px 0}.iti-flag.sm{height:15px;background-position:-4581px 0}.iti-flag.sn{height:14px;background-position:-4603px 0}.iti-flag.so{height:14px;background-position:-4625px 0}.iti-flag.sr{height:14px;background-position:-4647px 0}.iti-flag.ss{height:10px;background-position:-4669px 0}.iti-flag.st{height:10px;background-position:-4691px 0}.iti-flag.sv{height:12px;background-position:-4713px 0}.iti-flag.sx{height:14px;background-position:-4735px 0}.iti-flag.sy{height:14px;background-position:-4757px 0}.iti-flag.sz{height:14px;background-position:-4779px 0}.iti-flag.ta{height:10px;background-position:-4801px 0}.iti-flag.tc{height:10px;background-position:-4823px 0}.iti-flag.td{height:14px;background-position:-4845px 0}.iti-flag.tf{height:14px;background-position:-4867px 0}.iti-flag.tg{height:13px;background-position:-4889px 0}.iti-flag.th{height:14px;background-position:-4911px 0}.iti-flag.tj{height:10px;background-position:-4933px 0}.iti-flag.tk{height:10px;background-position:-4955px 0}.iti-flag.tl{height:10px;background-position:-4977px 0}.iti-flag.tm{height:14px;background-position:-4999px 0}.iti-flag.tn{height:14px;background-position:-5021px 0}.iti-flag.to{height:10px;background-position:-5043px 0}.iti-flag.tr{height:14px;background-position:-5065px 0}.iti-flag.tt{height:12px;background-position:-5087px 0}.iti-flag.tv{height:10px;background-position:-5109px 0}.iti-flag.tw{height:14px;background-position:-5131px 0}.iti-flag.tz{height:14px;background-position:-5153px 0}.iti-flag.ua{height:14px;background-position:-5175px 0}.iti-flag.ug{height:14px;background-position:-5197px 0}.iti-flag.um{height:11px;background-position:-5219px 0}.iti-flag.us{height:11px;background-position:-5241px 0}.iti-flag.uy{height:14px;background-position:-5263px 0}.iti-flag.uz{height:10px;background-position:-5285px 0}.iti-flag.va{width:15px;height:15px;background-position:-5307px 0}.iti-flag.vc{height:14px;background-position:-5324px 0}.iti-flag.ve{height:14px;background-position:-5346px 0}.iti-flag.vg{height:10px;background-position:-5368px 0}.iti-flag.vi{height:14px;background-position:-5390px 0}.iti-flag.vn{height:14px;background-position:-5412px 0}.iti-flag.vu{height:12px;background-position:-5434px 0}.iti-flag.wf{height:14px;background-position:-5456px 0}.iti-flag.ws{height:10px;background-position:-5478px 0}.iti-flag.xk{height:15px;background-position:-5500px 0}.iti-flag.ye{height:14px;background-position:-5522px 0}.iti-flag.yt{height:14px;background-position:-5544px 0}.iti-flag.za{height:14px;background-position:-5566px 0}.iti-flag.zm{height:14px;background-position:-5588px 0}.iti-flag.zw{height:10px;background-position:-5610px 0}.iti-flag{height:15px;box-shadow:0 0 1px 0 #888;background-image:url(../img/flags.png);background-repeat:no-repeat;background-color:#DBDBDB;background-position:20px 0}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2 / 1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.iti-flag{background-size:5630px 15px;background-image:url(../img/flags@2x.png)}}.iti-flag.np{background-color:transparent}/*! - * animate.css -http://daneden.me/animate - * Version - 3.5.1 - * Licensed under the MIT license - http://opensource.org/licenses/MIT - * - * Copyright (c) 2016 Daniel Eden - */.animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.hinge{-webkit-animation-duration:2s;animation-duration:2s}.animated.bounceIn,.animated.bounceOut,.animated.flipOutX,.animated.flipOutY{-webkit-animation-duration:.75s;animation-duration:.75s}@-webkit-keyframes bounce{20%,53%,80%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.050,.855,.060);animation-timing-function:cubic-bezier(.755,.050,.855,.060);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.050,.855,.060);animation-timing-function:cubic-bezier(.755,.050,.855,.060);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}@keyframes bounce{20%,53%,80%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.050,.855,.060);animation-timing-function:cubic-bezier(.755,.050,.855,.060);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.050,.855,.060);animation-timing-function:cubic-bezier(.755,.050,.855,.060);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}.bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flash{50%,from,to{opacity:1}25%,75%{opacity:0}}@keyframes flash{50%,from,to{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{from,to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}}@keyframes pulse{from,to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse}@-webkit-keyframes rubberBand{from,to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}}@keyframes rubberBand{from,to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shake{from,to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shake{from,to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.shake{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}.headShake{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-name:headShake;animation-name:headShake}@-webkit-keyframes swing{20%{-webkit-transform:rotate3d(0,0,1,15deg);transform:rotate3d(0,0,1,15deg)}40%{-webkit-transform:rotate3d(0,0,1,-10deg);transform:rotate3d(0,0,1,-10deg)}60%{-webkit-transform:rotate3d(0,0,1,5deg);transform:rotate3d(0,0,1,5deg)}80%{-webkit-transform:rotate3d(0,0,1,-5deg);transform:rotate3d(0,0,1,-5deg)}to{-webkit-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0deg)}}@keyframes swing{20%{-webkit-transform:rotate3d(0,0,1,15deg);transform:rotate3d(0,0,1,15deg)}40%{-webkit-transform:rotate3d(0,0,1,-10deg);transform:rotate3d(0,0,1,-10deg)}60%{-webkit-transform:rotate3d(0,0,1,5deg);transform:rotate3d(0,0,1,5deg)}80%{-webkit-transform:rotate3d(0,0,1,-5deg);transform:rotate3d(0,0,1,-5deg)}to{-webkit-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0deg)}}.swing{-webkit-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{from,to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg);transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)}}@keyframes tada{from,to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg);transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{from,to{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}}@keyframes wobble{from,to{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes jello{11.1%,from,to{-webkit-transform:none;transform:none}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}@keyframes jello{11.1%,from,to{-webkit-transform:none;transform:none}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}.jello{-webkit-animation-name:jello;animation-name:jello;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes bounceIn{20%,40%,60%,80%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes bounceIn{20%,40%,60%,80%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.bounceIn{-webkit-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceInDown{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:none;transform:none}}@keyframes bounceInDown{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:none;transform:none}}.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:none;transform:none}}@keyframes bounceInLeft{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:none;transform:none}}.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:none;transform:none}}@keyframes bounceInRight{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:none;transform:none}}.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes bounceInUp{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}.bounceOut{-webkit-animation-name:bounceOut;animation-name:bounceOut}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{from{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDownBig{from{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{from{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeft{from{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{from{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeftBig{from{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{from{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRight{from{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{from{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRightBig{from{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{from{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUp{from{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{from{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUpBig{from{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeOut{from{opacity:1}to{opacity:0}}@keyframes fadeOut{from{opacity:1}to{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes fadeOutDownBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes fadeOutLeftBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes fadeOutRightBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes fadeOutUpBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes flip{from{-webkit-transform:perspective(400px) rotate3d(0,1,0,-360deg);transform:perspective(400px) rotate3d(0,1,0,-360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{from{-webkit-transform:perspective(400px) rotate3d(0,1,0,-360deg);transform:perspective(400px) rotate3d(0,1,0,-360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animated.flip{-webkit-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{from{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{from{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInX{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInX;animation-name:flipInX}.flipInY,.flipOutX{-webkit-backface-visibility:visible!important}@-webkit-keyframes flipInY{from{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{from{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInY{backface-visibility:visible!important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{from{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}@keyframes flipOutX{from{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}.flipOutX{-webkit-animation-name:flipOutX;animation-name:flipOutX;backface-visibility:visible!important}@-webkit-keyframes flipOutY{from{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}@keyframes flipOutY{from{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}.flipOutY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipOutY;animation-name:flipOutY}@-webkit-keyframes lightSpeedIn{from{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}to{-webkit-transform:none;transform:none;opacity:1}}@keyframes lightSpeedIn{from{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}to{-webkit-transform:none;transform:none;opacity:1}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOut{from{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}@keyframes lightSpeedOut{from{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{from{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,-200deg);transform:rotate3d(0,0,1,-200deg);opacity:0}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateIn{from{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,-200deg);transform:rotate3d(0,0,1,-200deg);opacity:0}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}.rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInDownLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInDownRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateInUpLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInUpRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-90deg);transform:rotate3d(0,0,1,-90deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-90deg);transform:rotate3d(0,0,1,-90deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateOut{from{-webkit-transform-origin:center;transform-origin:center;opacity:1}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,200deg);transform:rotate3d(0,0,1,200deg);opacity:0}}@keyframes rotateOut{from{-webkit-transform-origin:center;transform-origin:center;opacity:1}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,200deg);transform:rotate3d(0,0,1,200deg);opacity:0}}.rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutDownLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}}@keyframes rotateOutDownLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutDownRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}@keyframes rotateOutDownRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes rotateOutUpLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}@keyframes rotateOutUpLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutUpRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,90deg);transform:rotate3d(0,0,1,90deg);opacity:0}}@keyframes rotateOutUpRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,90deg);transform:rotate3d(0,0,1,90deg);opacity:0}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate3d(0,0,1,80deg);transform:rotate3d(0,0,1,80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate3d(0,0,1,60deg);transform:rotate3d(0,0,1,60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}@keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate3d(0,0,1,80deg);transform:rotate3d(0,0,1,80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate3d(0,0,1,60deg);transform:rotate3d(0,0,1,60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.hinge{-webkit-animation-name:hinge;animation-name:hinge}@-webkit-keyframes rollIn{from{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes rollIn{from{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}to{opacity:1;-webkit-transform:none;transform:none}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg);transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg)}}@keyframes rollOut{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg);transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg)}}.rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}.zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInDown{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInLeft{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInRight{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInUp{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes zoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}.zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown}@-webkit-keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}@keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}.zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft}@-webkit-keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}@keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}.zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight}@-webkit-keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp}@-webkit-keyframes slideInDown{from{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInDown{from{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{from{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInLeft{from{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{from{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInRight{from{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{from{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInUp{from{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes slideOutDown{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes slideOutLeft{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes slideOutRight{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes slideOutUp{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp} \ No newline at end of file diff --git a/d2ice.att.io/dist/welcome/index.html b/d2ice.att.io/dist/welcome/index.html deleted file mode 100755 index 63a921b1..00000000 --- a/d2ice.att.io/dist/welcome/index.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - AT&T | {{'program.name' | i18next}} - - - - diff --git a/d2ice.att.io/dist/welcome/welcome.controller.js b/d2ice.att.io/dist/welcome/welcome.controller.js deleted file mode 100755 index 8f5aa1a8..00000000 --- a/d2ice.att.io/dist/welcome/welcome.controller.js +++ /dev/null @@ -1,58 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -/** - * Created by almog on 26/12/2016. - */ -(function() { - 'use strict'; - - angular - .module('ice.welcome') - .controller('WelcomeController', ["$state", "$location", "localStorageService", WelcomeController]); - - function WelcomeController($state, $location, localStorageService) { - var vm = this; - - var init = function() { - - } - - init(); - } -})(); diff --git a/d2ice.att.io/dist/welcome/welcome.html b/d2ice.att.io/dist/welcome/welcome.html deleted file mode 100755 index 14292a6a..00000000 --- a/d2ice.att.io/dist/welcome/welcome.html +++ /dev/null @@ -1,114 +0,0 @@ - - - -
-
-
-

Welcome to {{'program.name' | i18next}}

-

{{'program.name' | i18next}} is a process allowing VFs to be incubated & validated against the {{'serviceProvider.name' | i18next}} Domain 2.0 architecture.

- Get Started -
-
-
- -
-
-
-
- -

Incubate

-

{{'program.name' | i18next}} encourages you to engage early to make sure the process is as iterative and collaborative as possible.

-
-
-
-
- -

Validate

-

{{'program.name' | i18next}} is focused to help validate your VF according the {{'serviceProvider.name' | i18next}} guidelines and requirements to allow for seamless onboarding.

-
-
-
-
- -

Collaborate

-

{{'program.name' | i18next}} allows and encourages you to collaborate with your VF team to validate your VF both internally and externally.

-
-
-
-
- -
- -
diff --git a/d2ice.att.io/dist/welcome/welcome.less b/d2ice.att.io/dist/welcome/welcome.less deleted file mode 100755 index 426e1dfd..00000000 --- a/d2ice.att.io/dist/welcome/welcome.less +++ /dev/null @@ -1,208 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -.welcome-boxes { - margin-top: 60px; -} - -.welcome-box { - h3 { - font-weight: bold; - } - - p { - font-size: 16px; - padding: 0 15px; - color: @welcome_box_text_color; - margin-bottom: 0; - } -} - -.get-started-button { - width:190px; - margin-top:20px; - text-align:center; - margin-left:auto; - margin-right:auto; - color:white !important; - height:48px; - font-size:18px !important; - font-weight: bold; - line-height:38px; - vertical-align: middle; - background: linear-gradient(@welcome_button_gradient1, @welcome_button_gradient2); - border: 1px solid @welcome_button_border; - border-radius: 6px; -} - -.welcome-body { - overflow: auto; -} - -.welcome-navbar { - background-color: black; - padding-left: 10%; - padding-right: 10%; - border-color: @welcome_navbar_hr; - border-left: black; - z-index: 1030; - left: 0; - right: 0; - position: absolute; - border-radius: 0; - top: 0; -} - -.welcome-nav-link { - color: @main_color_p !important; - font-weight: 600; - line-height: 20px; - margin-top: 7px; -} - -.welcome { - position: relative; - width: 100%; - //min-height: auto; - -webkit-background-size: cover; - -moz-background-size: cover; - background-size: cover; - -o-background-size: cover; - background: url('../styles/images/home_bg1-1920x1138.jpg') center; - text-align: center; - color: white; -} - -.welcome .header-content { - position: relative; - text-align: center; - padding: 100px 15px 100px; - width: 100%; -} -.welcome .header-content .header-content-inner h1 { - font-weight: 700; - margin-top: 0; - margin-bottom: 0; - font-size: 30px; - color: @main_color_p; -} - -.welcome .header-content .header-content-inner p { - font-weight: 300; - font-size: 16px; - margin-bottom: 50px; - color: @main_color_p; -} - -@media (min-width: 768px) { - .welcome { - min-height: 73%; - } - - .welcome .header-content { - position: absolute; - top: 50%; - -webkit-transform: translateY(-50%); - -ms-transform: translateY(-50%); - transform: translateY(-50%); - padding: 0 50px; - } - - .welcome .header-content .header-content-inner { - max-width: 100%; - margin-left: auto; - margin-right: auto; - } - - .welcome .header-content .header-content-inner h1 { - font-size: 50px; - } - - .welcome .header-content .header-content-inner p { - font-size: 18px; - max-width: 90%; - margin-left: auto; - margin-right: auto; - } -} - -.welcome-footer { - background: @welcome_footer_bg; - color: @welcome_footer_text; - padding: 60px 0 0; - margin-top: 60px; -} - -.welcome-footer-copyright { - color: @welcome_footer_text; - font-size: 17px; - line-height: 25px; - padding-bottom: 5px; - text-align: center; -} - -.welcome-logo { - margin-top: -8px; -} - -.navbar-collapse .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus { - background: none; -} - -.navbar-collapse .navbar-nav > li > a:hover:after, -.navbar-collapse .navbar-nav > li.active > a:after, -.navbar-collapse .navbar-nav > li.active > a:hover:after, -.navbar-collapse .navbar-nav > li.active > a:focus:after { - position:absolute; - bottom:9px; - left:50%; - content:''; - width:20px; - height:2px; - margin-left:-10px; - background-color:#fff; -} - - -.navbar-nav > li + li {margin-left:2px} -.navbar-collapse .navbar-nav > li.active > a, -.navbar-collapse .navbar-nav > li.active > a:hover, -.navbar-collapse .navbar-nav > li.active > a:focus { - color:#828282; - background-color:transparent; -} diff --git a/d2ice.att.io/dist/welcome/welcome.module.js b/d2ice.att.io/dist/welcome/welcome.module.js deleted file mode 100755 index a17e3680..00000000 --- a/d2ice.att.io/dist/welcome/welcome.module.js +++ /dev/null @@ -1,63 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -/** - * Created by almog on 26/12/2016. - */ -(function () { - 'use strict'; - - angular - .module('ice.welcome', []) - .config(config); - - function config($stateProvider) { - $stateProvider - .state('app.welcome', { - url: '/', - views: { - 'main@': { - templateUrl: 'welcome/welcome.html', - controller: 'WelcomeController as vm' - } - }, - params: {}, - bodyClass: 'welcome-body' - }); - } -})(); diff --git a/d2ice.att.io/package.json b/d2ice.att.io/package.json deleted file mode 100755 index 9c36643b..00000000 --- a/d2ice.att.io/package.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "name": "ice", - "private": true, - "devDependencies": { - "autoprefixer-core": "^5.2.1", - "grunt": "^0.4.5", - "grunt-angular-templates": "^0.5.7", - "grunt-concurrent": "^1.0.0", - "grunt-contrib-clean": "^0.6.0", - "grunt-contrib-concat": "^0.5.0", - "grunt-contrib-connect": "^0.9.0", - "grunt-contrib-copy": "^0.7.0", - "grunt-contrib-cssmin": "^0.12.0", - "grunt-contrib-htmlmin": "^0.4.0", - "grunt-contrib-imagemin": "^1.0.0", - "grunt-contrib-jshint": "^0.11.0", - "grunt-contrib-less": "^1.3.0", - "grunt-contrib-uglify": "^0.7.0", - "grunt-contrib-watch": "^0.6.1", - "grunt-filerev": "^2.1.2", - "grunt-google-cdn": "^0.4.3", - "grunt-injector": "^1.0.1", - "grunt-jscs": "^1.8.0", - "grunt-newer": "^1.1.0", - "grunt-ng-annotate": "^0.9.2", - "grunt-ng-constant": "^2.0.1", - "grunt-postcss": "^0.5.5", - "grunt-svgmin": "^2.0.0", - "grunt-usemin": "^3.0.0", - "grunt-wiredep": "^2.0.0", - "jasmine-core": "^2.4.1", - "jit-grunt": "^0.9.1", - "jshint-stylish": "^1.0.0", - "karma": "^0.13.22", - "karma-jasmine": "^1.0.2", - "karma-phantomjs-launcher": "^1.0.0", - "phantomjs-prebuilt": "^2.1.7", - "time-grunt": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - }, - "scripts": { - "test": "karma start test\\karma.conf.js" - } -} diff --git a/d2ice.att.io/test/.jshintrc b/d2ice.att.io/test/.jshintrc deleted file mode 100755 index b2ce4eff..00000000 --- a/d2ice.att.io/test/.jshintrc +++ /dev/null @@ -1,18 +0,0 @@ -{ - "bitwise": true, - "browser": true, - "curly": true, - "eqeqeq": true, - "esnext": true, - "jasmine": true, - "latedef": true, - "noarg": true, - "node": true, - "strict": true, - "undef": true, - "unused": true, - "globals": { - "angular": false, - "inject": false - } -} diff --git a/d2ice.att.io/test/spec/controllers/main.js b/d2ice.att.io/test/spec/controllers/main.js deleted file mode 100755 index 34a3e89d..00000000 --- a/d2ice.att.io/test/spec/controllers/main.js +++ /dev/null @@ -1,61 +0,0 @@ -// -// ============LICENSE_START========================================== -// org.onap.vvp/portal -// =================================================================== -// Copyright © 2017 AT&T Intellectual Property. All rights reserved. -// =================================================================== -// -// Unless otherwise specified, all software contained herein is licensed -// under the Apache License, Version 2.0 (the “License”); -// you may not use this software except in compliance with the License. -// You may obtain a copy of the License at -// -// http:www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// -// Unless otherwise specified, all documentation contained herein is licensed -// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); -// you may not use this documentation except in compliance with the License. -// You may obtain a copy of the License at -// -// https:creativecommons.org/licenses/by/4.0/ -// -// Unless required by applicable law or agreed to in writing, documentation -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ============LICENSE_END============================================ -// -// ECOMP is a trademark and service mark of AT&T Intellectual Property. -'use strict'; - -describe('Controller: MainCtrl', function () { - - // load the controller's module - beforeEach(module('iceApp')); - - var MainCtrl, - scope; - - // Initialize the controller and a mock scope - beforeEach(inject(function ($controller, $rootScope) { - scope = $rootScope.$new(); - MainCtrl = $controller('MainCtrl', { - $scope: scope - // place here mocked dependencies - }); - })); - - it('should attach a list of awesomeThings to the scope', function () { - expect(MainCtrl.awesomeThings.length).toBe(3); - }); -}); diff --git a/pom.xml b/pom.xml new file mode 100644 index 00000000..fc8cdeb4 --- /dev/null +++ b/pom.xml @@ -0,0 +1,122 @@ + + 4.0.0 + + org.onap.oparent + oparent + 1.0.0-SNAPSHOT + + + org.openecomp.vvp + vvp-portal + pom + 1.0.0-SNAPSHOT + vvp-portal + + + + /content/sites/site/org/openecomp/vvp/${project.artifactId}/${project.version} + + ${maven.build.timestamp} + yyyy.MM.dd.HH.mm + + ${project.version}-${timestamp} + ${project.version}-latest + + + + + + org.sonatype.plugins + nexus-staging-maven-plugin + 1.6.7 + true + + ${onap.nexus.url} + 176c31dfe190a + ecomp-staging + + + + io.fabric8 + docker-maven-plugin + 0.19.1 + + true + 1.23 + nexus3.onap.org:10003 + + + openecomp/vvp-portal + vvp-portal + + true + + ${docker.tag} + ${docker.latest.tag} + + ${project.basedir} + + + + + + + clean-images + pre-clean + + remove + + + true + + + + + generate-images + package + + build + + + + + push-images + deploy + + build + push + + + openecomp/vvp-portal + + + + + + + + + ecomp-site + dav:${onap.nexus.url}${sitePath} + + + + + ecomp-releases + ECOMP Release Repository + ${onap.nexus.url}/content/repositories/releases/ + + + ecomp-snapshots + ECOMP Snapshot Repository + ${onap.nexus.url}/content/repositories/snapshots/ + + + ecomp-staging + ECOMP Staging Repository + ${onap.nexus.url}/content/repositories/staging/ + + + + diff --git a/tox.ini b/tox.ini new file mode 100644 index 00000000..f933a443 --- /dev/null +++ b/tox.ini @@ -0,0 +1,24 @@ +[tox] +skipsdist=True +envlist = py27,py3,style +setupdir = cms/ + +[testenv] +distribute = False +commands = + {envpython} --version +deps = flake8 + +[testenv:style] +commands = flake8 + +[testenv:py27] +basepython=python2.7 + +[testenv:py3] +basepython=python3.6 + +[flake8] +show-source = True +exclude=venv-tox,.git,.tox,dist,doc,*openstack/common*,*lib/python*,*egg,build + diff --git a/vvp/Gruntfile.js b/vvp/Gruntfile.js new file mode 100644 index 00000000..41c3c2a5 --- /dev/null +++ b/vvp/Gruntfile.js @@ -0,0 +1,714 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +// Generated on 2016-05-30 using generator-angular 0.15.1 +'use strict'; + +// # Globbing +// for performance reasons we're only matching one level down: +// 'test/spec/{,*/}*.js' +// use this if you want to recursively match all subfolders: +// 'test/spec/**/*.js' + +module.exports = function (grunt) { + + // Time how long tasks take. Can help when optimizing build times + require('time-grunt')(grunt); + + // Automatically load required Grunt tasks + require('jit-grunt')(grunt, { + useminPrepare: 'grunt-usemin', + ngtemplates: 'grunt-angular-templates', + cdnify: 'grunt-google-cdn', + ngconstant: 'grunt-ng-constant' + }); + + // Configurable paths for the application + var appConfig = { + app: require('./bower.json').appPath || 'app', + dist: 'dist' + }; + + // Define the configuration for all the tasks + grunt.initConfig({ + + // Project settings + yeoman: appConfig, + + // Watches files for changes and runs tasks based on the changed files + watch: { + bower: { + files: ['bower.json'], + tasks: ['wiredep'] + }, + js: { + files: ['<%= yeoman.app %>/main/{,*/}*.js'], + tasks: ['newer:jshint:all', 'newer:jscs:all'], + options: { + livereload: '<%= connect.options.livereload %>' + } + }, + jsTest: { + files: ['test/spec/{,*/}*.js'], + tasks: ['newer:jshint:test', 'newer:jscs:test', 'karma'] + }, + injector: { + files: [ + 'app/styles/*.less', + 'app/core/**/*.less', + 'app/directives/**/*.less', + 'app/main/**/*.less', + 'app/welcome/*.less' + ], + taskd: ['injector'] + }, + less: { + files: ['app/**/*.less'], + tasks: ['less:development','copy:styles'], + options: { + livereload: '<%= connect.options.livereload %>', + nospawn: true + } + }, + styles: { + files: ['<%= yeoman.app %>/main/{,*/}*.css'], + tasks: ['newer:copy:styles', 'postcss'] + }, + gruntfile: { + files: ['Gruntfile.js'] + }, + livereload: { + options: { + livereload: '<%= connect.options.livereload %>' + }, + files: [ + '<%= yeoman.app %>/{,*/}*.html', + '.tmp/styles/{,*/}*.css', + '<%= yeoman.app %>/styles/images/{,*/}*.{png,jpg,jpeg,gif,webp,svg}' + ] + } + }, + + ngconstant: { + // Options for all targets + options: { + space: ' ', + wrap: '"use strict";\n\n {\%= __ngModule %}', + name: 'ice.env', + }, + // Environment targets + dev: { + options: { + dest: '<%= yeoman.app %>/app.env.js' + }, + constants: { + ENV: { + name: 'development', + apiBase: 'http://localhost:8000/vvp/v1/engmgr/' + } + } + }, + dist: { + options: { + dest: '<%= yeoman.app %>/app.env.js' + }, + constants: { + ENV: { + name: 'production', + apiBase: '/vvp/v1/engmgr/' + } + } + }, + staging: { + options: { + dest: '<%= yeoman.app %>/app.env.js' + }, + constants: { + ENV: { + name: 'staging', + apiBase: 'https://staging-api.d2ice.att.io/vvp/v1/engmgr/' + } + } + } + }, + + // The actual grunt server settings + connect: { + options: { + port: 9000, + // Change this to '0.0.0.0' to access the server from outside. + hostname: 'localhost', + livereload: 35729 + }, + livereload: { + options: { + open: true, + middleware: function (connect) { + return [ + connect.static('.tmp'), + connect().use( + '/bower_components', + connect.static('./bower_components') + ), + connect().use( + '/app/styles', + connect.static('./app/styles') + ), + connect.static(appConfig.app) + ]; + } + } + }, + test: { + options: { + port: 9001, + middleware: function (connect) { + return [ + connect.static('.tmp'), + connect.static('test'), + connect().use( + '/bower_components', + connect.static('./bower_components') + ), + connect.static(appConfig.app) + ]; + } + } + }, + dist: { + options: { + open: true, + base: '<%= yeoman.dist %>' + } + } + }, + + // app.less contains all the less from all places, convert it to CSS + less: { + development: { + files: { + 'app/styles/app.css': 'app/styles/app.less' + } + }, + production: { + 'app/styles/app.css': 'app/styles/app.less' + } + }, + + injector: { + options: {}, + // Inject all project less into app.less + less: { + options: { + transform: function (filePath) { + filePath = filePath.replace('/app/styles/', '../styles/'); + filePath = filePath.replace('/app/main/', '../main/'); + filePath = filePath.replace('/app/core/', '../core/'); + filePath = filePath.replace('/app/directives/', '../directives/'); + filePath = filePath.replace('/app/welcome/', '../welcome/'); + return '@import \'' + filePath + '\';'; + }, + starttag: '// injector:less', + endtag: '// endinjector:less' + }, + files: { + 'app/styles/app.less': [ + 'app/styles/*.less', + 'app/core/**/*.less', + 'app/directives/**/*.less', + 'app/main/**/*.less', + 'app/welcome/*.less', + '!app/styles/app.less' + ] + } + } + }, + + // Make sure there are no obvious mistakes + jshint: { + options: { + jshintrc: '.jshintrc', + reporter: require('jshint-stylish') + }, + all: { + src: [ + 'Gruntfile.js', + '<%= yeoman.app %>/main/{,*/}*.js' + ] + }, + test: { + options: { + jshintrc: 'test/.jshintrc' + }, + src: ['test/spec/{,*/}*.js'] + } + }, + + // Make sure code styles are up to par + jscs: { + options: { + config: '.jscsrc', + verbose: true + }, + all: { + src: [ + 'Gruntfile.js', + '<%= yeoman.app %>/main/{,*/}*.js' + ] + }, + test: { + src: ['test/spec/{,*/}*.js'] + } + }, + + // Empties folders to start fresh + clean: { + dist: { + files: [{ + dot: true, + src: [ + '.tmp', + '<%= yeoman.dist %>/{,*/}*', + '!<%= yeoman.dist %>/.git{,*/}*' + ] + }] + }, + server: '.tmp' + }, + + // Add vendor prefixed styles + postcss: { + options: { + processors: [ + require('autoprefixer-core')({browsers: ['last 1 version']}) + ] + }, + server: { + options: { + map: true + }, + files: [{ + expand: true, + cwd: '.tmp/styles/', + src: '{,*/}*.css', + dest: '.tmp/styles/' + }] + }, + dist: { + files: [{ + expand: true, + cwd: '.tmp/styles/', + src: '{,*/}*.css', + dest: '.tmp/styles/' + }] + } + }, + + // Automatically inject Bower components into the app + wiredep: { + app: { + src: ['<%= yeoman.app %>/index.html'], + ignorePath: /\.\.\// + }, + test: { + devDependencies: true, + src: '<%= karma.unit.configFile %>', + ignorePath: /\.\.\//, + fileTypes: { + js: { + block: /(([\s\t]*)\/{2}\s*?bower:\s*?(\S*))(\n|\r|.)*?(\/{2}\s*endbower)/gi, + detect: { + js: /'(.*\.js)'/gi + }, + replace: { + js: '\'{{filePath}}\',' + } + } + } + } + }, + + // Renames files for browser caching purposes + filerev: { + dist: { + src: [ + '<%= yeoman.dist %>/scripts/{,*/}*.js', + '<%= yeoman.dist %>/styles/{,*/}*.css', + '<%= yeoman.dist %>/images/{,*/}*.{png,jpg,jpeg,gif,webp,svg}', + '<%= yeoman.dist %>/styles/fonts/*' + ] + } + }, + + // Reads HTML for usemin blocks to enable smart builds that automatically + // concat, minify and revision files. Creates configurations in memory so + // additional tasks can operate on them + useminPrepare: { + html: '<%= yeoman.app %>/index.html', + options: { + dest: '<%= yeoman.dist %>', + flow: { + html: { + steps: { + js: ['concat', 'uglifyjs'], + css: ['cssmin'] + }, + post: {} + } + } + } + }, + + // Performs rewrites based on filerev and the useminPrepare configuration + usemin: { + html: ['<%= yeoman.dist %>/{,*/}*.html'], + css: ['<%= yeoman.dist %>/styles/{,*/}*.css'], + js: ['<%= yeoman.dist %>/scripts/{,*/}*.js'], + options: { + assetsDirs: [ + '<%= yeoman.dist %>', + '<%= yeoman.dist %>/images', + '<%= yeoman.dist %>/styles' + ], + patterns: { + js: [[/(images\/[^''""]*\.(png|jpg|jpeg|gif|webp|svg))/g, 'Replacing references to images']] + } + } + }, + + imagemin: { + dist: { + files: [{ + expand: true, + cwd: '<%= yeoman.app %>/styles/images', + src: '{,*/}*.{png,jpg,jpeg,gif}', + dest: '<%= yeoman.dist %>/styles/images' + }] + } + }, + + svgmin: { + dist: { + files: [{ + expand: true, + cwd: '<%= yeoman.app %>/styles/images', + src: '{,*/}*.svg', + dest: '<%= yeoman.dist %>/images' + }] + } + }, + + htmlmin: { + dist: { + options: { + collapseWhitespace: true, + conservativeCollapse: true, + collapseBooleanAttributes: true, + removeCommentsFromCDATA: true + }, + files: [{ + expand: true, + cwd: '<%= yeoman.dist %>', + src: ['*.html'], + dest: '<%= yeoman.dist %>' + }] + } + }, + + ngtemplates: { + dist: { + options: { + module: 'ice', + htmlmin: '<%= htmlmin.dist.options %>', + usemin: 'scripts/scripts.js' + }, + cwd: '<%= yeoman.app %>', + src: [ + 'main/**/*.html', + 'core/**/*.html', + 'directives/**/*.html', + ], + dest: '.tmp/templateCache.js' + } + }, + + // ng-annotate tries to make the code safe for minification automatically + // by using the Angular long form for dependency injection. + ngAnnotate: { + dist: { + files: [{ + expand: true, + cwd: '.tmp/concat/scripts', + src: '*.js', + dest: '.tmp/concat/scripts' + }] + } + }, + + // Replace Google CDN references + cdnify: { + dist: { + html: ['<%= yeoman.dist %>/*.html'] + } + }, + + // Copies remaining files to places other tasks can use + copy: { + dist: { + files: [{ + expand: true, + dot: true, + cwd: '<%= yeoman.app %>', + dest: '<%= yeoman.dist %>', + src: [ + '*.{ico,png,txt}', + '*.html', + 'images/{,*/}*.{webp}', + 'styles/fonts/{,*/}*.*' + ] + }, { + expand: true, + cwd: '.tmp/images', + dest: '<%= yeoman.dist %>/images', + src: ['generated/*'] + }, { + expand: true, + cwd: 'bower_components/bootstrap/dist', + src: 'fonts/*', + dest: '<%= yeoman.dist %>' + }, { + expand: true, + cwd: 'bower_components/components-font-awesome', + src: 'fonts/*', + dest: '<%= yeoman.dist %>' + }, + { + expand: true, + cwd: '<%= yeoman.app %>/locales', + src: '**/*', + dest: '<%= yeoman.dist %>/locales' + }] + }, + styles: { + expand: true, + cwd: '<%= yeoman.app %>/styles', + dest: '.tmp/styles/', + src: '{,*/}*.css' + }, + welcome: { + expand: true, + cwd: '<%= yeoman.app %>/welcome', + dest: '<%= yeoman.dist %>/welcome', + src: '{,**/}*.*' + } + }, + + // Run some tasks in parallel to speed up the build process + concurrent: { + server: [ + 'less:development', + 'copy:styles' + ], + test: [ + 'copy:styles' + ], + dist: [ + 'copy:styles', + 'imagemin', + 'svgmin' + ] + }, + + // Test settings + karma: { + unit: { + configFile: 'test/karma.conf.js', + singleRun: true + } + } + }); + + grunt.registerTask('serve', 'Compile then start a connect web server', function (target) { + if (target === 'dist') { + return grunt.task.run(['build', 'connect:dist:keepalive']); + } + + grunt.task.run([ + 'clean:server', // Delete .tmp folder + 'ngconstant:dev', // Configure constants + 'wiredep', // Automatically inject Bower components into the app + 'injector', // Inject the less files to app.less + 'less:development', + 'copy:styles', +// 'concurrent:server', // Run some tasks in parallel to speed up the build process, need to see what the task run. + 'postcss:server', // Add vendor prefixed styles + 'connect:livereload', + 'watch' + ]); + }); + + grunt.registerTask('server', 'DEPRECATED TASK. Use the "serve" task instead', function (target) { + grunt.log.warn('The `server` task has been deprecated. Use `grunt serve` to start a server.'); + grunt.task.run(['serve:' + target]); + }); + + grunt.registerTask('test', [ + 'clean:server', + 'wiredep', + 'concurrent:test', + 'postcss', + 'connect:test', + 'karma' + ]); + + + grunt.registerTask('build-ci', function(target) { + + var tasks = [ + 'clean:dist', + 'ngconstant:dist', + 'wiredep', + 'less:production', + 'copy:styles', + 'imagemin', + 'svgmin', + //'concurrent:dist', + 'postcss', + 'useminPrepare', + 'ngtemplates', + 'concat', + 'ngAnnotate', + 'copy:dist', + 'copy:welcome', + //'cdnify', + 'cssmin', + // 'uglify', + 'filerev', + 'usemin', + 'clean:server', // Delete .tmp folder + 'ngconstant:dev', // Configure constants + 'wiredep', // Automatically inject Bower components into the app + 'injector', // Inject the less files to app.less + 'less:development', + 'copy:styles', + // 'concurrent:server', // Run some tasks in parallel to speed up the build process, need to see what the task run. + 'postcss:server', // Add vendor prefixed styles + 'clean:dist', + 'ngconstant:dist', + 'wiredep', + 'less:production', + 'copy:styles', + 'imagemin', + 'svgmin', + //'concurrent:dist', + 'postcss', + 'useminPrepare', + 'ngtemplates', + 'concat', + 'ngAnnotate', + 'copy:dist', + 'copy:welcome', + //'cdnify', + 'cssmin', + 'uglify', + 'filerev', + 'usemin', + //'htmlmin' + ]; + + if (!target) { + target = 'dist'; + } + grunt.task.run.apply(grunt.task, tasks.map(function(task) { + if (task === 'ngconstant:dist') { + task = task.split(':')[0]; + return task + ':' + target; + } else{ + return task; + } + })); + }); + + + grunt.registerTask('build', function(target) { + + var tasks = [ + 'clean:dist', + 'ngconstant:dist', + 'wiredep', + 'less:production', + 'copy:styles', + 'imagemin', + 'svgmin', + //'concurrent:dist', + 'postcss', + 'useminPrepare', + 'ngtemplates', + 'concat', + 'ngAnnotate', + 'copy:dist', + 'copy:welcome', + //'cdnify', + 'cssmin', + 'uglify', + 'filerev', + 'usemin', + //'htmlmin' + ]; + + if (!target) { + target = 'dist'; + } + grunt.task.run.apply(grunt.task, tasks.map(function(task) { + if (task === 'ngconstant:dist') { + task = task.split(':')[0]; + return task + ':' + target; + } else{ + return task; + } + })); + }); + + grunt.registerTask('default', [ + 'newer:jshint', + 'newer:jscs', + 'test', + 'build', + 'build-ci' + ]); +}; diff --git a/vvp/README.md b/vvp/README.md new file mode 100644 index 00000000..e45ff791 --- /dev/null +++ b/vvp/README.md @@ -0,0 +1,75 @@ +# ice + +This project is generated with [yo angular generator](https://github.com/yeoman/generator-angular) +version 0.15.1. + +## Build & development + +Run `grunt` for building and `grunt serve` for preview. + +## Testing + +Running `grunt test` will run the unit tests with karma. + +KT: +- We created the base project with yeoman generator running +- When a new library is added to the project we need to perform 'bower install' and 'npm install' +- package.json is the generated file by NPM after performing 'npm install <3'rdParty> --save' the output is inserted to the node_modules +- bower.json is enhanced after performing 'bower install <3'rd party> --save' + The output directory is: bower_components +- 'grunt build' the dist directoy. Gruntfile.js hold all the grunt targets (e.g build, serve) + - build: mostly building the dist directory + - serve: this is used only for dev mode (for example building the app.env.js with settings to dev mode) + grunt --stack will show in verbose mode + +app directory: +- index.html is the automatically called when site is accessed +- section is identified by bower to add the css from 3'rd party + +- body: declaring the main controller 'App Controller' + +- app.module.js: declaring the main module: 'ice' it holds all other modules: infrastructure models such ngSanitize and applicative modules such as ice.vf.service + +- app.controller.js: The main controller +- app.config: All sort of angular configuration such as interceptors (for error handling) +- app.constants enums +- app.run: this could have written in the controller but it runs after the app.controller. + runBlock: gloabals on the rootScopes + Event that is fired when the state is changed (state = url), we clean the alert object +- cache service holds all urls of all services. '@' sign is replaced in each service with the uuid (e.g eng_uuid) +- app.route: this is the router: when it get the url in the browser it need to combine MVC combination. Otherwise is when he's not familiar with any pattern --> go to login +The page section. the router is touting by state.go(stateName) or ui-sref(state) +-activation directory hold all logic related to the user + +Each page (login, signup, dashboard etc) is composed from 4files: +- XXX.module. state name (e.g app.login) is the identifier of the router +- url is the client side address of the page +- views: there is a seperation between the page section. each view has its controller, it's view (html) and the model (data from server) + +XXX.controller: +- starts with init(). Each page has it +- the header (app/core/layout/full-page-with-header) holds the headerTiltle and headerDescription set in the controller +- ice.loadre is the progree bar when requesting something from the EM + +Each function or variable we want to reflect from the controller to the html (or vise versa) should start with 'vm' (e.g vm.submitForm() this will call the function submitForm) + +XXX.html +- directive (piece of code that performs something). has a jquery selector to find the class of the div and show the loader +- ice-messages show the message with type if alert.message==true +- the page is divided to cols. bootstrap allows 12 colls + +XXX.less - turns into css after grant build +holds all classes under body-class (this is defined in the XXX.module) +There are also bootstrap inline css e.g class=form-group + +Filters - you can define in the html "|" that takes a variable and format it (e.g trusted that manipulate it as a valid html) + +Core: +toolbar - upper bar (log, dashboard caption, logout) +controller fetch the number of notifications +left side of dashboard - Engagement list. The data is publisehd to the right side by broadcast event. dashboard listens to the event (.$on(eventName, args)) + + + + + diff --git a/vvp/app/app.config.js b/vvp/app/app.config.js new file mode 100644 index 00000000..e4c74ba6 --- /dev/null +++ b/vvp/app/app.config.js @@ -0,0 +1,60 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + 'use strict'; + + angular + .module('ice') + .config(config) + .config(function (ngIntlTelInputProvider) { + ngIntlTelInputProvider.set({initialCountry: 'us'}); + }); + + function config($httpProvider) { + // Ask for cross domain from the sever (need to allow this in server). + $httpProvider.defaults.useXDomain = true; + delete $httpProvider.defaults.headers.common['X-Requested-With']; + + // HTTP Interceptor definition + $httpProvider.interceptors.push('httpRequestInterceptor'); + $httpProvider.interceptors.push('httpResponseInterceptor'); + $httpProvider.interceptors.push('httpRequestErrorInterceptor'); + $httpProvider.interceptors.push('httpResponseErrorInterceptor'); + } +})(); diff --git a/vvp/app/app.constants.js b/vvp/app/app.constants.js new file mode 100644 index 00000000..60b1ec33 --- /dev/null +++ b/vvp/app/app.constants.js @@ -0,0 +1,75 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + 'use strict'; + + angular + .module('ice') + .constant("_", window._) + .constant("iceConstants", { + + states: { + "incomplete": "Incomplete", + "completed": "Completed", + }, + + stages: { + "intake": "Intake", + "active": "Active", + "validated": "Validated", + "completed": "Completed" + }, + + roles: { + "standard": "standard_user", + "el": "el", + "admin": "admin", + "admin_ro": "admin_ro" + }, + + checklist_states : [ + "automation", + "review", + "peer review", + "approval", + "handoff", + "closed" + ] + }); +})(); diff --git a/vvp/app/app.controller.js b/vvp/app/app.controller.js new file mode 100644 index 00000000..5bf25670 --- /dev/null +++ b/vvp/app/app.controller.js @@ -0,0 +1,74 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular + .module('ice') + .controller('AppController', ["$state", "$timeout", "$rootScope", "$log", AppController]); + + function AppController($state, $timeout, $rootScope, $log) { + + var vm = this; + var nice = false; + + if (navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1) { + $log.debug('Smooth Scroll Off (Safari).'); + } else { + try { + // Initialise with options + nice = $("#content-israel").niceScroll({ + zindex:20000, + scrollspeed:60, + mousescrollstep:60, + cursorborderradius: '10px', // Scroll cursor radius + cursorborder: '1px solid rgba(255, 255, 255, 0.4)', + cursorcolor: 'rgba(0, 0, 0, 0.6)', // Scroll cursor color + //autohidemode: 'true', // Do not hide scrollbar when mouse out + cursorwidth: '10px' // Scroll cursor width + }); + } catch (err) { + $log.debug('Smooth Scroll Off.'); + } + } + + } + +})(); diff --git a/vvp/app/app.env.js b/vvp/app/app.env.js new file mode 100644 index 00000000..91c1d409 --- /dev/null +++ b/vvp/app/app.env.js @@ -0,0 +1,7 @@ +"use strict"; + + angular.module('ice.env', []) + +.constant('ENV', {name:'production',apiBase:'/vvp/v1/engmgr/'}) + +; \ No newline at end of file diff --git a/vvp/app/app.module.js b/vvp/app/app.module.js new file mode 100644 index 00000000..ca70547b --- /dev/null +++ b/vvp/app/app.module.js @@ -0,0 +1,110 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular + .module('ice', [ + // Core + 'ngSanitize', + 'ngAnimate', + 'wysiwyg.module', + 'ui.router', + 'ice.env', + 'ice.modals', + 'angularUtils.directives.dirPagination', + 'ui.select', + 'ui.multiselect', + 'ui.bootstrap', + 'ui.bootstrap.datetimepicker', + 'ngMaterial', 'ngMessages', + 'angular-toArrayFilter', + 'ngIntlTelInput', + 'ui.sortable', + 'jm.i18next', + + // Modules + 'ice.toolbar', + 'ice.navigation', + 'ice.main', + 'ice.contactUs', + 'ice.dashboard.main', + 'ice.dashboard.overview', + 'ice.dashboard.dashboard', + 'ice.activation.login', + 'ice.activation.register', + 'ice.activation.addVf', + 'ice.activation.addVendorContact', + 'ice.activation.resendActivation', + 'ice.activation.terms', + 'ice.activation.activateUser', + 'ice.dashboard.account', + 'ice.documentation', + 'ice.activation.resetPassword', + 'ice.activation.updatePassword', + 'ice.dashboard.checklist', + 'ice.welcome', + 'ice.main.admin', + + // Services + 'ice.services.cacheService', + 'ice.services.users', + 'ice.services.localStorage', + 'ice.services.vf', + 'ice.services.steps', + 'ice.services.vfc', + 'ice.services.dtsite', + 'ice.services.checklist', + 'ice.services.status', + 'ice.services.feedback', + 'ice.services.toast', + 'ice.services.cms', + 'ice.services.sessionStorage', + + // Directives + 'ice.directives', + + // Filters + 'ice.filters', + + // Interceptors + 'ice.interceptors.http' + ]); +})(); diff --git a/vvp/app/app.route.js b/vvp/app/app.route.js new file mode 100644 index 00000000..34b79496 --- /dev/null +++ b/vvp/app/app.route.js @@ -0,0 +1,97 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular + .module('ice') + .config(routeConfig); + + function routeConfig($stateProvider, $urlRouterProvider, $locationProvider) { + + // #175 stop ui-route from redirect to #! + $locationProvider.hashPrefix(""); + + $urlRouterProvider.otherwise('/login'); + $urlRouterProvider.when('/dashboard', '/dashbaord/overview'); + + var layoutStyle = 'horizontalNavigation'; + + var layouts = { + horizontalNavigation: { + main: 'core/layouts/dashboard/dashboard.html', + toolbar: 'core/toolbar/layouts/horizontal-navigation/toolbar.html', + navigation: 'core/navigation/layouts/horizontal-navigation/navigation.html' + }, + contentOnly: { + main: 'core/layouts/content-only.html', + toolbar: '', + navigation: '' + }, + contentWithToolbar: { + main: 'core/layouts/content-with-toolbar.html', + toolbar: 'toolbar/layouts/content-with-toolbar/toolbar.html', + navigation: '' + } + }; + + // State definitions + $stateProvider + .state('app', { + abstract: true, + views: { + 'main@': { + templateUrl: layouts[layoutStyle].main, + controller: 'MainController as vm' + }, + 'toolbar@app': { + templateUrl: layouts[layoutStyle].toolbar, + controller: 'ToolbarController as vm' + }, + 'navigation@app': { + templateUrl: layouts[layoutStyle].navigation, + controller: 'NavigationController as vm' + } + } + }); + + } + +})(); diff --git a/vvp/app/app.run.js b/vvp/app/app.run.js new file mode 100644 index 00000000..b1a4871f --- /dev/null +++ b/vvp/app/app.run.js @@ -0,0 +1,244 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular + .module('ice') + .run(runBlock); + + function runBlock($rootScope, toastService, sessionStorageService, $state, cacheService, ENV, $window, $log) { + var documentationLastPageSessionKey = 'LastDocumentationPageId'; + var init = function() { + $rootScope.user = {}; + $rootScope.ice = {}; + $rootScope.ice.loader = {}; + $rootScope.state = $state; + $rootScope.baseURL = ENV.apiBase; + + i18NextSetup(); + + var stateChangeStartEvent = $rootScope.$on('$stateChangeStart', function (event, toState, toParams, fromState, fromParams) { + clearToastData(); + clearDocumentationLastPage(toState); + }); + + var stateChangeSuccessEvent = $rootScope.$on('$stateChangeSuccess', function () { + + }); + + $rootScope.$on('$destroy', function () { + stateChangeStartEvent(); + stateChangeSuccessEvent(); + }); + + cacheService.set('configuration', { + "urls": { + "auth": { + "login": $rootScope.baseURL + "login/@t", + "register": $rootScope.baseURL + "signup", + "addVfs": $rootScope.baseURL + "vf/", + "getCompanies": $rootScope.baseURL + "vendors", + "resendActivationMail": $rootScope.baseURL + "users/activation-mail/@user_uuid", + "addVendorContact": $rootScope.baseURL + "add-contact", + "single_engagement": $rootScope.baseURL + "single-engagement/@engagementUuid", + "engagements": $rootScope.baseURL + "engagement", + "inviteMembers": $rootScope.baseURL + "invite-team-members", + "activities": $rootScope.baseURL + "engagement/@engagementUuid/activities/", + "updateDaysLeft": $rootScope.baseURL + "engagements/@engagementUuid/target_date", //set_attr + "updateLabEntryDaysLeft": $rootScope.baseURL + "engagements/@engagementUuid/target_lab_date", + "setSSHKey": $rootScope.baseURL + "users/ssh", + "getIceUser": $rootScope.baseURL + "users", + "getRGWASecret": $rootScope.baseURL + "users/account/rgwa/", + "account": $rootScope.baseURL + "users/account", + "updatePassword": $rootScope.baseURL + "users/pwd/", + "sendResetPwdInstructions": $rootScope.baseURL + "users/pwd/reset-instructions/" + }, + "notifications": { + "getNotifications": $rootScope.baseURL + "notifications/num", + "resetNotificationNum": $rootScope.baseURL + "notifications/reset", + "notificationsDelete": $rootScope.baseURL + "notifications/@uuid", + "getNotificationsDescription": $rootScope.baseURL + "notifications/@userUuid/@offset/@limit" + }, + "steps": { + "get": $rootScope.baseURL + "engagements/@engagement/nextsteps/@progress", + "add": $rootScope.baseURL + "engagements/@engagement/nextsteps", // set_attr + "edit": $rootScope.baseURL + "nextsteps/@stepUuid/engagement/@engUuid", + "order_next_steps": $rootScope.baseURL + "engagements/@engUuid/nextsteps/order_next_steps", + + "update": $rootScope.baseURL + "nextsteps/@stepUuid/state", // put + "delete": $rootScope.baseURL + "nextsteps/@stepUuid", + "createChecklistNextStep": $rootScope.baseURL + "engagement/@engUuid/checklist/@checkListUuid/nextstep/", + "createNextStep": $rootScope.baseURL + "eng/@engUuid/nextstep/", + "getByUser": $rootScope.baseURL + "engagements/user/nextsteps/" + }, + "vf": { + "updateVfs": { + "put": $rootScope.baseURL + "vf/@vf_uuid/validation-details/", + }, + "deployment_target": { + "getDeployTargets": $rootScope.baseURL + "deployment-targets", + "updateDeployTargets": $rootScope.baseURL + "engagement/@engagementUuid//deployment-targets/@deployment_target_uuid", + }, + "ecomp": { + "getECOMPReleases": $rootScope.baseURL + "ecomp-releases", + "updateECOMPReleases": $rootScope.baseURL + "engagement/@engagementUuid/ecomp-releases/@ecomp_uuid", + }, + "version": { + "getVFVersion": $rootScope.baseURL + "vf/@vfUuid/vf-version/", + } + + }, + "vfcs": { + "add": $rootScope.baseURL + "vfcs/", + "get": $rootScope.baseURL + "vf/@vfUuid/vfcs/", + "delete": $rootScope.baseURL + "vf/@vfUuid/vfcs/@vfcUuid", + }, + "status": { + "get": $rootScope.baseURL + "engagements/@engagement/status", + "add": $rootScope.baseURL + "engagements/@engagement/status",// set_attr + "update": $rootScope.baseURL + "engagements/@engagement/status" + }, + "feedback": { + "add":$rootScope.baseURL + "add-feedback" + + }, + "dtsite": { + "get": $rootScope.baseURL + "dtsites/", + "getVFSites": $rootScope.baseURL + "vf/@vfUuid/dtsites/", + "add": $rootScope.baseURL + "dtsites/", + "delete": $rootScope.baseURL + "vf/@vfUuid/dtsites/@dtsUuid", + }, + "checklist": { + "state":{ + "put": $rootScope.baseURL + "checklist/@cl_uuid/state/", + }, + "createChecklist": $rootScope.baseURL + "engagement/@engUuid/checklist/new/", + "getDataForChecklist": $rootScope.baseURL + "engagement/@engUuid/checklist/new/", + "getChecklist": $rootScope.baseURL + "checklist/@checklistUuid", + "putDataForChecklist": $rootScope.baseURL + "checklist/@checklist_uuid", + "checklistDecision": $rootScope.baseURL + "checklist/decision/@decisionUuid", + "createAuditlogChecklist": $rootScope.baseURL + "checklist/@checklist_uuid/auditlog/", + "createAuditlogDecisionChecklist": $rootScope.baseURL + "checklist/decision/@decision_uuid/auditlog/", + "getChecklistTemplates": $rootScope.baseURL + "checklist/templates/", + "getChecklistTemplate": $rootScope.baseURL + "checklist/template/@templateUuid", + "saveChecklistTemplate": $rootScope.baseURL + "checklist/template/" + }, + "engagement": { + "put": $rootScope.baseURL + "engagements/@engagementUuid/", + "updateProgress": $rootScope.baseURL + "engagements/@engagementUuid/progress", // put + "setStage": $rootScope.baseURL + "single-engagement/@engagementUuid/stage/@stage", + "starred_engagement": { + "put" : $rootScope.baseURL + "engagements/starred_eng/", + "get" : $rootScope.baseURL + "engagements/starred_eng/", + }, + "recent_engagement": { + "get" : $rootScope.baseURL + "engagements/recent_eng/", + }, + "engagement_team": { + "put" : $rootScope.baseURL + "engagements/engagement-team/", + }, + "engagementsExpanded": $rootScope.baseURL + "engagement/expanded/", + "exportEngagementsCSV": $rootScope.baseURL + "engagement/export/?stage=@stage&keyword=@keyword", + "reviewer": {"put": $rootScope.baseURL + "engagements/@engagementUuid/reviewer/"}, + "peerreviewer": {"put": $rootScope.baseURL + "engagements/@engagementUuid/peerreviewer/"}, + "switchReviewers": {"put": $rootScope.baseURL + "engagements/@engagementUuid/switch-reviewers/"}, + "archive": {"put": $rootScope.baseURL + "engagements/@engagementUuid/archive/"}, + }, + "welcome": { + "welcome": $rootScope.baseURL + "welcome/", + }, + "cms":{ + "posts": { + "get": $rootScope.baseURL + "cms/posts/?limit=@limit&offset=@offset&fromLastDays=@fromLastDays&category=@category", + }, + "pages": { + "get": $rootScope.baseURL + "cms/pages/?title=@title", + "getById": $rootScope.baseURL + "cms/pages/@id/", + "search": $rootScope.baseURL + "cms/pages/search/?keyword=@keyword" + } + }, + "users": { + "engagementleads": { + "get": $rootScope.baseURL + "users/engagementleads/", + }, + "activate": $rootScope.baseURL + "users/activate/@userid/@token" + }, + } + }); + }; + + var clearToastData = function () { + var toast = toastService.getToast(); + if (toast && !toast.sticky) { + toastService.clearToast(); + } + }; + + var clearDocumentationLastPage = function(toState) { + if(toState && toState.name && toState.name !== 'app.documentation.page' && toState.name !== 'app.documentation') { + sessionStorageService.delete(documentationLastPageSessionKey); + } + }; + + var i18NextSetup = function() { + if($window.i18next) { + $window.i18next.use($window.i18nextXHRBackend) + + $window.i18next.init({ + debug: false, + lng: 'en', + fallbackLng: 'en', + backend: { + loadPath: 'locales/{{lng}}/{{ns}}.json' + }, + useCookie: false, + useLocalStorage: false + }, function (err, t) { + if(err) { + $log.error(err); + } + }); + } + }; + + init(); + } +})(); diff --git a/vvp/app/core/js/jquery.nicescroll-master/MIT.LICENSE b/vvp/app/core/js/jquery.nicescroll-master/MIT.LICENSE new file mode 100644 index 00000000..61b7c3b3 --- /dev/null +++ b/vvp/app/core/js/jquery.nicescroll-master/MIT.LICENSE @@ -0,0 +1,55 @@ +# +# ============LICENSE_START========================================== +# org.onap.vvp/portal +# =================================================================== +# Copyright © 2017 AT&T Intellectual Property. All rights reserved. +# =================================================================== +# +# Unless otherwise specified, all software contained herein is licensed +# under the Apache License, Version 2.0 (the “License”); +# you may not use this software except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# +# +# Unless otherwise specified, all documentation contained herein is licensed +# under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +# you may not use this documentation except in compliance with the License. +# You may obtain a copy of the License at +# +# https://creativecommons.org/licenses/by/4.0/ +# +# Unless required by applicable law or agreed to in writing, documentation +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# ============LICENSE_END============================================ +# +# ECOMP is a trademark and service mark of AT&T Intellectual Property. +Open Source Initiative OSI - The MIT License (MIT):Licensing +[OSI Approved License] +The MIT License (MIT) + +Copyright (c) 2011-14 InuYaksa + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated +documentation files (the "Software"), to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, +and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/vvp/app/core/js/jquery.nicescroll-master/README.md b/vvp/app/core/js/jquery.nicescroll-master/README.md new file mode 100644 index 00000000..9a670133 --- /dev/null +++ b/vvp/app/core/js/jquery.nicescroll-master/README.md @@ -0,0 +1,182 @@ +#jQuery.NiceScroll +v. 3.6.8 02-29-2016 + + - [Web Site: nicescroll.areaaperta.com](http://nicescroll.areaaperta.com) + - [Repo: github.com/inuyaksa/jquery.nicescroll](https://github.com/inuyaksa/jquery.nicescroll) + - [Twitter: @nicescroll](https://twitter.com/nicescroll) + + [![Join the chat at https://gitter.im/inuyaksa/jquery.nicescroll](https://badges.gitter.im/inuyaksa/jquery.nicescroll.svg)](https://gitter.im/inuyaksa/jquery.nicescroll?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) + +> Nicescroll as a Greasemonkey plugin: http://userscripts.org/scripts/show/119910 (freezed) + + +> Nicescroll is a jquery plugin, for nice scrollbars with a very similar ios/mobile style. + + - HORIZONAL scrollbar support! + - It supports DIVs, IFrames, textarea, and document page (body) scrollbars. + - Compatible with all desktop browser: Firefox 4+, Chrome 5+, Safari 4+ (win/mac), Opera 10+, IE 6+. (all A-grade browsers) + - Compatible with mobile device: iPad/iPhone/iPod, Android 2.2+, Blackberry phones and Playbook (WebWorks/Table OS), Windows Phone 7.5 Mango. + - Compatible with all touch devices: iPad, Android tablets, Window Surface. + - Compabible with multi-input device (mouse with touch or pen): Window Surface, Chrome Desktop on touch notebook. + - Compatible with 2 directions mice: Apple Magic Mouse, Apple Mouser with 2-dir wheel, PC mouse with 2-dir wheel (if browser support it). + +So you have scrollable divs with momentum for iPad 4+ and you have consistent scrollable areas for all desktop and mobile platforms. + +Sexy zoom feature, you can "zoom-in" the content of any nicescroll'ed div. +Nice to use and nice to see, all the content of the div in fullscreen mode. +It works on desktop (double click on div) either in mobile/touch devices using pinch gesture. + +On modern browsers hardware accelerated scrolling has implemented. +Using animationFrame for a smoothest and cpu-saving scrolling. (when browser supports) + +"Use strict" tested script for maximum code quality. +Bower and AMD ready. + +Warning for IE6 users (why do you uses IE6 yet? Please updgrade to a more stable and modern browser), some feature can't work for limitation of the browser. +Document (body) scrollbars can't appears, old (native browser) one is used. Some issues with IFrame scrolling. + + +## FEATURES + +- simple installation and activation, it works with NO modification of your code. (some exceptions can happen, so you can write to me) +- very stylish scrollbars, with no occupation on your window (original browser scrollbars need some of page space and reduces window/div usable width) +- you can style main document scrollbar (body) too!! (not all script implements this feature) +- on all browsers you can scroll: dragging the cursor, mouse wheel (speed customizable), keyboard navigation (cursor keys, pagup/down keys, home/end keys) +- scroll is smooth (as modern tablet browsing), speed is customizable +- zoom feature +- hardware accelerated scroll (where available) +- animation frame support for smoth scrolling and cpu-saving +- dragging scroll mode with scrolling momentum (as touch device) +- tested for all major browsers desktop and mobile versions +- support for touch devices +- support for multi-input devices (IE10 with MSPointer) +- compatible with many other browsers, including IE6, Safari on Mac and WP7 Mango! +- very customizable aspect of bar +- native scroll events are working yet +- fully integrated with jQuery +- compatibile with jQuery UI, jQuery Touch, jQuery Mobile + + +## DEPENDENCIES +>> It's a plugin for the jquery framework, you need to include jquery in your scripts. +>> From 1.5.x version and on. (I'd better to use 1.8.3+ minimum) + + +* INSTALLATION +Put loading script tag after jquery script tag and loading the zoom image in the same folder of the script: + + + +Copy image "zoomico.png" in the same folder of jquery.nicescroll.js. + + +* HOW TO USE + +Initialize nicescroll ALWAYS in (document) ready statement. +```javascript +// 1. Simple mode, it styles document scrollbar: +$(document).ready(function() { + $("html").niceScroll(); +}); + +// 2. Instance with object returned: +var nice = false; +$(document).ready(function() { + nice = $("html").niceScroll(); +}); + +// 3. Style a DIV and chage cursor color: +$(document).ready(function() { + $("#thisdiv").niceScroll({cursorcolor:"#00F"}); +}); + +// 4. DIV with "wrapper", formed by two divs, the first is the vieport, the latter is the content: +$(document).ready(function() { + $("#viewportdiv").niceScroll("#wrapperdiv",{cursorcolor:"#00F"}); +}); + +// 5. Get nicescroll object: +var nice = $("#mydiv").getNiceScroll(); + +// 6. Hide scrollbars: +$("#mydiv").getNiceScroll().hide(); + +// 7. Check for scrollbars resize (when content or position have changed): +$("#mydiv").getNiceScroll().resize(); + +// 8. Scrolling to a position: +$("#mydiv").getNiceScroll(0).doScrollLeft(x, duration); // Scroll X Axis +$("#mydiv").getNiceScroll(0).doScrollTop(y, duration); // Scroll Y Axis +``` + +## CONFIGURATION PARAMETERS +When you call "niceScroll" you can pass some parameters to custom visual aspects: + +```javascript +$("#thisdiv").niceScroll({ + cursorcolor: "#424242", // change cursor color in hex + cursoropacitymin: 0, // change opacity when cursor is inactive (scrollabar "hidden" state), range from 1 to 0 + cursoropacitymax: 1, // change opacity when cursor is active (scrollabar "visible" state), range from 1 to 0 + cursorwidth: "5px", // cursor width in pixel (you can also write "5px") + cursorborder: "1px solid #fff", // css definition for cursor border + cursorborderradius: "5px", // border radius in pixel for cursor + zindex: "auto" | , // change z-index for scrollbar div + scrollspeed: 60, // scrolling speed + mousescrollstep: 40, // scrolling speed with mouse wheel (pixel) + touchbehavior: false, // enable cursor-drag scrolling like touch devices in desktop computer + hwacceleration: true, // use hardware accelerated scroll when supported + boxzoom: false, // enable zoom for box content + dblclickzoom: true, // (only when boxzoom=true) zoom activated when double click on box + gesturezoom: true, // (only when boxzoom=true and with touch devices) zoom activated when pinch out/in on box + grabcursorenabled: true // (only when touchbehavior=true) display "grab" icon + autohidemode: true, // how hide the scrollbar works, possible values: + true | // hide when no scrolling + "cursor" | // only cursor hidden + false | // do not hide, + "leave" | // hide only if pointer leaves content + "hidden" | // hide always + "scroll", // show only on scroll + background: "", // change css for rail background + iframeautoresize: true, // autoresize iframe on load event + cursorminheight: 32, // set the minimum cursor height (pixel) + preservenativescrolling: true, // you can scroll native scrollable areas with mouse, bubbling mouse wheel event + railoffset: false, // you can add offset top/left for rail position + bouncescroll: false, // (only hw accell) enable scroll bouncing at the end of content as mobile-like + spacebarenabled: true, // enable page down scrolling when space bar has pressed + railpadding: { top: 0, right: 0, left: 0, bottom: 0 }, // set padding for rail bar + disableoutline: true, // for chrome browser, disable outline (orange highlight) when selecting a div with nicescroll + horizrailenabled: true, // nicescroll can manage horizontal scroll + railalign: right, // alignment of vertical rail + railvalign: bottom, // alignment of horizontal rail + enabletranslate3d: true, // nicescroll can use css translate to scroll content + enablemousewheel: true, // nicescroll can manage mouse wheel events + enablekeyboard: true, // nicescroll can manage keyboard events + smoothscroll: true, // scroll with ease movement + sensitiverail: true, // click on rail make a scroll + enablemouselockapi: true, // can use mouse caption lock API (same issue on object dragging) + cursorfixedheight: false, // set fixed height for cursor in pixel + hidecursordelay: 400, // set the delay in microseconds to fading out scrollbars + directionlockdeadzone: 6, // dead zone in pixels for direction lock activation + nativeparentscrolling: true, // detect bottom of content and let parent to scroll, as native scroll does + enablescrollonselection: true, // enable auto-scrolling of content when selection text + cursordragspeed: 0.3, // speed of selection when dragged with cursor + rtlmode: "auto", // horizontal div scrolling starts at left side + cursordragontouch: false, // drag cursor in touch / touchbehavior mode also + oneaxismousemode: "auto", // it permits horizontal scrolling with mousewheel on horizontal only content, if false (vertical-only) mousewheel don't scroll horizontally, if value is auto detects two-axis mouse + scriptpath: "" // define custom path for boxmode icons ("" => same script path) + preventmultitouchscrolling: true // prevent scrolling on multitouch events + disablemutationobserver: false // force MutationObserver disabled +}); +``` + +Related projects +---------------- + +* [Nicescroll for Angular](https://github.com/tushariscoolster/angular-nicescroll) + +* LICENSE + +## Copyright 2011-16 InuYaksa + +######Licensed under the MIT License, http://www.opensource.org/licenses/mit-license.php +######Images used for zoom icons have derived from OLPC interface, http://laptop.org/8.2.0/manual/Browse_ChangingView.html diff --git a/vvp/app/core/js/jquery.nicescroll-master/bower.json b/vvp/app/core/js/jquery.nicescroll-master/bower.json new file mode 100644 index 00000000..11e7c7aa --- /dev/null +++ b/vvp/app/core/js/jquery.nicescroll-master/bower.json @@ -0,0 +1,15 @@ +{ + "name": "jquery.nicescroll", + "main": [ + "./jquery.nicescroll.js", + "./zoomico.png" + ], + "ignore": [ + "**/.*", + "demo", + "package.json" + ], + "dependencies": { + "jquery": ">=1.8.3" + } +} diff --git a/vvp/app/core/js/jquery.nicescroll-master/changelog_3.6.8.txt b/vvp/app/core/js/jquery.nicescroll-master/changelog_3.6.8.txt new file mode 100644 index 00000000..046f1004 --- /dev/null +++ b/vvp/app/core/js/jquery.nicescroll-master/changelog_3.6.8.txt @@ -0,0 +1,69 @@ +# +# ============LICENSE_START========================================== +# org.onap.vvp/portal +# =================================================================== +# Copyright © 2017 AT&T Intellectual Property. All rights reserved. +# =================================================================== +# +# Unless otherwise specified, all software contained herein is licensed +# under the Apache License, Version 2.0 (the “License”); +# you may not use this software except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# +# +# Unless otherwise specified, all documentation contained herein is licensed +# under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +# you may not use this documentation except in compliance with the License. +# You may obtain a copy of the License at +# +# https://creativecommons.org/licenses/by/4.0/ +# +# Unless required by applicable law or agreed to in writing, documentation +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# ============LICENSE_END============================================ +# +# ECOMP is a trademark and service mark of AT&T Intellectual Property. +Changelog nicescroll release 3.6.8 +http://nicescroll.areaaperta.com/ +https://github.com/inuyaksa/jquery.nicescroll + + +Changed features + +New options +- disablemutationobserver, = TRUE when you want that MutationObserver disabled #580 + +Fixes +- Fix show of null #583 +- Refactoring js #582 +- Removed comments #577 +- Timeouts & using on dynamic DOM Elements: "Uncaught TypeError" #579 +- version 3.6.6 stack overflow #578 +- MutationObserver. IE11 crashes #568 +- Xbox One IE Edge browser can't scroll anywhere #581 (to test on real hw!) +- NIce Scroll doesnt work on Window Surface IE Edge #555 + + +Thanks to great contributors!! +@silversonicaxel +@vsn4ik +@ronar +@StephanBijzitter + + + +TODO +- deprecate legacy browsers diff --git a/vvp/app/core/js/jquery.nicescroll-master/dist/jquery.nicescroll.min.js b/vvp/app/core/js/jquery.nicescroll-master/dist/jquery.nicescroll.min.js new file mode 100644 index 00000000..2013b3cc --- /dev/null +++ b/vvp/app/core/js/jquery.nicescroll-master/dist/jquery.nicescroll.min.js @@ -0,0 +1,158 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +/* jquery.nicescroll 3.6.8 InuYaksa*2015 MIT http://nicescroll.areaaperta.com */(function(f){"function"===typeof define&&define.amd?define(["jquery"],f):"object"===typeof exports?module.exports=f(require("jquery")):f(jQuery)})(function(f){var B=!1,F=!1,O=0,P=2E3,A=0,J=["webkit","ms","moz","o"],v=window.requestAnimationFrame||!1,w=window.cancelAnimationFrame||!1;if(!v)for(var Q in J){var G=J[Q];if(v=window[G+"RequestAnimationFrame"]){w=window[G+"CancelAnimationFrame"]||window[G+"CancelRequestAnimationFrame"];break}}var x=window.MutationObserver||window.WebKitMutationObserver|| +!1,K={zindex:"auto",cursoropacitymin:0,cursoropacitymax:1,cursorcolor:"#424242",cursorwidth:"6px",cursorborder:"1px solid #fff",cursorborderradius:"5px",scrollspeed:60,mousescrollstep:24,touchbehavior:!1,hwacceleration:!0,usetransition:!0,boxzoom:!1,dblclickzoom:!0,gesturezoom:!0,grabcursorenabled:!0,autohidemode:!0,background:"",iframeautoresize:!0,cursorminheight:32,preservenativescrolling:!0,railoffset:!1,railhoffset:!1,bouncescroll:!0,spacebarenabled:!0,railpadding:{top:0,right:0,left:0,bottom:0}, +disableoutline:!0,horizrailenabled:!0,railalign:"right",railvalign:"bottom",enabletranslate3d:!0,enablemousewheel:!0,enablekeyboard:!0,smoothscroll:!0,sensitiverail:!0,enablemouselockapi:!0,cursorfixedheight:!1,directionlockdeadzone:6,hidecursordelay:400,nativeparentscrolling:!0,enablescrollonselection:!0,overflowx:!0,overflowy:!0,cursordragspeed:.3,rtlmode:"auto",cursordragontouch:!1,oneaxismousemode:"auto",scriptpath:function(){var f=document.getElementsByTagName("script"),f=f.length?f[f.length- +1].src.split("?")[0]:"";return 0d?a.getScrollLeft()>=a.page.maxw:0>=a.getScrollLeft())&&(e=d,d=0));a.isrtlmode&&(d=-d);d&&(a.scrollmom&&a.scrollmom.stop(),a.lastdeltax+=d,a.debounced("mousewheelx",function(){var b=a.lastdeltax;a.lastdeltax=0;a.rail.drag||a.doScrollLeftBy(b)},15));if(e){if(a.opt.nativeparentscrolling&&c&&!a.ispage&&!a.zoomactive)if(0>e){if(a.getScrollTop()>=a.page.maxh)return!0}else if(0>=a.getScrollTop())return!0;a.scrollmom&&a.scrollmom.stop();a.lastdeltay+=e; +a.synched("mousewheely",function(){var b=a.lastdeltay;a.lastdeltay=0;a.rail.drag||a.doScrollBy(b)},15)}b.stopImmediatePropagation();return b.preventDefault()}var a=this;this.version="3.6.8";this.name="nicescroll";this.me=c;this.opt={doc:f("body"),win:!1};f.extend(this.opt,K);this.opt.snapbackspeed=80;if(h)for(var r in a.opt)void 0!==h[r]&&(a.opt[r]=h[r]);a.opt.disablemutationobserver&&(x=!1);this.iddoc=(this.doc=a.opt.doc)&&this.doc[0]?this.doc[0].id||"":"";this.ispage=/^BODY|HTML/.test(a.opt.win? +a.opt.win[0].nodeName:this.doc[0].nodeName);this.haswrapper=!1!==a.opt.win;this.win=a.opt.win||(this.ispage?f(window):this.doc);this.docscroll=this.ispage&&!this.haswrapper?f(window):this.win;this.body=f("body");this.iframe=this.isfixed=this.viewport=!1;this.isiframe="IFRAME"==this.doc[0].nodeName&&"IFRAME"==this.win[0].nodeName;this.istextarea="TEXTAREA"==this.win[0].nodeName;this.forcescreen=!1;this.canshowonmouseevent="scroll"!=a.opt.autohidemode;this.page=this.view=this.onzoomout=this.onzoomin= +this.onscrollcancel=this.onscrollend=this.onscrollstart=this.onclick=this.ongesturezoom=this.onkeypress=this.onmousewheel=this.onmousemove=this.onmouseup=this.onmousedown=!1;this.scroll={x:0,y:0};this.scrollratio={x:0,y:0};this.cursorheight=20;this.scrollvaluemax=0;if("auto"==this.opt.rtlmode){r=this.win[0]==window?this.body:this.win;var p=r.css("writing-mode")||r.css("-webkit-writing-mode")||r.css("-ms-writing-mode")||r.css("-moz-writing-mode");"horizontal-tb"==p||"lr-tb"==p||""==p?(this.isrtlmode= +"rtl"==r.css("direction"),this.isvertical=!1):(this.isrtlmode="vertical-rl"==p||"tb"==p||"tb-rl"==p||"rl-tb"==p,this.isvertical="vertical-rl"==p||"tb"==p||"tb-rl"==p)}else this.isrtlmode=!0===this.opt.rtlmode,this.isvertical=!1;this.observerbody=this.observerremover=this.observer=this.scrollmom=this.scrollrunning=!1;do this.id="ascrail"+P++;while(document.getElementById(this.id));this.hasmousefocus=this.hasfocus=this.zoomactive=this.zoom=this.selectiondrag=this.cursorfreezed=this.cursor=this.rail= +!1;this.visibility=!0;this.hidden=this.locked=this.railslocked=!1;this.cursoractive=!0;this.wheelprevented=!1;this.overflowx=a.opt.overflowx;this.overflowy=a.opt.overflowy;this.nativescrollingarea=!1;this.checkarea=0;this.events=[];this.saved={};this.delaylist={};this.synclist={};this.lastdeltay=this.lastdeltax=0;this.detected=R();var e=f.extend({},this.detected);this.ishwscroll=(this.canhwscroll=e.hastransform&&a.opt.hwacceleration)&&a.haswrapper;this.hasreversehr=this.isrtlmode?this.isvertical? +!(e.iswebkit||e.isie||e.isie11):!(e.iswebkit||e.isie&&!e.isie10&&!e.isie11):!1;this.istouchcapable=!1;e.cantouch||!e.hasw3ctouch&&!e.hasmstouch?!e.cantouch||e.isios||e.isandroid||!e.iswebkit&&!e.ismozilla||(this.istouchcapable=!0):this.istouchcapable=!0;a.opt.enablemouselockapi||(e.hasmousecapture=!1,e.haspointerlock=!1);this.debounced=function(b,g,c){a&&(a.delaylist[b]||(g.call(a),a.delaylist[b]={h:v(function(){a.delaylist[b].fn.call(a);a.delaylist[b]=!1},c)}),a.delaylist[b].fn=g)};var I=!1;this.synched= +function(b,g){a.synclist[b]=g;(function(){I||(v(function(){if(a){I=!1;for(var b in a.synclist){var g=a.synclist[b];g&&g.call(a);a.synclist[b]=!1}}}),I=!0)})();return b};this.unsynched=function(b){a.synclist[b]&&(a.synclist[b]=!1)};this.css=function(b,g){for(var c in g)a.saved.css.push([b,c,b.css(c)]),b.css(c,g[c])};this.scrollTop=function(b){return void 0===b?a.getScrollTop():a.setScrollTop(b)};this.scrollLeft=function(b){return void 0===b?a.getScrollLeft():a.setScrollLeft(b)};var D=function(a,g, +c,d,e,f,k){this.st=a;this.ed=g;this.spd=c;this.p1=d||0;this.p2=e||1;this.p3=f||0;this.p4=k||1;this.ts=(new Date).getTime();this.df=this.ed-this.st};D.prototype={B2:function(a){return 3*a*a*(1-a)},B3:function(a){return 3*a*(1-a)*(1-a)},B4:function(a){return(1-a)*(1-a)*(1-a)},getNow:function(){var a=1-((new Date).getTime()-this.ts)/this.spd,g=this.B2(a)+this.B3(a)+this.B4(a);return 0>a?this.ed:this.st+Math.round(this.df*g)},update:function(a,g){this.st=this.getNow();this.ed=a;this.spd=g;this.ts=(new Date).getTime(); +this.df=this.ed-this.st;return this}};if(this.ishwscroll){this.doc.translate={x:0,y:0,tx:"0px",ty:"0px"};e.hastranslate3d&&e.isios&&this.doc.css("-webkit-backface-visibility","hidden");this.getScrollTop=function(b){if(!b){if(b=k())return 16==b.length?-b[13]:-b[5];if(a.timerscroll&&a.timerscroll.bz)return a.timerscroll.bz.getNow()}return a.doc.translate.y};this.getScrollLeft=function(b){if(!b){if(b=k())return 16==b.length?-b[12]:-b[4];if(a.timerscroll&&a.timerscroll.bh)return a.timerscroll.bh.getNow()}return a.doc.translate.x}; +this.notifyScrollEvent=function(a){var g=document.createEvent("UIEvents");g.initUIEvent("scroll",!1,!0,window,1);g.niceevent=!0;a.dispatchEvent(g)};var y=this.isrtlmode?1:-1;e.hastranslate3d&&a.opt.enabletranslate3d?(this.setScrollTop=function(b,g){a.doc.translate.y=b;a.doc.translate.ty=-1*b+"px";a.doc.css(e.trstyle,"translate3d("+a.doc.translate.tx+","+a.doc.translate.ty+",0px)");g||a.notifyScrollEvent(a.win[0])},this.setScrollLeft=function(b,g){a.doc.translate.x=b;a.doc.translate.tx=b*y+"px";a.doc.css(e.trstyle, +"translate3d("+a.doc.translate.tx+","+a.doc.translate.ty+",0px)");g||a.notifyScrollEvent(a.win[0])}):(this.setScrollTop=function(b,g){a.doc.translate.y=b;a.doc.translate.ty=-1*b+"px";a.doc.css(e.trstyle,"translate("+a.doc.translate.tx+","+a.doc.translate.ty+")");g||a.notifyScrollEvent(a.win[0])},this.setScrollLeft=function(b,g){a.doc.translate.x=b;a.doc.translate.tx=b*y+"px";a.doc.css(e.trstyle,"translate("+a.doc.translate.tx+","+a.doc.translate.ty+")");g||a.notifyScrollEvent(a.win[0])})}else this.getScrollTop= +function(){return a.docscroll.scrollTop()},this.setScrollTop=function(b){return setTimeout(function(){a&&a.docscroll.scrollTop(b)},1)},this.getScrollLeft=function(){return a.hasreversehr?a.detected.ismozilla?a.page.maxw-Math.abs(a.docscroll.scrollLeft()):a.page.maxw-a.docscroll.scrollLeft():a.docscroll.scrollLeft()},this.setScrollLeft=function(b){return setTimeout(function(){if(a)return a.hasreversehr&&(b=a.detected.ismozilla?-(a.page.maxw-b):a.page.maxw-b),a.docscroll.scrollLeft(b)},1)};this.getTarget= +function(a){return a?a.target?a.target:a.srcElement?a.srcElement:!1:!1};this.hasParent=function(a,g){if(!a)return!1;for(var c=a.target||a.srcElement||a||!1;c&&c.id!=g;)c=c.parentNode||!1;return!1!==c};var z={thin:1,medium:3,thick:5};this.getDocumentScrollOffset=function(){return{top:window.pageYOffset||document.documentElement.scrollTop,left:window.pageXOffset||document.documentElement.scrollLeft}};this.getOffset=function(){if(a.isfixed){var b=a.win.offset(),g=a.getDocumentScrollOffset();b.top-=g.top; +b.left-=g.left;return b}b=a.win.offset();if(!a.viewport)return b;g=a.viewport.offset();return{top:b.top-g.top,left:b.left-g.left}};this.updateScrollBar=function(b){var g,c,e;if(a.ishwscroll)a.rail.css({height:a.win.innerHeight()-(a.opt.railpadding.top+a.opt.railpadding.bottom)}),a.railh&&a.railh.css({width:a.win.innerWidth()-(a.opt.railpadding.left+a.opt.railpadding.right)});else{var f=a.getOffset();g=f.top;c=f.left-(a.opt.railpadding.left+a.opt.railpadding.right);g+=d(a.win,"border-top-width",!0); +c+=a.rail.align?a.win.outerWidth()-d(a.win,"border-right-width")-a.rail.width:d(a.win,"border-left-width");if(e=a.opt.railoffset)e.top&&(g+=e.top),e.left&&(c+=e.left);a.railslocked||a.rail.css({top:g,left:c,height:(b?b.h:a.win.innerHeight())-(a.opt.railpadding.top+a.opt.railpadding.bottom)});a.zoom&&a.zoom.css({top:g+1,left:1==a.rail.align?c-20:c+a.rail.width+4});if(a.railh&&!a.railslocked){g=f.top;c=f.left;if(e=a.opt.railhoffset)e.top&&(g+=e.top),e.left&&(c+=e.left);b=a.railh.align?g+d(a.win,"border-top-width", +!0)+a.win.innerHeight()-a.railh.height:g+d(a.win,"border-top-width",!0);c+=d(a.win,"border-left-width");a.railh.css({top:b-(a.opt.railpadding.top+a.opt.railpadding.bottom),left:c,width:a.railh.width})}}};this.doRailClick=function(b,g,c){var d;a.railslocked||(a.cancelEvent(b),g?(g=c?a.doScrollLeft:a.doScrollTop,d=c?(b.pageX-a.railh.offset().left-a.cursorwidth/2)*a.scrollratio.x:(b.pageY-a.rail.offset().top-a.cursorheight/2)*a.scrollratio.y,g(d)):(g=c?a.doScrollLeftBy:a.doScrollBy,d=c?a.scroll.x:a.scroll.y, +b=c?b.pageX-a.railh.offset().left:b.pageY-a.rail.offset().top,c=c?a.view.w:a.view.h,g(d>=b?c:-c)))};a.hasanimationframe=v;a.hascancelanimationframe=w;a.hasanimationframe?a.hascancelanimationframe||(w=function(){a.cancelAnimationFrame=!0}):(v=function(a){return setTimeout(a,15-Math.floor(+new Date/1E3)%16)},w=clearTimeout);this.init=function(){a.saved.css=[];if(e.isie7mobile||e.isoperamini)return!0;e.hasmstouch&&a.css(a.ispage?f("html"):a.win,{_touchaction:"none"});var b=e.ismodernie||e.isie10?{"-ms-overflow-style":"none"}: +{"overflow-y":"hidden"};a.zindex="auto";a.zindex=a.ispage||"auto"!=a.opt.zindex?a.opt.zindex:l()||"auto";!a.ispage&&"auto"!=a.zindex&&a.zindex>A&&(A=a.zindex);a.isie&&0==a.zindex&&"auto"==a.opt.zindex&&(a.zindex="auto");if(!a.ispage||!e.cantouch&&!e.isieold&&!e.isie9mobile){var c=a.docscroll;a.ispage&&(c=a.haswrapper?a.win:a.doc);e.isie9mobile||a.css(c,b);a.ispage&&e.isie7&&("BODY"==a.doc[0].nodeName?a.css(f("html"),{"overflow-y":"hidden"}):"HTML"==a.doc[0].nodeName&&a.css(f("body"),b));!e.isios|| +a.ispage||a.haswrapper||a.css(f("body"),{"-webkit-overflow-scrolling":"touch"});var d=f(document.createElement("div"));d.css({position:"relative",top:0,"float":"right",width:a.opt.cursorwidth,height:0,"background-color":a.opt.cursorcolor,border:a.opt.cursorborder,"background-clip":"padding-box","-webkit-border-radius":a.opt.cursorborderradius,"-moz-border-radius":a.opt.cursorborderradius,"border-radius":a.opt.cursorborderradius});d.hborder=parseFloat(d.outerHeight()-d.innerHeight());d.addClass("nicescroll-cursors"); +a.cursor=d;var m=f(document.createElement("div"));m.attr("id",a.id);m.addClass("nicescroll-rails nicescroll-rails-vr");var k,h,p=["left","right","top","bottom"],L;for(L in p)h=p[L],(k=a.opt.railpadding[h])?m.css("padding-"+h,k+"px"):a.opt.railpadding[h]=0;m.append(d);m.width=Math.max(parseFloat(a.opt.cursorwidth),d.outerWidth());m.css({width:m.width+"px",zIndex:a.zindex,background:a.opt.background,cursor:"default"});m.visibility=!0;m.scrollable=!0;m.align="left"==a.opt.railalign?0:1;a.rail=m;d=a.rail.drag= +!1;!a.opt.boxzoom||a.ispage||e.isieold||(d=document.createElement("div"),a.bind(d,"click",a.doZoom),a.bind(d,"mouseenter",function(){a.zoom.css("opacity",a.opt.cursoropacitymax)}),a.bind(d,"mouseleave",function(){a.zoom.css("opacity",a.opt.cursoropacitymin)}),a.zoom=f(d),a.zoom.css({cursor:"pointer",zIndex:a.zindex,backgroundImage:"url("+a.opt.scriptpath+"zoomico.png)",height:18,width:18,backgroundPosition:"0px 0px"}),a.opt.dblclickzoom&&a.bind(a.win,"dblclick",a.doZoom),e.cantouch&&a.opt.gesturezoom&& +(a.ongesturezoom=function(b){1.5b.scale&&a.doZoomOut(b);return a.cancelEvent(b)},a.bind(a.win,"gestureend",a.ongesturezoom)));a.railh=!1;var n;a.opt.horizrailenabled&&(a.css(c,{overflowX:"hidden"}),d=f(document.createElement("div")),d.css({position:"absolute",top:0,height:a.opt.cursorwidth,width:0,backgroundColor:a.opt.cursorcolor,border:a.opt.cursorborder,backgroundClip:"padding-box","-webkit-border-radius":a.opt.cursorborderradius,"-moz-border-radius":a.opt.cursorborderradius, +"border-radius":a.opt.cursorborderradius}),e.isieold&&d.css("overflow","hidden"),d.wborder=parseFloat(d.outerWidth()-d.innerWidth()),d.addClass("nicescroll-cursors"),a.cursorh=d,n=f(document.createElement("div")),n.attr("id",a.id+"-hr"),n.addClass("nicescroll-rails nicescroll-rails-hr"),n.height=Math.max(parseFloat(a.opt.cursorwidth),d.outerHeight()),n.css({height:n.height+"px",zIndex:a.zindex,background:a.opt.background}),n.append(d),n.visibility=!0,n.scrollable=!0,n.align="top"==a.opt.railvalign? +0:1,a.railh=n,a.railh.drag=!1);a.ispage?(m.css({position:"fixed",top:0,height:"100%"}),m.align?m.css({right:0}):m.css({left:0}),a.body.append(m),a.railh&&(n.css({position:"fixed",left:0,width:"100%"}),n.align?n.css({bottom:0}):n.css({top:0}),a.body.append(n))):(a.ishwscroll?("static"==a.win.css("position")&&a.css(a.win,{position:"relative"}),c="HTML"==a.win[0].nodeName?a.body:a.win,f(c).scrollTop(0).scrollLeft(0),a.zoom&&(a.zoom.css({position:"absolute",top:1,right:0,"margin-right":m.width+4}),c.append(a.zoom)), +m.css({position:"absolute",top:0}),m.align?m.css({right:0}):m.css({left:0}),c.append(m),n&&(n.css({position:"absolute",left:0,bottom:0}),n.align?n.css({bottom:0}):n.css({top:0}),c.append(n))):(a.isfixed="fixed"==a.win.css("position"),c=a.isfixed?"fixed":"absolute",a.isfixed||(a.viewport=a.getViewport(a.win[0])),a.viewport&&(a.body=a.viewport,0==/fixed|absolute/.test(a.viewport.css("position"))&&a.css(a.viewport,{position:"relative"})),m.css({position:c}),a.zoom&&a.zoom.css({position:c}),a.updateScrollBar(), +a.body.append(m),a.zoom&&a.body.append(a.zoom),a.railh&&(n.css({position:c}),a.body.append(n))),e.isios&&a.css(a.win,{"-webkit-tap-highlight-color":"rgba(0,0,0,0)","-webkit-touch-callout":"none"}),e.isie&&a.opt.disableoutline&&a.win.attr("hideFocus","true"),e.iswebkit&&a.opt.disableoutline&&a.win.css("outline","none"));!1===a.opt.autohidemode?(a.autohidedom=!1,a.rail.css({opacity:a.opt.cursoropacitymax}),a.railh&&a.railh.css({opacity:a.opt.cursoropacitymax})):!0===a.opt.autohidemode||"leave"===a.opt.autohidemode? +(a.autohidedom=f().add(a.rail),e.isie8&&(a.autohidedom=a.autohidedom.add(a.cursor)),a.railh&&(a.autohidedom=a.autohidedom.add(a.railh)),a.railh&&e.isie8&&(a.autohidedom=a.autohidedom.add(a.cursorh))):"scroll"==a.opt.autohidemode?(a.autohidedom=f().add(a.rail),a.railh&&(a.autohidedom=a.autohidedom.add(a.railh))):"cursor"==a.opt.autohidemode?(a.autohidedom=f().add(a.cursor),a.railh&&(a.autohidedom=a.autohidedom.add(a.cursorh))):"hidden"==a.opt.autohidemode&&(a.autohidedom=!1,a.hide(),a.railslocked= +!1);if(e.isie9mobile)a.scrollmom=new M(a),a.onmangotouch=function(){var b=a.getScrollTop(),c=a.getScrollLeft();if(b==a.scrollmom.lastscrolly&&c==a.scrollmom.lastscrollx)return!0;var g=b-a.mangotouch.sy,d=c-a.mangotouch.sx;if(0!=Math.round(Math.sqrt(Math.pow(d,2)+Math.pow(g,2)))){var e=0>g?-1:1,f=0>d?-1:1,u=+new Date;a.mangotouch.lazy&&clearTimeout(a.mangotouch.lazy);80h?h=Math.round(h/2):h>a.page.maxh&&(h=a.page.maxh+Math.round((h-a.page.maxh)/2)):(0>h&&(u=h=0),h>a.page.maxh&&(h=a.page.maxh,u=0));var l;a.railh&&a.railh.scrollable&&(l=a.isrtlmode?k-a.rail.drag.sl:a.rail.drag.sl-k,a.ishwscroll&&a.opt.bouncescroll?0>l?l=Math.round(l/2):l>a.page.maxw&&(l=a.page.maxw+Math.round((l-a.page.maxw)/ +2)):(0>l&&(m=l=0),l>a.page.maxw&&(l=a.page.maxw,m=0)));g=!1;if(a.rail.drag.dl)g=!0,"v"==a.rail.drag.dl?l=a.rail.drag.sl:"h"==a.rail.drag.dl&&(h=a.rail.drag.st);else{d=Math.abs(d);var k=Math.abs(k),C=a.opt.directionlockdeadzone;if("v"==a.rail.drag.ck){if(d>C&&k<=.3*d)return a.rail.drag=!1,!0;k>C&&(a.rail.drag.dl="f",f("body").scrollTop(f("body").scrollTop()))}else if("h"==a.rail.drag.ck){if(k>C&&d<=.3*k)return a.rail.drag=!1,!0;d>C&&(a.rail.drag.dl="f",f("body").scrollLeft(f("body").scrollLeft()))}}a.synched("touchmove", +function(){a.rail.drag&&2==a.rail.drag.pt&&(a.prepareTransition&&a.prepareTransition(0),a.rail.scrollable&&a.setScrollTop(h),a.scrollmom.update(m,u),a.railh&&a.railh.scrollable?(a.setScrollLeft(l),a.showCursor(h,l)):a.showCursor(h),e.isie10&&document.selection.clear())});e.ischrome&&a.istouchcapable&&(g=!1);if(g)return a.cancelEvent(b)}else if(1==a.rail.drag.pt)return a.onmousemove(b)}}a.onmousedown=function(b,c){if(!a.rail.drag||1==a.rail.drag.pt){if(a.railslocked)return a.cancelEvent(b);a.cancelScroll(); +a.rail.drag={x:b.clientX,y:b.clientY,sx:a.scroll.x,sy:a.scroll.y,pt:1,hr:!!c};var g=a.getTarget(b);!a.ispage&&e.hasmousecapture&&g.setCapture();a.isiframe&&!e.hasmousecapture&&(a.saved.csspointerevents=a.doc.css("pointer-events"),a.css(a.doc,{"pointer-events":"none"}));a.hasmoving=!1;return a.cancelEvent(b)}};a.onmouseup=function(b){if(a.rail.drag){if(1!=a.rail.drag.pt)return!0;e.hasmousecapture&&document.releaseCapture();a.isiframe&&!e.hasmousecapture&&a.doc.css("pointer-events",a.saved.csspointerevents); +a.rail.drag=!1;a.hasmoving&&a.triggerScrollEnd();return a.cancelEvent(b)}};a.onmousemove=function(b){if(a.rail.drag){if(1==a.rail.drag.pt){if(e.ischrome&&0==b.which)return a.onmouseup(b);a.cursorfreezed=!0;a.hasmoving=!0;if(a.rail.drag.hr){a.scroll.x=a.rail.drag.sx+(b.clientX-a.rail.drag.x);0>a.scroll.x&&(a.scroll.x=0);var c=a.scrollvaluemaxw;a.scroll.x>c&&(a.scroll.x=c)}else a.scroll.y=a.rail.drag.sy+(b.clientY-a.rail.drag.y),0>a.scroll.y&&(a.scroll.y=0),c=a.scrollvaluemax,a.scroll.y>c&&(a.scroll.y= +c);a.synched("mousemove",function(){a.rail.drag&&1==a.rail.drag.pt&&(a.showCursor(),a.rail.drag.hr?a.hasreversehr?a.doScrollLeft(a.scrollvaluemaxw-Math.round(a.scroll.x*a.scrollratio.x),a.opt.cursordragspeed):a.doScrollLeft(Math.round(a.scroll.x*a.scrollratio.x),a.opt.cursordragspeed):a.doScrollTop(Math.round(a.scroll.y*a.scrollratio.y),a.opt.cursordragspeed))});return a.cancelEvent(b)}}else a.checkarea=0};if(e.cantouch||a.opt.touchbehavior)a.onpreventclick=function(b){if(a.preventclick)return a.preventclick.tg.onclick= +a.preventclick.click,a.preventclick=!1,a.cancelEvent(b)},a.bind(a.win,"mousedown",a.ontouchstart),a.onclick=e.isios?!1:function(b){return a.lastmouseup?(a.lastmouseup=!1,a.cancelEvent(b)):!0},a.opt.grabcursorenabled&&e.cursorgrabvalue&&(a.css(a.ispage?a.doc:a.win,{cursor:e.cursorgrabvalue}),a.css(a.rail,{cursor:e.cursorgrabvalue}));else{var r=function(b){if(a.selectiondrag){if(b){var c=a.win.outerHeight();b=b.pageY-a.selectiondrag.top;0=c&&(b-=c);a.selectiondrag.df=b}0!=a.selectiondrag.df&& +(a.doScrollBy(2*-Math.floor(a.selectiondrag.df/6)),a.debounced("doselectionscroll",function(){r()},50))}};a.hasTextSelected="getSelection"in document?function(){return 0a.page.maxh?a.doScrollTop(a.page.maxh):(a.scroll.y=Math.round(a.getScrollTop()* +(1/a.scrollratio.y)),a.scroll.x=Math.round(a.getScrollLeft()*(1/a.scrollratio.x)),a.cursoractive&&a.noticeCursor());a.scroll.y&&0==a.getScrollTop()&&a.doScrollTo(Math.floor(a.scroll.y*a.scrollratio.y));return a};this.resize=a.onResize;this.hlazyresize=0;this.lazyResize=function(b){a.haswrapper||a.hide();a.hlazyresize&&clearTimeout(a.hlazyresize);a.hlazyresize=setTimeout(function(){a&&a.show().resize()},240);return a};this.jqbind=function(b,c,d){a.events.push({e:b,n:c,f:d,q:!0});f(b).bind(c,d)};this.mousewheel= +function(b,c,d){b="jquery"in b?b[0]:b;if("onwheel"in document.createElement("div"))a._bind(b,"wheel",c,d||!1);else{var e=void 0!==document.onmousewheel?"mousewheel":"DOMMouseScroll";q(b,e,c,d||!1);"DOMMouseScroll"==e&&q(b,"MozMousePixelScroll",c,d||!1)}};e.haseventlistener?(this.bind=function(b,c,d,e){a._bind("jquery"in b?b[0]:b,c,d,e||!1)},this._bind=function(b,c,d,e){a.events.push({e:b,n:c,f:d,b:e,q:!1});b.addEventListener(c,d,e||!1)},this.cancelEvent=function(a){if(!a)return!1;a=a.original?a.original: +a;a.cancelable&&a.preventDefault();a.stopPropagation();a.preventManipulation&&a.preventManipulation();return!1},this.stopPropagation=function(a){if(!a)return!1;a=a.original?a.original:a;a.stopPropagation();return!1},this._unbind=function(a,c,d,e){a.removeEventListener(c,d,e)}):(this.bind=function(b,c,d,e){var f="jquery"in b?b[0]:b;a._bind(f,c,function(b){(b=b||window.event||!1)&&b.srcElement&&(b.target=b.srcElement);"pageY"in b||(b.pageX=b.clientX+document.documentElement.scrollLeft,b.pageY=b.clientY+ +document.documentElement.scrollTop);return!1===d.call(f,b)||!1===e?a.cancelEvent(b):!0})},this._bind=function(b,c,d,e){a.events.push({e:b,n:c,f:d,b:e,q:!1});b.attachEvent?b.attachEvent("on"+c,d):b["on"+c]=d},this.cancelEvent=function(a){a=window.event||!1;if(!a)return!1;a.cancelBubble=!0;a.cancel=!0;return a.returnValue=!1},this.stopPropagation=function(a){a=window.event||!1;if(!a)return!1;a.cancelBubble=!0;return!1},this._unbind=function(a,c,d,e){a.detachEvent?a.detachEvent("on"+c,d):a["on"+c]=!1}); +this.unbindAll=function(){for(var b=0;b(a.newscrolly-f)*(c-f)||0>(a.newscrollx-k)*(b-k))&&a.cancelScroll();0==a.opt.bouncescroll&&(0>c?c=0:c>a.page.maxh&&(c=a.page.maxh),0>b?b=0:b>a.page.maxw&&(b=a.page.maxw));if(a.scrollrunning&&b==a.newscrollx&&c==a.newscrolly)return!1;a.newscrolly=c;a.newscrollx=b;a.newscrollspeed=d||!1;if(a.timer)return!1;a.timer=setTimeout(function(){var d=a.getScrollTop(),f=a.getScrollLeft(), +k=Math.round(Math.sqrt(Math.pow(b-f,2)+Math.pow(c-d,2))),k=a.newscrollspeed&&1=a.newscrollspeed&&(k*=a.newscrollspeed);a.prepareTransition(k,!0);a.timerscroll&&a.timerscroll.tm&&clearInterval(a.timerscroll.tm);0b?b=0:b>a.page.maxh&&(b=a.page.maxh);0>c?c=0:c>a.page.maxw&&(c=a.page.maxw);if(b!=a.newscrolly||c!=a.newscrollx)return a.doScrollPos(c, +b,a.opt.snapbackspeed);a.onscrollend&&a.scrollrunning&&a.triggerScrollEnd();a.scrollrunning=!1}):(this.doScrollLeft=function(b,c){var d=a.scrollrunning?a.newscrolly:a.getScrollTop();a.doScrollPos(b,d,c)},this.doScrollTop=function(b,c){var d=a.scrollrunning?a.newscrollx:a.getScrollLeft();a.doScrollPos(d,b,c)},this.doScrollPos=function(b,c,d){function e(){if(a.cancelAnimationFrame)return!0;a.scrollrunning=!0;if(p=1-p)return a.timer=v(e)||1;var b=0,c,d,f=d=a.getScrollTop();if(a.dst.ay){f=a.bzscroll? +a.dst.py+a.bzscroll.getNow()*a.dst.ay:a.newscrolly;c=f-d;if(0>c&&fa.newscrolly)f=a.newscrolly;a.setScrollTop(f);f==a.newscrolly&&(b=1)}else b=1;d=c=a.getScrollLeft();if(a.dst.ax){d=a.bzscroll?a.dst.px+a.bzscroll.getNow()*a.dst.ax:a.newscrollx;c=d-c;if(0>c&&da.newscrollx)d=a.newscrollx;a.setScrollLeft(d);d==a.newscrollx&&(b+=1)}else b+=1;2==b?(a.timer=0,a.cursorfreezed=!1,a.bzscroll=!1,a.scrollrunning=!1,0>f?f=0:f>a.page.maxh&&(f=Math.max(0,a.page.maxh)), +0>d?d=0:d>a.page.maxw&&(d=a.page.maxw),d!=a.newscrollx||f!=a.newscrolly?a.doScrollPos(d,f):a.onscrollend&&a.triggerScrollEnd()):a.timer=v(e)||1}c=void 0===c||!1===c?a.getScrollTop(!0):c;if(a.timer&&a.newscrolly==c&&a.newscrollx==b)return!0;a.timer&&w(a.timer);a.timer=0;var f=a.getScrollTop(),k=a.getScrollLeft();(0>(a.newscrolly-f)*(c-f)||0>(a.newscrollx-k)*(b-k))&&a.cancelScroll();a.newscrolly=c;a.newscrollx=b;a.bouncescroll&&a.rail.visibility||(0>a.newscrolly?a.newscrolly=0:a.newscrolly>a.page.maxh&& +(a.newscrolly=a.page.maxh));a.bouncescroll&&a.railh.visibility||(0>a.newscrollx?a.newscrollx=0:a.newscrollx>a.page.maxw&&(a.newscrollx=a.page.maxw));a.dst={};a.dst.x=b-k;a.dst.y=c-f;a.dst.px=k;a.dst.py=f;var h=Math.round(Math.sqrt(Math.pow(a.dst.x,2)+Math.pow(a.dst.y,2)));a.dst.ax=a.dst.x/h;a.dst.ay=a.dst.y/h;var l=0,n=h;0==a.dst.x?(l=f,n=c,a.dst.ay=1,a.dst.py=0):0==a.dst.y&&(l=k,n=b,a.dst.ax=1,a.dst.px=0);h=a.getTransitionSpeed(h);d&&1>=d&&(h*=d);a.bzscroll=0=a.page.maxh||k==a.page.maxw&&b>=a.page.maxw)&&a.checkContentSize();var p=1;a.cancelAnimationFrame=!1;a.timer=1;a.onscrollstart&&!a.scrollrunning&&a.onscrollstart.call(a,{type:"scrollstart",current:{x:k,y:f},request:{x:b,y:c},end:{x:a.newscrollx,y:a.newscrolly},speed:h});e();(f==a.page.maxh&&c>=f||k==a.page.maxw&&b>=k)&&a.checkContentSize();a.noticeCursor()}},this.cancelScroll=function(){a.timer&&w(a.timer);a.timer=0;a.bzscroll=!1;a.scrollrunning= +!1;return a}):(this.doScrollLeft=function(b,c){var d=a.getScrollTop();a.doScrollPos(b,d,c)},this.doScrollTop=function(b,c){var d=a.getScrollLeft();a.doScrollPos(d,b,c)},this.doScrollPos=function(b,c,d){var e=b>a.page.maxw?a.page.maxw:b;0>e&&(e=0);var f=c>a.page.maxh?a.page.maxh:c;0>f&&(f=0);a.synched("scroll",function(){a.setScrollTop(f);a.setScrollLeft(e)})},this.cancelScroll=function(){});this.doScrollBy=function(b,c){var d=0,d=c?Math.floor((a.scroll.y-b)*a.scrollratio.y):(a.timer?a.newscrolly: +a.getScrollTop(!0))-b;if(a.bouncescroll){var e=Math.round(a.view.h/2);d<-e?d=-e:d>a.page.maxh+e&&(d=a.page.maxh+e)}a.cursorfreezed=!1;e=a.getScrollTop(!0);if(0>d&&0>=e)return a.noticeCursor();if(d>a.page.maxh&&e>=a.page.maxh)return a.checkContentSize(),a.noticeCursor();a.doScrollTop(d)};this.doScrollLeftBy=function(b,c){var d=0,d=c?Math.floor((a.scroll.x-b)*a.scrollratio.x):(a.timer?a.newscrollx:a.getScrollLeft(!0))-b;if(a.bouncescroll){var e=Math.round(a.view.w/2);d<-e?d=-e:d>a.page.maxw+e&&(d=a.page.maxw+ +e)}a.cursorfreezed=!1;e=a.getScrollLeft(!0);if(0>d&&0>=e||d>a.page.maxw&&e>=a.page.maxw)return a.noticeCursor();a.doScrollLeft(d)};this.doScrollTo=function(b,c){a.cursorfreezed=!1;a.doScrollTop(b)};this.checkContentSize=function(){var b=a.getContentSize();b.h==a.page.h&&b.w==a.page.w||a.resize(!1,b)};a.onscroll=function(b){a.rail.drag||a.cursorfreezed||a.synched("scroll",function(){a.scroll.y=Math.round(a.getScrollTop()*(1/a.scrollratio.y));a.railh&&(a.scroll.x=Math.round(a.getScrollLeft()*(1/a.scrollratio.x))); +a.noticeCursor()})};a.bind(a.docscroll,"scroll",a.onscroll);this.doZoomIn=function(b){if(!a.zoomactive){a.zoomactive=!0;a.zoomrestore={style:{}};var c="position top left zIndex backgroundColor marginTop marginBottom marginLeft marginRight".split(" "),d=a.win[0].style,k;for(k in c){var h=c[k];a.zoomrestore.style[h]=void 0!==d[h]?d[h]:""}a.zoomrestore.style.width=a.win.css("width");a.zoomrestore.style.height=a.win.css("height");a.zoomrestore.padding={w:a.win.outerWidth()-a.win.width(),h:a.win.outerHeight()- +a.win.height()};e.isios4&&(a.zoomrestore.scrollTop=f(window).scrollTop(),f(window).scrollTop(0));a.win.css({position:e.isios4?"absolute":"fixed",top:0,left:0,zIndex:A+100,margin:0});c=a.win.css("backgroundColor");(""==c||/transparent|rgba\(0, 0, 0, 0\)|rgba\(0,0,0,0\)/.test(c))&&a.win.css("backgroundColor","#fff");a.rail.css({zIndex:A+101});a.zoom.css({zIndex:A+102});a.zoom.css("backgroundPosition","0px -18px");a.resizeZoom();a.onzoomin&&a.onzoomin.call(a);return a.cancelEvent(b)}};this.doZoomOut= +function(b){if(a.zoomactive)return a.zoomactive=!1,a.win.css("margin",""),a.win.css(a.zoomrestore.style),e.isios4&&f(window).scrollTop(a.zoomrestore.scrollTop),a.rail.css({"z-index":a.zindex}),a.zoom.css({"z-index":a.zindex}),a.zoomrestore=!1,a.zoom.css("backgroundPosition","0px 0px"),a.onResize(),a.onzoomout&&a.onzoomout.call(a),a.cancelEvent(b)};this.doZoom=function(b){return a.zoomactive?a.doZoomOut(b):a.doZoomIn(b)};this.resizeZoom=function(){if(a.zoomactive){var b=a.getScrollTop();a.win.css({width:f(window).width()- +a.zoomrestore.padding.w+"px",height:f(window).height()-a.zoomrestore.padding.h+"px"});a.onResize();a.setScrollTop(Math.min(a.page.maxh,b))}};this.init();f.nicescroll.push(this)},M=function(f){var c=this;this.nc=f;this.steptime=this.lasttime=this.speedy=this.speedx=this.lasty=this.lastx=0;this.snapy=this.snapx=!1;this.demuly=this.demulx=0;this.lastscrolly=this.lastscrollx=-1;this.timer=this.chky=this.chkx=0;this.time=function(){return+new Date};this.reset=function(f,h){c.stop();var d=c.time();c.steptime= +0;c.lasttime=d;c.speedx=0;c.speedy=0;c.lastx=f;c.lasty=h;c.lastscrollx=-1;c.lastscrolly=-1};this.update=function(f,h){var d=c.time();c.steptime=d-c.lasttime;c.lasttime=d;var d=h-c.lasty,q=f-c.lastx,t=c.nc.getScrollTop(),a=c.nc.getScrollLeft(),t=t+d,a=a+q;c.snapx=0>a||a>c.nc.page.maxw;c.snapy=0>t||t>c.nc.page.maxh;c.speedx=q;c.speedy=d;c.lastx=f;c.lasty=h};this.stop=function(){c.nc.unsynched("domomentum2d");c.timer&&clearTimeout(c.timer);c.timer=0;c.lastscrollx=-1;c.lastscrolly=-1};this.doSnapy=function(f, +h){var d=!1;0>h?(h=0,d=!0):h>c.nc.page.maxh&&(h=c.nc.page.maxh,d=!0);0>f?(f=0,d=!0):f>c.nc.page.maxw&&(f=c.nc.page.maxw,d=!0);d?c.nc.doScrollPos(f,h,c.nc.opt.snapbackspeed):c.nc.triggerScrollEnd()};this.doMomentum=function(f){var h=c.time(),d=f?h+f:c.lasttime;f=c.nc.getScrollLeft();var q=c.nc.getScrollTop(),t=c.nc.page.maxh,a=c.nc.page.maxw;c.speedx=0=h-d;if(0>q||q>t||0>f||f>a)d=!1;f=c.speedx&&d?c.speedx:!1;if(c.speedy&&d&&c.speedy|| +f){var r=Math.max(16,c.steptime);50p||p>a)&&(d=.1);c.speedy&&(e=Math.floor(c.lastscrolly-c.speedy*(1-c.demulxy)),c.lastscrolly=e,0>e||e>t)&&(d=.1);c.demulxy=Math.min(1,c.demulxy+ +d);c.nc.synched("domomentum2d",function(){c.speedx&&(c.nc.getScrollLeft(),c.chkx=p,c.nc.setScrollLeft(p));c.speedy&&(c.nc.getScrollTop(),c.chky=e,c.nc.setScrollTop(e));c.timer||(c.nc.hideCursor(),c.doSnapy(p,e))});1>c.demulxy?c.timer=setTimeout(v,r):(c.stop(),c.nc.hideCursor(),c.doSnapy(p,e))};v()}else c.doSnapy(c.nc.getScrollLeft(),c.nc.getScrollTop())}},y=f.fn.scrollTop;f.cssHooks.pageYOffset={get:function(h,c,k){return(c=f.data(h,"__nicescroll")||!1)&&c.ishwscroll?c.getScrollTop():y.call(h)},set:function(h, +c){var k=f.data(h,"__nicescroll")||!1;k&&k.ishwscroll?k.setScrollTop(parseInt(c)):y.call(h,c);return this}};f.fn.scrollTop=function(h){if(void 0===h){var c=this[0]?f.data(this[0],"__nicescroll")||!1:!1;return c&&c.ishwscroll?c.getScrollTop():y.call(this)}return this.each(function(){var c=f.data(this,"__nicescroll")||!1;c&&c.ishwscroll?c.setScrollTop(parseInt(h)):y.call(f(this),h)})};var z=f.fn.scrollLeft;f.cssHooks.pageXOffset={get:function(h,c,k){return(c=f.data(h,"__nicescroll")||!1)&&c.ishwscroll? +c.getScrollLeft():z.call(h)},set:function(h,c){var k=f.data(h,"__nicescroll")||!1;k&&k.ishwscroll?k.setScrollLeft(parseInt(c)):z.call(h,c);return this}};f.fn.scrollLeft=function(h){if(void 0===h){var c=this[0]?f.data(this[0],"__nicescroll")||!1:!1;return c&&c.ishwscroll?c.getScrollLeft():z.call(this)}return this.each(function(){var c=f.data(this,"__nicescroll")||!1;c&&c.ishwscroll?c.setScrollLeft(parseInt(h)):z.call(f(this),h)})};var E=function(h){var c=this;this.length=0;this.name="nicescrollarray"; +this.each=function(d){f.each(c,d);return c};this.push=function(d){c[c.length]=d;c.length++};this.eq=function(d){return c[d]};if(h)for(var k=0;k 0) ? path.split('/').slice(0, -1).join('/') + '/' : ''; + } + + var vendors = ['webkit','ms','moz','o']; + + var setAnimationFrame = window.requestAnimationFrame || false; + var clearAnimationFrame = window.cancelAnimationFrame || false; + + if (!setAnimationFrame) { // legacy detection + for (var vx in vendors) { + var v = vendors[vx]; + setAnimationFrame = window[v + 'RequestAnimationFrame']; + if (setAnimationFrame) { + clearAnimationFrame = window[v + 'CancelAnimationFrame'] || window[v + 'CancelRequestAnimationFrame']; + break; + } + } + } + + var ClsMutationObserver = window.MutationObserver || window.WebKitMutationObserver || false; + + var _globaloptions = { + zindex: "auto", + cursoropacitymin: 0, + cursoropacitymax: 1, + cursorcolor: "#424242", + cursorwidth: "6px", + cursorborder: "1px solid #fff", + cursorborderradius: "5px", + scrollspeed: 60, + mousescrollstep: 8 * 3, + touchbehavior: false, + hwacceleration: true, + usetransition: true, + boxzoom: false, + dblclickzoom: true, + gesturezoom: true, + grabcursorenabled: true, + autohidemode: true, + background: "", + iframeautoresize: true, + cursorminheight: 32, + preservenativescrolling: true, + railoffset: false, + railhoffset: false, + bouncescroll: true, + spacebarenabled: true, + railpadding: { + top: 0, + right: 0, + left: 0, + bottom: 0 + }, + disableoutline: true, + horizrailenabled: true, + railalign: "right", + railvalign: "bottom", + enabletranslate3d: true, + enablemousewheel: true, + enablekeyboard: true, + smoothscroll: true, + sensitiverail: true, + enablemouselockapi: true, + // cursormaxheight:false, + cursorfixedheight: false, + directionlockdeadzone: 6, + hidecursordelay: 400, + nativeparentscrolling: true, + enablescrollonselection: true, + overflowx: true, + overflowy: true, + cursordragspeed: 0.3, + rtlmode: "auto", + cursordragontouch: false, + oneaxismousemode: "auto", + scriptpath: getScriptPath(), + preventmultitouchscrolling: true, + disablemutationobserver:false + }; + + var browserdetected = false; + + var getBrowserDetection = function() { + + if (browserdetected) return browserdetected; + + var _el = document.createElement('DIV'), + _style = _el.style, + _agent = navigator.userAgent, + _platform = navigator.platform, + d = {}; + + d.haspointerlock = "pointerLockElement" in document || "webkitPointerLockElement" in document || "mozPointerLockElement" in document; + + d.isopera = ("opera" in window); // 12- + d.isopera12 = (d.isopera && ("getUserMedia" in navigator)); + d.isoperamini = (Object.prototype.toString.call(window.operamini) === "[object OperaMini]"); + + d.isie = (("all" in document) && ("attachEvent" in _el) && !d.isopera); //IE10- + d.isieold = (d.isie && !("msInterpolationMode" in _style)); // IE6 and older + d.isie7 = d.isie && !d.isieold && (!("documentMode" in document) || (document.documentMode == 7)); + d.isie8 = d.isie && ("documentMode" in document) && (document.documentMode == 8); + d.isie9 = d.isie && ("performance" in window) && (document.documentMode == 9); + d.isie10 = d.isie && ("performance" in window) && (document.documentMode == 10); + d.isie11 = ("msRequestFullscreen" in _el) && (document.documentMode >= 11); // IE11+ + d.isieedge12 = (navigator.userAgent.match(/Edge\/12\./)); // IE Edge 12 + d.isieedge = ("msOverflowStyle" in _el); // IE Edge + d.ismodernie = d.isie11 || d.isieedge; + + d.isie9mobile = /iemobile.9/i.test(_agent); //wp 7.1 mango + if (d.isie9mobile) d.isie9 = false; + d.isie7mobile = (!d.isie9mobile && d.isie7) && /iemobile/i.test(_agent); //wp 7.0 + + d.ismozilla = ("MozAppearance" in _style); + + d.iswebkit = ("WebkitAppearance" in _style); + + d.ischrome = ("chrome" in window); + d.ischrome38 = (d.ischrome && ("touchAction" in _style)); // behavior changed in touch emulation + d.ischrome22 = (!d.ischrome38)&&(d.ischrome && d.haspointerlock); + d.ischrome26 = (!d.ischrome38)&&(d.ischrome && ("transition" in _style)); // issue with transform detection (maintain prefix) + + d.cantouch = ("ontouchstart" in document.documentElement) || ("ontouchstart" in window); // with detection for Chrome Touch Emulation + d.hasw3ctouch = (window.PointerEvent || false) && ((navigator.MaxTouchPoints > 0)||(navigator.msMaxTouchPoints > 0)); //IE11 pointer events, following W3C Pointer Events spec + d.hasmstouch = (!d.hasw3ctouch)&&(window.MSPointerEvent || false); // IE10 pointer events + + d.ismac = /^mac$/i.test(_platform); + + d.isios = (d.cantouch && /iphone|ipad|ipod/i.test(_platform)); + d.isios4 = ((d.isios) && !("seal" in Object)); + d.isios7 = ((d.isios)&&("webkitHidden" in document)); //iOS 7+ + d.isios8 = ((d.isios)&&("hidden" in document)); //iOS 8+ + + d.isandroid = (/android/i.test(_agent)); + + d.haseventlistener = ("addEventListener" in _el); + + d.trstyle = false; + d.hastransform = false; + d.hastranslate3d = false; + d.transitionstyle = false; + d.hastransition = false; + d.transitionend = false; + + var a; + var check = ['transform', 'msTransform', 'webkitTransform', 'MozTransform', 'OTransform']; + for (a = 0; a < check.length; a++) { + if (_style[check[a]] !== undefined) { + d.trstyle = check[a]; + break; + } + } + d.hastransform = (!!d.trstyle); + if (d.hastransform) { + _style[d.trstyle] = "translate3d(1px,2px,3px)"; + d.hastranslate3d = /translate3d/.test(_style[d.trstyle]); + } + + d.transitionstyle = false; + d.prefixstyle = ''; + d.transitionend = false; + check = ['transition', 'webkitTransition', 'msTransition', 'MozTransition', 'OTransition', 'OTransition', 'KhtmlTransition']; + var prefix = ['', '-webkit-', '-ms-', '-moz-', '-o-', '-o', '-khtml-']; + var evs = ['transitionend', 'webkitTransitionEnd', 'msTransitionEnd', 'transitionend', 'otransitionend', 'oTransitionEnd', 'KhtmlTransitionEnd']; + for (a = 0; a < check.length; a++) { + if (check[a] in _style) { + d.transitionstyle = check[a]; + d.prefixstyle = prefix[a]; + d.transitionend = evs[a]; + break; + } + } + if (d.ischrome26) { // always use prefix + d.prefixstyle = prefix[1]; + } + + d.hastransition = (d.transitionstyle); + + function detectCursorGrab() { + var lst = ['grab','-webkit-grab', '-moz-grab']; + if ((d.ischrome && !d.ischrome38) || d.isie) lst = []; // force setting for IE returns false positive and chrome cursor bug + for (var a = 0; a < lst.length; a++) { + var p = lst[a]; + _style.cursor = p; + if (_style.cursor == p) return p; + } + return 'url(//patriciaportfolio.googlecode.com/files/openhand.cur),n-resize'; // thank you google for custom cursor! + } + d.cursorgrabvalue = detectCursorGrab(); + + d.hasmousecapture = ("setCapture" in _el); + + d.hasMutationObserver = (ClsMutationObserver !== false); + + _el = null; //memory released + + browserdetected = d; + + return d; + }; + + var NiceScrollClass = function(myopt, me) { + + var self = this; + + this.version = '3.6.8'; + this.name = 'nicescroll'; + + this.me = me; + + this.opt = { + doc: $("body"), + win: false + }; + + $.extend(this.opt, _globaloptions); // clone opts + + // Options for internal use + this.opt.snapbackspeed = 80; + + if (myopt || false) { + for (var a in self.opt) { + if (myopt[a] !== undefined) self.opt[a] = myopt[a]; + } + } + + if (self.opt.disablemutationobserver) ClsMutationObserver = false; + + this.doc = self.opt.doc; + this.iddoc = (this.doc && this.doc[0]) ? this.doc[0].id || '' : ''; + this.ispage = /^BODY|HTML/.test((self.opt.win) ? self.opt.win[0].nodeName : this.doc[0].nodeName); + this.haswrapper = (self.opt.win !== false); + this.win = self.opt.win || (this.ispage ? $(window) : this.doc); + this.docscroll = (this.ispage && !this.haswrapper) ? $(window) : this.win; + this.body = $("body"); + this.viewport = false; + + this.isfixed = false; + + this.iframe = false; + this.isiframe = ((this.doc[0].nodeName == 'IFRAME') && (this.win[0].nodeName == 'IFRAME')); + + this.istextarea = (this.win[0].nodeName == 'TEXTAREA'); + + this.forcescreen = false; //force to use screen position on events + + this.canshowonmouseevent = (self.opt.autohidemode != "scroll"); + + // Events jump table + this.onmousedown = false; + this.onmouseup = false; + this.onmousemove = false; + this.onmousewheel = false; + this.onkeypress = false; + this.ongesturezoom = false; + this.onclick = false; + + // Nicescroll custom events + this.onscrollstart = false; + this.onscrollend = false; + this.onscrollcancel = false; + + this.onzoomin = false; + this.onzoomout = false; + + // Let's start! + this.view = false; + this.page = false; + + this.scroll = { + x: 0, + y: 0 + }; + this.scrollratio = { + x: 0, + y: 0 + }; + this.cursorheight = 20; + this.scrollvaluemax = 0; + + // http://dev.w3.org/csswg/css-writing-modes-3/#logical-to-physical + // http://dev.w3.org/csswg/css-writing-modes-3/#svg-writing-mode + if (this.opt.rtlmode == "auto") { + var target = this.win[0] == window ? this.body : this.win; + var writingMode = target.css("writing-mode") || target.css("-webkit-writing-mode") || target.css("-ms-writing-mode") || target.css("-moz-writing-mode"); + + if (writingMode == "horizontal-tb" || writingMode == "lr-tb" || writingMode == "") { + this.isrtlmode = (target.css("direction") == "rtl"); + this.isvertical = false; + } else { + this.isrtlmode = (writingMode == "vertical-rl" || writingMode == "tb" || writingMode == "tb-rl" || writingMode == "rl-tb"); + this.isvertical = (writingMode == "vertical-rl" || writingMode == "tb" || writingMode == "tb-rl"); + } + } else { + this.isrtlmode = (this.opt.rtlmode === true); + this.isvertical = false; + } + // this.checkrtlmode = false; + + this.scrollrunning = false; + + this.scrollmom = false; + + this.observer = false; // observer div changes + this.observerremover = false; // observer on parent for remove detection + this.observerbody = false; // observer on body for position change + + do { + this.id = "ascrail" + (ascrailcounter++); + } while (document.getElementById(this.id)); + + this.rail = false; + this.cursor = false; + this.cursorfreezed = false; + this.selectiondrag = false; + + this.zoom = false; + this.zoomactive = false; + + this.hasfocus = false; + this.hasmousefocus = false; + + this.visibility = true; + this.railslocked = false; // locked by resize + this.locked = false; // prevent lost of locked status sets by user + this.hidden = false; // rails always hidden + this.cursoractive = true; // user can interact with cursors + + this.wheelprevented = false; //prevent mousewheel event + + this.overflowx = self.opt.overflowx; + this.overflowy = self.opt.overflowy; + + this.nativescrollingarea = false; + this.checkarea = 0; + + this.events = []; // event list for unbind + + this.saved = {}; // style saved + + this.delaylist = {}; + this.synclist = {}; + + this.lastdeltax = 0; + this.lastdeltay = 0; + + this.detected = getBrowserDetection(); + + var cap = $.extend({}, this.detected); + + this.canhwscroll = (cap.hastransform && self.opt.hwacceleration); + this.ishwscroll = (this.canhwscroll && self.haswrapper); + + if (!this.isrtlmode) { + this.hasreversehr = false; + } else if (this.isvertical) { // RTL mode with reverse horizontal axis + this.hasreversehr = !(cap.iswebkit || cap.isie || cap.isie11); + } else { + this.hasreversehr = !(cap.iswebkit || (cap.isie && !cap.isie10 && !cap.isie11)); + } + + this.istouchcapable = false; // desktop devices with touch screen support + + //## Check WebKit-based desktop with touch support + //## + Firefox 18 nightly build (desktop) false positive (or desktop with touch support) + + if (!cap.cantouch && (cap.hasw3ctouch||cap.hasmstouch)) { // desktop device with multiple input + this.istouchcapable = true; + } else if (cap.cantouch && !cap.isios && !cap.isandroid && (cap.iswebkit || cap.ismozilla)) { + this.istouchcapable = true; +// cap.cantouch = false; // parse normal desktop events + } + + //## disable MouseLock API on user request + if (!self.opt.enablemouselockapi) { + cap.hasmousecapture = false; + cap.haspointerlock = false; + } + +/* deprecated + this.delayed = function(name, fn, tm, lazy) { + }; +*/ + +/* + this.debounced = function(name, fn, tm) { + if (!self) return; + var dd = self.delaylist[name]; + self.delaylist[name] = fn; + if (!dd) { + self.debouncedelayed = setTimeout(function() { + if (!self) return; + var fn = self.delaylist[name]; + self.delaylist[name] = false; + fn.call(self); + }, tm); + } + }; +*/ + + this.debounced = function(name, fn, tm) { + if (!self) return; + var dd = self.delaylist[name]||false; + if (!dd) { + fn.call(self); + self.delaylist[name] = { + h: setAnimationFrame(function(){ + self.delaylist[name].fn.call(self); + self.delaylist[name] = false; + }, tm) + }; + } + self.delaylist[name].fn = fn; + }; + + var _onsync = false; + + this.synched = function(name, fn) { + + function requestSync() { + if (_onsync) return; + setAnimationFrame(function() { + if (!self) return; + _onsync = false; + for (var nn in self.synclist) { + var fn = self.synclist[nn]; + if (fn) fn.call(self); + self.synclist[nn] = false; + } + }); + _onsync = true; + } + + self.synclist[name] = fn; + requestSync(); + return name; + }; + + this.unsynched = function(name) { + if (self.synclist[name]) self.synclist[name] = false; + }; + + this.css = function(el, pars) { // save & set + for (var n in pars) { + self.saved.css.push([el, n, el.css(n)]); + el.css(n, pars[n]); + } + }; + + this.scrollTop = function(val) { + return (val === undefined) ? self.getScrollTop() : self.setScrollTop(val); + }; + + this.scrollLeft = function(val) { + return (val === undefined) ? self.getScrollLeft() : self.setScrollLeft(val); + }; + + // derived by by Dan Pupius www.pupius.net + var BezierClass = function(st, ed, spd, p1, p2, p3, p4) { + + this.st = st; + this.ed = ed; + this.spd = spd; + + this.p1 = p1 || 0; + this.p2 = p2 || 1; + this.p3 = p3 || 0; + this.p4 = p4 || 1; + + this.ts = (new Date()).getTime(); + this.df = this.ed - this.st; + }; + BezierClass.prototype = { + B2: function(t) { + return 3 * t * t * (1 - t); + }, + B3: function(t) { + return 3 * t * (1 - t) * (1 - t); + }, + B4: function(t) { + return (1 - t) * (1 - t) * (1 - t); + }, + getNow: function() { + var nw = (new Date()).getTime(); + var pc = 1 - ((nw - this.ts) / this.spd); + var bz = this.B2(pc) + this.B3(pc) + this.B4(pc); + return (pc < 0) ? this.ed : this.st + Math.round(this.df * bz); + }, + update: function(ed, spd) { + this.st = this.getNow(); + this.ed = ed; + this.spd = spd; + this.ts = (new Date()).getTime(); + this.df = this.ed - this.st; + return this; + } + }; + + //derived from http://stackoverflow.com/questions/11236090/ + function getMatrixValues() { + var tr = self.doc.css(cap.trstyle); + if (tr && (tr.substr(0, 6) == "matrix")) { + return tr.replace(/^.*\((.*)\)$/g, "$1").replace(/px/g, '').split(/, +/); + } + return false; + } + + if (this.ishwscroll) { + // hw accelerated scroll + this.doc.translate = { + x: 0, + y: 0, + tx: "0px", + ty: "0px" + }; + + //this one can help to enable hw accel on ios6 http://indiegamr.com/ios6-html-hardware-acceleration-changes-and-how-to-fix-them/ + if (cap.hastranslate3d && cap.isios) this.doc.css("-webkit-backface-visibility", "hidden"); // prevent flickering http://stackoverflow.com/questions/3461441/ + + this.getScrollTop = function(last) { + if (!last) { + var mtx = getMatrixValues(); + if (mtx) return (mtx.length == 16) ? -mtx[13] : -mtx[5]; //matrix3d 16 on IE10 + if (self.timerscroll && self.timerscroll.bz) return self.timerscroll.bz.getNow(); + } + return self.doc.translate.y; + }; + + this.getScrollLeft = function(last) { + if (!last) { + var mtx = getMatrixValues(); + if (mtx) return (mtx.length == 16) ? -mtx[12] : -mtx[4]; //matrix3d 16 on IE10 + if (self.timerscroll && self.timerscroll.bh) return self.timerscroll.bh.getNow(); + } + return self.doc.translate.x; + }; + + this.notifyScrollEvent = function(el) { + var e = document.createEvent("UIEvents"); + e.initUIEvent("scroll", false, true, window, 1); + e.niceevent = true; + el.dispatchEvent(e); + }; + + var cxscrollleft = (this.isrtlmode) ? 1 : -1; + + if (cap.hastranslate3d && self.opt.enabletranslate3d) { + this.setScrollTop = function(val, silent) { + self.doc.translate.y = val; + self.doc.translate.ty = (val * -1) + "px"; + self.doc.css(cap.trstyle, "translate3d(" + self.doc.translate.tx + "," + self.doc.translate.ty + ",0px)"); + if (!silent) self.notifyScrollEvent(self.win[0]); + }; + this.setScrollLeft = function(val, silent) { + self.doc.translate.x = val; + self.doc.translate.tx = (val * cxscrollleft) + "px"; + self.doc.css(cap.trstyle, "translate3d(" + self.doc.translate.tx + "," + self.doc.translate.ty + ",0px)"); + if (!silent) self.notifyScrollEvent(self.win[0]); + }; + } else { + this.setScrollTop = function(val, silent) { + self.doc.translate.y = val; + self.doc.translate.ty = (val * -1) + "px"; + self.doc.css(cap.trstyle, "translate(" + self.doc.translate.tx + "," + self.doc.translate.ty + ")"); + if (!silent) self.notifyScrollEvent(self.win[0]); + }; + this.setScrollLeft = function(val, silent) { + self.doc.translate.x = val; + self.doc.translate.tx = (val * cxscrollleft) + "px"; + self.doc.css(cap.trstyle, "translate(" + self.doc.translate.tx + "," + self.doc.translate.ty + ")"); + if (!silent) self.notifyScrollEvent(self.win[0]); + }; + } + } else { + // native scroll + this.getScrollTop = function() { + return self.docscroll.scrollTop(); + }; + this.setScrollTop = function(val) { + return setTimeout(function() {(self)&&self.docscroll.scrollTop(val)}, 1); + }; + this.getScrollLeft = function() { + var val; + if (!self.hasreversehr) { + val = self.docscroll.scrollLeft(); + } else if (self.detected.ismozilla) { + val = self.page.maxw - Math.abs(self.docscroll.scrollLeft()); + } else { + val = self.page.maxw - self.docscroll.scrollLeft(); + } + return val; + }; + this.setScrollLeft = function(val) { + return setTimeout(function() { + if (!self) return; + if (self.hasreversehr) { + if (self.detected.ismozilla) { + val = -(self.page.maxw - val); + } else { + val = self.page.maxw - val; + } + } + return self.docscroll.scrollLeft(val); + }, 1); + }; + } + + this.getTarget = function(e) { + if (!e) return false; + if (e.target) return e.target; + if (e.srcElement) return e.srcElement; + return false; + }; + + this.hasParent = function(e, id) { + if (!e) return false; + var el = e.target || e.srcElement || e || false; + while (el && el.id != id) { + el = el.parentNode || false; + } + return (el !== false); + }; + + function getZIndex() { + var dom = self.win; + if ("zIndex" in dom) return dom.zIndex(); // use jQuery UI method when available + while (dom.length > 0) { + if (dom[0].nodeType == 9) return false; + var zi = dom.css('zIndex'); + if (!isNaN(zi) && zi != 0) return parseInt(zi); + dom = dom.parent(); + } + return false; + } + + //inspired by http://forum.jquery.com/topic/width-includes-border-width-when-set-to-thin-medium-thick-in-ie + var _convertBorderWidth = { + "thin": 1, + "medium": 3, + "thick": 5 + }; + + function getWidthToPixel(dom, prop, chkheight) { + var wd = dom.css(prop); + var px = parseFloat(wd); + if (isNaN(px)) { + px = _convertBorderWidth[wd] || 0; + var brd = (px == 3) ? ((chkheight) ? (self.win.outerHeight() - self.win.innerHeight()) : (self.win.outerWidth() - self.win.innerWidth())) : 1; //DON'T TRUST CSS + if (self.isie8 && px) px += 1; + return (brd) ? px : 0; + } + return px; + } + + this.getDocumentScrollOffset = function() { + return { + top: window.pageYOffset || document.documentElement.scrollTop, + left: window.pageXOffset || document.documentElement.scrollLeft + }; + }; + + this.getOffset = function() { + if (self.isfixed) { + var ofs = self.win.offset(); // fix Chrome auto issue (when right/bottom props only) + var scrl = self.getDocumentScrollOffset(); + ofs.top-=scrl.top; + ofs.left-=scrl.left; + return ofs; + } + var ww = self.win.offset(); + if (!self.viewport) return ww; + var vp = self.viewport.offset(); + return { + top: ww.top - vp.top,// + self.viewport.scrollTop(), + left: ww.left - vp.left // + self.viewport.scrollLeft() + }; + }; + + this.updateScrollBar = function(len) { + var pos, off; + if (self.ishwscroll) { + self.rail.css({ //** + height: self.win.innerHeight() - (self.opt.railpadding.top + self.opt.railpadding.bottom) + }); + if (self.railh) self.railh.css({ //** + width: self.win.innerWidth() - (self.opt.railpadding.left + self.opt.railpadding.right) + }); + + } else { + var wpos = self.getOffset(); + pos = { + top: wpos.top, + left: wpos.left - (self.opt.railpadding.left + self.opt.railpadding.right) + }; + pos.top += getWidthToPixel(self.win, 'border-top-width', true); + pos.left += (self.rail.align) ? self.win.outerWidth() - getWidthToPixel(self.win, 'border-right-width') - self.rail.width : getWidthToPixel(self.win, 'border-left-width'); + + off = self.opt.railoffset; + if (off) { + if (off.top) pos.top += off.top; + if (off.left) pos.left += off.left; + } + + if (!self.railslocked) self.rail.css({ + top: pos.top, + left: pos.left, + height: ((len) ? len.h : self.win.innerHeight()) - (self.opt.railpadding.top + self.opt.railpadding.bottom) + }); + + if (self.zoom) { + self.zoom.css({ + top: pos.top + 1, + left: (self.rail.align == 1) ? pos.left - 20 : pos.left + self.rail.width + 4 + }); + } + + if (self.railh && !self.railslocked) { + pos = { + top: wpos.top, + left: wpos.left + }; + off = self.opt.railhoffset; + if (off) { + if (off.top) pos.top += off.top; + if (off.left) pos.left += off.left; + } + var y = (self.railh.align) ? pos.top + getWidthToPixel(self.win, 'border-top-width', true) + self.win.innerHeight() - self.railh.height : pos.top + getWidthToPixel(self.win, 'border-top-width', true); + var x = pos.left + getWidthToPixel(self.win, 'border-left-width'); + self.railh.css({ + top: y - (self.opt.railpadding.top + self.opt.railpadding.bottom), + left: x, + width: self.railh.width + }); + } + + } + }; + + this.doRailClick = function(e, dbl, hr) { + var fn, pg, cur, pos; + + if (self.railslocked) return; + self.cancelEvent(e); + + if (dbl) { + fn = (hr) ? self.doScrollLeft : self.doScrollTop; + cur = (hr) ? ((e.pageX - self.railh.offset().left - (self.cursorwidth / 2)) * self.scrollratio.x) : ((e.pageY - self.rail.offset().top - (self.cursorheight / 2)) * self.scrollratio.y); + fn(cur); + } else { + fn = (hr) ? self.doScrollLeftBy : self.doScrollBy; + cur = (hr) ? self.scroll.x : self.scroll.y; + pos = (hr) ? e.pageX - self.railh.offset().left : e.pageY - self.rail.offset().top; + pg = (hr) ? self.view.w : self.view.h; + fn((cur >= pos) ? pg: -pg);// (cur >= pos) ? fn(pg): fn(-pg); + } + + }; + + self.hasanimationframe = (setAnimationFrame); + self.hascancelanimationframe = (clearAnimationFrame); + + if (!self.hasanimationframe) { + setAnimationFrame = function(fn) { + return setTimeout(fn, 15 - Math.floor((+new Date()) / 1000) % 16); + }; // 1000/60)}; + clearAnimationFrame = clearTimeout; + } else if (!self.hascancelanimationframe) clearAnimationFrame = function() { + self.cancelAnimationFrame = true; + }; + + this.init = function() { + + self.saved.css = []; + + if (cap.isie7mobile) return true; // SORRY, DO NOT WORK! + if (cap.isoperamini) return true; // SORRY, DO NOT WORK! + + var _touchaction = (cap.isie10) ? '-ms-touch-action' : 'touch-action'; + if (cap.hasmstouch) self.css((self.ispage) ? $("html") : self.win, { + _touchaction: 'none' + }); + + var _scrollyhidden = (cap.ismodernie||cap.isie10) ? {'-ms-overflow-style':'none'} : {'overflow-y':'hidden'}; // IE is always a world apart! + + self.zindex = "auto"; + if (!self.ispage && self.opt.zindex == "auto") { + self.zindex = getZIndex() || "auto"; + } else { + self.zindex = self.opt.zindex; + } + + if (!self.ispage && self.zindex != "auto" && self.zindex > globalmaxzindex) { + globalmaxzindex = self.zindex; + } + + if (self.isie && self.zindex == 0 && self.opt.zindex == "auto") { // fix IE auto == 0 + self.zindex = "auto"; + } + + if (!self.ispage || (!cap.cantouch && !cap.isieold && !cap.isie9mobile)) { + + var cont = self.docscroll; + if (self.ispage) cont = (self.haswrapper) ? self.win : self.doc; + + if (!cap.isie9mobile) self.css(cont, _scrollyhidden); + + if (self.ispage && cap.isie7) { + if (self.doc[0].nodeName == 'BODY') self.css($("html"), { + 'overflow-y': 'hidden' + }); //IE7 double scrollbar issue + else if (self.doc[0].nodeName == 'HTML') self.css($("body"), _scrollyhidden); //IE7 double scrollbar issue + } + + if (cap.isios && !self.ispage && !self.haswrapper) self.css($("body"), { + "-webkit-overflow-scrolling": "touch" + }); //force hw acceleration + + var cursor = $(document.createElement('div')); + cursor.css({ + position: "relative", + top: 0, + "float": "right", + width: self.opt.cursorwidth, + height: 0, + 'background-color': self.opt.cursorcolor, + border: self.opt.cursorborder, + 'background-clip': 'padding-box', + '-webkit-border-radius': self.opt.cursorborderradius, + '-moz-border-radius': self.opt.cursorborderradius, + 'border-radius': self.opt.cursorborderradius + }); + + cursor.hborder = parseFloat(cursor.outerHeight() - cursor.innerHeight()); + + cursor.addClass('nicescroll-cursors'); + + self.cursor = cursor; + + var rail = $(document.createElement('div')); + rail.attr('id', self.id); + rail.addClass('nicescroll-rails nicescroll-rails-vr'); + + var v, a, kp = ["left","right","top","bottom"]; //** + for (var n in kp) { + a = kp[n]; + v = self.opt.railpadding[a]; + (v) ? rail.css("padding-"+a,v+"px") : self.opt.railpadding[a] = 0; + } + + rail.append(cursor); + + rail.width = Math.max(parseFloat(self.opt.cursorwidth), cursor.outerWidth()); + rail.css({ + width: rail.width + "px", + zIndex: self.zindex, + background: self.opt.background, + cursor: "default" + }); + + rail.visibility = true; + rail.scrollable = true; + + rail.align = (self.opt.railalign == "left") ? 0 : 1; + + self.rail = rail; + + self.rail.drag = false; + + var zoom = false; + if (self.opt.boxzoom && !self.ispage && !cap.isieold) { + zoom = document.createElement('div'); + + self.bind(zoom, "click", self.doZoom); + self.bind(zoom, "mouseenter", function() { + self.zoom.css('opacity', self.opt.cursoropacitymax); + }); + self.bind(zoom, "mouseleave", function() { + self.zoom.css('opacity', self.opt.cursoropacitymin); + }); + + self.zoom = $(zoom); + self.zoom.css({ + cursor: "pointer", + zIndex: self.zindex, + backgroundImage: 'url(' + self.opt.scriptpath + 'zoomico.png)', + height: 18, + width: 18, + backgroundPosition: '0px 0px' + }); + if (self.opt.dblclickzoom) self.bind(self.win, "dblclick", self.doZoom); + if (cap.cantouch && self.opt.gesturezoom) { + self.ongesturezoom = function(e) { + if (e.scale > 1.5) self.doZoomIn(e); + if (e.scale < 0.8) self.doZoomOut(e); + return self.cancelEvent(e); + }; + self.bind(self.win, "gestureend", self.ongesturezoom); + } + } + + // init HORIZ + + self.railh = false; + var railh; + + if (self.opt.horizrailenabled) { + + self.css(cont, { + overflowX: 'hidden' + }); + + var cursor = $(document.createElement('div')); + cursor.css({ + position: "absolute", + top: 0, + height: self.opt.cursorwidth, + width: 0, + backgroundColor: self.opt.cursorcolor, + border: self.opt.cursorborder, + backgroundClip: 'padding-box', + '-webkit-border-radius': self.opt.cursorborderradius, + '-moz-border-radius': self.opt.cursorborderradius, + 'border-radius': self.opt.cursorborderradius + }); + + if (cap.isieold) cursor.css('overflow', 'hidden'); //IE6 horiz scrollbar issue + + cursor.wborder = parseFloat(cursor.outerWidth() - cursor.innerWidth()); + + cursor.addClass('nicescroll-cursors'); + + self.cursorh = cursor; + + railh = $(document.createElement('div')); + railh.attr('id', self.id + '-hr'); + railh.addClass('nicescroll-rails nicescroll-rails-hr'); + railh.height = Math.max(parseFloat(self.opt.cursorwidth), cursor.outerHeight()); + railh.css({ + height: railh.height + "px", + 'zIndex': self.zindex, + "background": self.opt.background + }); + + railh.append(cursor); + + railh.visibility = true; + railh.scrollable = true; + + railh.align = (self.opt.railvalign == "top") ? 0 : 1; + + self.railh = railh; + + self.railh.drag = false; + + } + + // + + if (self.ispage) { + rail.css({ + position: "fixed", + top: 0, + height: "100%" + }); + (rail.align) ? rail.css({ + right: 0 + }): rail.css({ + left: 0 + }); + self.body.append(rail); + if (self.railh) { + railh.css({ + position: "fixed", + left: 0, + width: "100%" + }); + (railh.align) ? railh.css({ + bottom: 0 + }): railh.css({ + top: 0 + }); + self.body.append(railh); + } + } else { + if (self.ishwscroll) { + if (self.win.css('position') == 'static') self.css(self.win, { + 'position': 'relative' + }); + var bd = (self.win[0].nodeName == 'HTML') ? self.body : self.win; + $(bd).scrollTop(0).scrollLeft(0); // fix rail position if content already scrolled + if (self.zoom) { + self.zoom.css({ + position: "absolute", + top: 1, + right: 0, + "margin-right": rail.width + 4 + }); + bd.append(self.zoom); + } + rail.css({ + position: "absolute", + top: 0 + }); + (rail.align) ? rail.css({ + right: 0 + }): rail.css({ + left: 0 + }); + bd.append(rail); + if (railh) { + railh.css({ + position: "absolute", + left: 0, + bottom: 0 + }); + (railh.align) ? railh.css({ + bottom: 0 + }): railh.css({ + top: 0 + }); + bd.append(railh); + } + } else { + self.isfixed = (self.win.css("position") == "fixed"); + var rlpos = (self.isfixed) ? "fixed" : "absolute"; + + if (!self.isfixed) self.viewport = self.getViewport(self.win[0]); + if (self.viewport) { + self.body = self.viewport; + if ((/fixed|absolute/.test(self.viewport.css("position"))) == false) self.css(self.viewport, { + "position": "relative" + }); + } + + rail.css({ + position: rlpos + }); + if (self.zoom) self.zoom.css({ + position: rlpos + }); + self.updateScrollBar(); + self.body.append(rail); + if (self.zoom) self.body.append(self.zoom); + if (self.railh) { + railh.css({ + position: rlpos + }); + self.body.append(railh); + } + } + + if (cap.isios) self.css(self.win, { + '-webkit-tap-highlight-color': 'rgba(0,0,0,0)', + '-webkit-touch-callout': 'none' + }); // prevent grey layer on click + + if (cap.isie && self.opt.disableoutline) self.win.attr("hideFocus", "true"); // IE, prevent dotted rectangle on focused div + if (cap.iswebkit && self.opt.disableoutline) self.win.css('outline', 'none'); // Webkit outline + //if (cap.isopera&&self.opt.disableoutline) self.win.css({"outline":"0"}); // Opera 12- to test [TODO] + + } + + if (self.opt.autohidemode === false) { + self.autohidedom = false; + self.rail.css({ + opacity: self.opt.cursoropacitymax + }); + if (self.railh) self.railh.css({ + opacity: self.opt.cursoropacitymax + }); + } else if ((self.opt.autohidemode === true) || (self.opt.autohidemode === "leave")) { + self.autohidedom = $().add(self.rail); + if (cap.isie8) self.autohidedom = self.autohidedom.add(self.cursor); + if (self.railh) self.autohidedom = self.autohidedom.add(self.railh); + if (self.railh && cap.isie8) self.autohidedom = self.autohidedom.add(self.cursorh); + } else if (self.opt.autohidemode == "scroll") { + self.autohidedom = $().add(self.rail); + if (self.railh) self.autohidedom = self.autohidedom.add(self.railh); + } else if (self.opt.autohidemode == "cursor") { + self.autohidedom = $().add(self.cursor); + if (self.railh) self.autohidedom = self.autohidedom.add(self.cursorh); + } else if (self.opt.autohidemode == "hidden") { + self.autohidedom = false; + self.hide(); + self.railslocked = false; + } + + if (cap.isie9mobile) { + + self.scrollmom = new ScrollMomentumClass2D(self); + + self.onmangotouch = function() { + var py = self.getScrollTop(); + var px = self.getScrollLeft(); + + if ((py == self.scrollmom.lastscrolly) && (px == self.scrollmom.lastscrollx)) return true; + + var dfy = py - self.mangotouch.sy; + var dfx = px - self.mangotouch.sx; + var df = Math.round(Math.sqrt(Math.pow(dfx, 2) + Math.pow(dfy, 2))); + if (df == 0) return; + + var dry = (dfy < 0) ? -1 : 1; + var drx = (dfx < 0) ? -1 : 1; + + var tm = +new Date(); + if (self.mangotouch.lazy) clearTimeout(self.mangotouch.lazy); + + if (((tm - self.mangotouch.tm) > 80) || (self.mangotouch.dry != dry) || (self.mangotouch.drx != drx)) { + self.scrollmom.stop(); + self.scrollmom.reset(px, py); + self.mangotouch.sy = py; + self.mangotouch.ly = py; + self.mangotouch.sx = px; + self.mangotouch.lx = px; + self.mangotouch.dry = dry; + self.mangotouch.drx = drx; + self.mangotouch.tm = tm; + } else { + + self.scrollmom.stop(); + self.scrollmom.update(self.mangotouch.sx - dfx, self.mangotouch.sy - dfy); + self.mangotouch.tm = tm; + + var ds = Math.max(Math.abs(self.mangotouch.ly - py), Math.abs(self.mangotouch.lx - px)); + self.mangotouch.ly = py; + self.mangotouch.lx = px; + + if (ds > 2) { + self.mangotouch.lazy = setTimeout(function() { + self.mangotouch.lazy = false; + self.mangotouch.dry = 0; + self.mangotouch.drx = 0; + self.mangotouch.tm = 0; + self.scrollmom.doMomentum(30); + }, 100); + } + } + }; + + var top = self.getScrollTop(); + var lef = self.getScrollLeft(); + self.mangotouch = { + sy: top, + ly: top, + dry: 0, + sx: lef, + lx: lef, + drx: 0, + lazy: false, + tm: 0 + }; + + self.bind(self.docscroll, "scroll", self.onmangotouch); + + } else { + + if (cap.cantouch || self.istouchcapable || self.opt.touchbehavior || cap.hasmstouch) { + + self.scrollmom = new ScrollMomentumClass2D(self); + + self.ontouchstart = function(e) { + if (e.pointerType && e.pointerType != 2 && e.pointerType != "touch") return false; + + self.hasmoving = false; + + if (!self.railslocked) { + var tg; + if (cap.hasmstouch) { + tg = (e.target) ? e.target : false; + while (tg) { + var nc = $(tg).getNiceScroll(); + if ((nc.length > 0) && (nc[0].me == self.me)) break; + if (nc.length > 0) return false; + if ((tg.nodeName == 'DIV') && (tg.id == self.id)) break; + tg = (tg.parentNode) ? tg.parentNode : false; + } + } + + self.cancelScroll(); + + tg = self.getTarget(e); + + if (tg) { + var skp = (/INPUT/i.test(tg.nodeName)) && (/range/i.test(tg.type)); + if (skp) return self.stopPropagation(e); + } + + if (!("clientX" in e) && ("changedTouches" in e)) { + e.clientX = e.changedTouches[0].clientX; + e.clientY = e.changedTouches[0].clientY; + } + + if (self.forcescreen) { + var le = e; + e = { + "original": (e.original) ? e.original : e + }; + e.clientX = le.screenX; + e.clientY = le.screenY; + } + + self.rail.drag = { + x: e.clientX, + y: e.clientY, + sx: self.scroll.x, + sy: self.scroll.y, + st: self.getScrollTop(), + sl: self.getScrollLeft(), + pt: 2, + dl: false + }; + + if (self.ispage || !self.opt.directionlockdeadzone) { + self.rail.drag.dl = "f"; + } else { + + var view = { + w: $(window).width(), + h: $(window).height() + }; + + var page = { + w: Math.max(document.body.scrollWidth, document.documentElement.scrollWidth), + h: Math.max(document.body.scrollHeight, document.documentElement.scrollHeight) + }; + + var maxh = Math.max(0, page.h - view.h); + var maxw = Math.max(0, page.w - view.w); + + if (!self.rail.scrollable && self.railh.scrollable) self.rail.drag.ck = (maxh > 0) ? "v" : false; + else if (self.rail.scrollable && !self.railh.scrollable) self.rail.drag.ck = (maxw > 0) ? "h" : false; + else self.rail.drag.ck = false; + if (!self.rail.drag.ck) self.rail.drag.dl = "f"; + } + + if (self.opt.touchbehavior && self.isiframe && cap.isie) { + var wp = self.win.position(); + self.rail.drag.x += wp.left; + self.rail.drag.y += wp.top; + } + + self.hasmoving = false; + self.lastmouseup = false; + self.scrollmom.reset(e.clientX, e.clientY); + + if (!cap.cantouch && !this.istouchcapable && !e.pointerType) { + + var ip = (tg) ? /INPUT|SELECT|TEXTAREA/i.test(tg.nodeName) : false; + if (!ip) { + if (!self.ispage && cap.hasmousecapture) tg.setCapture(); + if (self.opt.touchbehavior) { + if (tg.onclick && !(tg._onclick || false)) { // intercept DOM0 onclick event + tg._onclick = tg.onclick; + tg.onclick = function(e) { + if (self.hasmoving) return false; + tg._onclick.call(this, e); + }; + } + return self.cancelEvent(e); + } + return self.stopPropagation(e); + } + + if (/SUBMIT|CANCEL|BUTTON/i.test($(tg).attr('type'))) { + pc = { + "tg": tg, + "click": false + }; + self.preventclick = pc; + } + + } + } + + }; + + self.ontouchend = function(e) { + if (!self.rail.drag) return true; + if (self.rail.drag.pt == 2) { + if (e.pointerType && e.pointerType != 2 && e.pointerType != "touch") return false; + + self.scrollmom.doMomentum(); + self.rail.drag = false; + if (self.hasmoving) { + self.lastmouseup = true; + self.hideCursor(); + if (cap.hasmousecapture) document.releaseCapture(); + if (!cap.cantouch) return self.cancelEvent(e); + } + } + else if (self.rail.drag.pt == 1) { + return self.onmouseup(e); + } + + }; + + var moveneedoffset = (self.opt.touchbehavior && self.isiframe && !cap.hasmousecapture); + + self.ontouchmove = function(e, byiframe) { + + if (!self.rail.drag) return false; + + if (e.targetTouches && self.opt.preventmultitouchscrolling) { + if (e.targetTouches.length > 1) return false; // multitouch + } + + if (e.pointerType && e.pointerType != 2 && e.pointerType != "touch") return false; + + if (self.rail.drag.pt == 2) { + if (cap.cantouch && (cap.isios) && e.original === undefined) return true; // prevent ios "ghost" events by clickable elements + + self.hasmoving = true; + + if (self.preventclick && !self.preventclick.click) { + self.preventclick.click = self.preventclick.tg.onclick || false; + self.preventclick.tg.onclick = self.onpreventclick; + } + + var ev = $.extend({ + "original": e + }, e); + e = ev; + + if (("changedTouches" in e)) { + e.clientX = e.changedTouches[0].clientX; + e.clientY = e.changedTouches[0].clientY; + } + + if (self.forcescreen) { + var le = e; + e = { + "original": (e.original) ? e.original : e + }; + e.clientX = le.screenX; + e.clientY = le.screenY; + } + + var ofy,ofx; + ofx = ofy = 0; + + if (moveneedoffset && !byiframe) { + var wp = self.win.position(); + ofx = -wp.left; + ofy = -wp.top; + } + + var fy = e.clientY + ofy; + var my = (fy - self.rail.drag.y); + var fx = e.clientX + ofx; + var mx = (fx - self.rail.drag.x); + + var ny = self.rail.drag.st - my; + + if (self.ishwscroll && self.opt.bouncescroll) { + if (ny < 0) { + ny = Math.round(ny / 2); + // fy = 0; + } else if (ny > self.page.maxh) { + ny = self.page.maxh + Math.round((ny - self.page.maxh) / 2); + // fy = 0; + } + } else { + if (ny < 0) { + ny = 0; + fy = 0; + } + if (ny > self.page.maxh) { + ny = self.page.maxh; + fy = 0; + } + } + + var nx; + if (self.railh && self.railh.scrollable) { + nx = (self.isrtlmode) ? mx - self.rail.drag.sl : self.rail.drag.sl - mx; + + if (self.ishwscroll && self.opt.bouncescroll) { + if (nx < 0) { + nx = Math.round(nx / 2); + // fx = 0; + } else if (nx > self.page.maxw) { + nx = self.page.maxw + Math.round((nx - self.page.maxw) / 2); + // fx = 0; + } + } else { + if (nx < 0) { + nx = 0; + fx = 0; + } + if (nx > self.page.maxw) { + nx = self.page.maxw; + fx = 0; + } + } + + } + + var grabbed = false; + if (self.rail.drag.dl) { + grabbed = true; + if (self.rail.drag.dl == "v") nx = self.rail.drag.sl; + else if (self.rail.drag.dl == "h") ny = self.rail.drag.st; + } else { + var ay = Math.abs(my); + var ax = Math.abs(mx); + var dz = self.opt.directionlockdeadzone; + if (self.rail.drag.ck == "v") { + if (ay > dz && (ax <= (ay * 0.3))) { + self.rail.drag = false; + return true; + } else if (ax > dz) { + self.rail.drag.dl = "f"; + $("body").scrollTop($("body").scrollTop()); // stop iOS native scrolling (when active javascript has blocked) + } + } else if (self.rail.drag.ck == "h") { + if (ax > dz && (ay <= (ax * 0.3))) { + self.rail.drag = false; + return true; + } else if (ay > dz) { + self.rail.drag.dl = "f"; + $("body").scrollLeft($("body").scrollLeft()); // stop iOS native scrolling (when active javascript has blocked) + } + } + } + + self.synched("touchmove", function() { + if (self.rail.drag && (self.rail.drag.pt == 2)) { + if (self.prepareTransition) self.prepareTransition(0); + if (self.rail.scrollable) self.setScrollTop(ny); + self.scrollmom.update(fx, fy); + if (self.railh && self.railh.scrollable) { + self.setScrollLeft(nx); + self.showCursor(ny, nx); + } else { + self.showCursor(ny); + } + if (cap.isie10) document.selection.clear(); + } + }); + + if (cap.ischrome && self.istouchcapable) grabbed = false; //chrome touch emulation doesn't like! + if (grabbed) return self.cancelEvent(e); + } + else if (self.rail.drag.pt == 1) { // drag on cursor + return self.onmousemove(e); + } + + }; + + } + + self.onmousedown = function(e, hronly) { + if (self.rail.drag && self.rail.drag.pt != 1) return; + if (self.railslocked) return self.cancelEvent(e); + self.cancelScroll(); + self.rail.drag = { + x: e.clientX, + y: e.clientY, + sx: self.scroll.x, + sy: self.scroll.y, + pt: 1, + hr: (!!hronly) + }; + var tg = self.getTarget(e); + if (!self.ispage && cap.hasmousecapture) tg.setCapture(); + if (self.isiframe && !cap.hasmousecapture) { + self.saved.csspointerevents = self.doc.css("pointer-events"); + self.css(self.doc, { + "pointer-events": "none" + }); + } + self.hasmoving = false; + return self.cancelEvent(e); + }; + + self.onmouseup = function(e) { + if (self.rail.drag) { + if (self.rail.drag.pt != 1) return true; + + if (cap.hasmousecapture) document.releaseCapture(); + if (self.isiframe && !cap.hasmousecapture) self.doc.css("pointer-events", self.saved.csspointerevents); + self.rail.drag = false; + //if (!self.rail.active) self.hideCursor(); + if (self.hasmoving) self.triggerScrollEnd(); // TODO - check &&!self.scrollrunning + return self.cancelEvent(e); + } + }; + + self.onmousemove = function(e) { + if (self.rail.drag) { + if (self.rail.drag.pt != 1) return; + + if (cap.ischrome && e.which == 0) return self.onmouseup(e); + + self.cursorfreezed = true; + self.hasmoving = true; + + if (self.rail.drag.hr) { + self.scroll.x = self.rail.drag.sx + (e.clientX - self.rail.drag.x); + if (self.scroll.x < 0) self.scroll.x = 0; + var mw = self.scrollvaluemaxw; + if (self.scroll.x > mw) self.scroll.x = mw; + } else { + self.scroll.y = self.rail.drag.sy + (e.clientY - self.rail.drag.y); + if (self.scroll.y < 0) self.scroll.y = 0; + var my = self.scrollvaluemax; + if (self.scroll.y > my) self.scroll.y = my; + } + + self.synched('mousemove', function() { + if (self.rail.drag && (self.rail.drag.pt == 1)) { + self.showCursor(); + if (self.rail.drag.hr) { + if (self.hasreversehr) { + self.doScrollLeft(self.scrollvaluemaxw-Math.round(self.scroll.x * self.scrollratio.x), self.opt.cursordragspeed); + } else { + self.doScrollLeft(Math.round(self.scroll.x * self.scrollratio.x), self.opt.cursordragspeed); + } + } + else self.doScrollTop(Math.round(self.scroll.y * self.scrollratio.y), self.opt.cursordragspeed); + } + }); + + return self.cancelEvent(e); + } + else { + self.checkarea = 0; + } + }; + + if (cap.cantouch || self.opt.touchbehavior) { + + self.onpreventclick = function(e) { + if (self.preventclick) { + self.preventclick.tg.onclick = self.preventclick.click; + self.preventclick = false; + return self.cancelEvent(e); + } + }; + + self.bind(self.win, "mousedown", self.ontouchstart); // control content dragging + + self.onclick = (cap.isios) ? false : function(e) { // it needs to check IE11 ??? + if (self.lastmouseup) { + self.lastmouseup = false; + return self.cancelEvent(e); + } else { + return true; + } + }; + + if (self.opt.grabcursorenabled && cap.cursorgrabvalue) { + self.css((self.ispage) ? self.doc : self.win, { + 'cursor': cap.cursorgrabvalue + }); + self.css(self.rail, { + 'cursor': cap.cursorgrabvalue + }); + } + + } else { + + var checkSelectionScroll = function(e) { + if (!self.selectiondrag) return; + + if (e) { + var ww = self.win.outerHeight(); + var df = (e.pageY - self.selectiondrag.top); + if (df > 0 && df < ww) df = 0; + if (df >= ww) df -= ww; + self.selectiondrag.df = df; + } + if (self.selectiondrag.df == 0) return; + + var rt = -Math.floor(self.selectiondrag.df / 6) * 2; + self.doScrollBy(rt); + + self.debounced("doselectionscroll", function() { + checkSelectionScroll(); + }, 50); + }; + + if ("getSelection" in document) { // A grade - Major browsers + self.hasTextSelected = function() { + return (document.getSelection().rangeCount > 0); + }; + } else if ("selection" in document) { //IE9- + self.hasTextSelected = function() { + return (document.selection.type != "None"); + }; + } else { + self.hasTextSelected = function() { // no support + return false; + }; + } + + self.onselectionstart = function(e) { +/* More testing - severe chrome issues + if (!self.haswrapper&&(e.which&&e.which==2)) { // fool browser to manage middle button scrolling + self.win.css({'overflow':'auto'}); + setTimeout(function(){ + self.win.css({'overflow':''}); + },10); + return true; + } +*/ + if (self.ispage) return; + self.selectiondrag = self.win.offset(); + }; + + self.onselectionend = function(e) { + self.selectiondrag = false; + }; + self.onselectiondrag = function(e) { + if (!self.selectiondrag) return; + if (self.hasTextSelected()) self.debounced("selectionscroll", function() { + checkSelectionScroll(e); + }, 250); + }; + + + } + + if (cap.hasw3ctouch) { //IE11+ + self.css(self.rail, { + 'touch-action': 'none' + }); + self.css(self.cursor, { + 'touch-action': 'none' + }); + self.bind(self.win, "pointerdown", self.ontouchstart); + self.bind(document, "pointerup", self.ontouchend); + self.bind(document, "pointermove", self.ontouchmove); + } else if (cap.hasmstouch) { //IE10 + self.css(self.rail, { + '-ms-touch-action': 'none' + }); + self.css(self.cursor, { + '-ms-touch-action': 'none' + }); + self.bind(self.win, "MSPointerDown", self.ontouchstart); + self.bind(document, "MSPointerUp", self.ontouchend); + self.bind(document, "MSPointerMove", self.ontouchmove); + self.bind(self.cursor, "MSGestureHold", function(e) { + e.preventDefault(); + }); + self.bind(self.cursor, "contextmenu", function(e) { + e.preventDefault(); + }); + } else if (this.istouchcapable) { //desktop with screen touch enabled + self.bind(self.win, "touchstart", self.ontouchstart); + self.bind(document, "touchend", self.ontouchend); + self.bind(document, "touchcancel", self.ontouchend); + self.bind(document, "touchmove", self.ontouchmove); + } + + + if (self.opt.cursordragontouch || (!cap.cantouch && !self.opt.touchbehavior)) { + + self.rail.css({ + cursor: "default" + }); + self.railh && self.railh.css({ + cursor: "default" + }); + + self.jqbind(self.rail, "mouseenter", function() { + if (!self.ispage && !self.win.is(":visible")) return false; + if (self.canshowonmouseevent) self.showCursor(); + self.rail.active = true; + }); + self.jqbind(self.rail, "mouseleave", function() { + self.rail.active = false; + if (!self.rail.drag) self.hideCursor(); + }); + + if (self.opt.sensitiverail) { + self.bind(self.rail, "click", function(e) { + self.doRailClick(e, false, false); + }); + self.bind(self.rail, "dblclick", function(e) { + self.doRailClick(e, true, false); + }); + self.bind(self.cursor, "click", function(e) { + self.cancelEvent(e); + }); + self.bind(self.cursor, "dblclick", function(e) { + self.cancelEvent(e); + }); + } + + if (self.railh) { + self.jqbind(self.railh, "mouseenter", function() { + if (!self.ispage && !self.win.is(":visible")) return false; + if (self.canshowonmouseevent) self.showCursor(); + self.rail.active = true; + }); + self.jqbind(self.railh, "mouseleave", function() { + self.rail.active = false; + if (!self.rail.drag) self.hideCursor(); + }); + + if (self.opt.sensitiverail) { + self.bind(self.railh, "click", function(e) { + self.doRailClick(e, false, true); + }); + self.bind(self.railh, "dblclick", function(e) { + self.doRailClick(e, true, true); + }); + self.bind(self.cursorh, "click", function(e) { + self.cancelEvent(e); + }); + self.bind(self.cursorh, "dblclick", function(e) { + self.cancelEvent(e); + }); + } + + } + + } + + if (!cap.cantouch && !self.opt.touchbehavior) { + + self.bind((cap.hasmousecapture) ? self.win : document, "mouseup", self.onmouseup); + self.bind(document, "mousemove", self.onmousemove); + if (self.onclick) self.bind(document, "click", self.onclick); + + self.bind(self.cursor, "mousedown", self.onmousedown); + self.bind(self.cursor, "mouseup", self.onmouseup); + + if (self.railh) { + self.bind(self.cursorh, "mousedown", function(e) { + self.onmousedown(e, true); + }); + self.bind(self.cursorh, "mouseup", self.onmouseup); + } + + if (!self.ispage && self.opt.enablescrollonselection) { + self.bind(self.win[0], "mousedown", self.onselectionstart); + self.bind(document, "mouseup", self.onselectionend); + self.bind(self.cursor, "mouseup", self.onselectionend); + if (self.cursorh) self.bind(self.cursorh, "mouseup", self.onselectionend); + self.bind(document, "mousemove", self.onselectiondrag); + } + + if (self.zoom) { + self.jqbind(self.zoom, "mouseenter", function() { + if (self.canshowonmouseevent) self.showCursor(); + self.rail.active = true; + }); + self.jqbind(self.zoom, "mouseleave", function() { + self.rail.active = false; + if (!self.rail.drag) self.hideCursor(); + }); + } + + } else { + + self.bind((cap.hasmousecapture) ? self.win : document, "mouseup", self.ontouchend); + self.bind(document, "mousemove", self.ontouchmove); + if (self.onclick) self.bind(document, "click", self.onclick); + + if (self.opt.cursordragontouch) { + self.bind(self.cursor, "mousedown", self.onmousedown); + self.bind(self.cursor, "mouseup", self.onmouseup); + //self.bind(self.cursor, "mousemove", self.onmousemove); + self.cursorh && self.bind(self.cursorh, "mousedown", function(e) { + self.onmousedown(e, true); + }); + //self.cursorh && self.bind(self.cursorh, "mousemove", self.onmousemove); + self.cursorh && self.bind(self.cursorh, "mouseup", self.onmouseup); + } else { + self.bind(self.rail, "mousedown", function(e){e.preventDefault();}); // prevent text selection + self.railh&&self.bind(self.railh, "mousedown", function(e){e.preventDefault();}); + } + + } + + + if (self.opt.enablemousewheel) { + if (!self.isiframe) self.mousewheel((cap.isie && self.ispage) ? document : self.win , self.onmousewheel); + self.mousewheel(self.rail, self.onmousewheel); + if (self.railh) self.mousewheel(self.railh, self.onmousewheelhr); + } + + if (!self.ispage && !cap.cantouch && !(/HTML|^BODY/.test(self.win[0].nodeName))) { + if (!self.win.attr("tabindex")) self.win.attr({ + "tabindex": tabindexcounter++ + }); + + self.jqbind(self.win, "focus", function(e) { + domfocus = (self.getTarget(e)).id || true; + self.hasfocus = true; + if (self.canshowonmouseevent) self.noticeCursor(); + }); + self.jqbind(self.win, "blur", function(e) { + domfocus = false; + self.hasfocus = false; + }); + + self.jqbind(self.win, "mouseenter", function(e) { + mousefocus = (self.getTarget(e)).id || true; + self.hasmousefocus = true; + if (self.canshowonmouseevent) self.noticeCursor(); + }); + self.jqbind(self.win, "mouseleave", function() { + mousefocus = false; + self.hasmousefocus = false; + if (!self.rail.drag) self.hideCursor(); + }); + + } + + } // !ie9mobile + + //Thanks to http://www.quirksmode.org !! + self.onkeypress = function(e) { + if (self.railslocked && self.page.maxh == 0) return true; + + e = (e) ? e : window.e; + var tg = self.getTarget(e); + if (tg && /INPUT|TEXTAREA|SELECT|OPTION/.test(tg.nodeName)) { + var tp = tg.getAttribute('type') || tg.type || false; + if ((!tp) || !(/submit|button|cancel/i.tp)) return true; + } + + if ($(tg).attr('contenteditable')) return true; + + if (self.hasfocus || (self.hasmousefocus && !domfocus) || (self.ispage && !domfocus && !mousefocus)) { + var key = e.keyCode; + + if (self.railslocked && key != 27) return self.cancelEvent(e); + + var ctrl = e.ctrlKey || false; + var shift = e.shiftKey || false; + + var ret = false; + switch (key) { + case 38: + case 63233: //safari + self.doScrollBy(24 * 3); + ret = true; + break; + case 40: + case 63235: //safari + self.doScrollBy(-24 * 3); + ret = true; + break; + case 37: + case 63232: //safari + if (self.railh) { + (ctrl) ? self.doScrollLeft(0): self.doScrollLeftBy(24 * 3); + ret = true; + } + break; + case 39: + case 63234: //safari + if (self.railh) { + (ctrl) ? self.doScrollLeft(self.page.maxw): self.doScrollLeftBy(-24 * 3); + ret = true; + } + break; + case 33: + case 63276: // safari + self.doScrollBy(self.view.h); + ret = true; + break; + case 34: + case 63277: // safari + self.doScrollBy(-self.view.h); + ret = true; + break; + case 36: + case 63273: // safari + (self.railh && ctrl) ? self.doScrollPos(0, 0): self.doScrollTo(0); + ret = true; + break; + case 35: + case 63275: // safari + (self.railh && ctrl) ? self.doScrollPos(self.page.maxw, self.page.maxh): self.doScrollTo(self.page.maxh); + ret = true; + break; + case 32: + if (self.opt.spacebarenabled) { + (shift) ? self.doScrollBy(self.view.h): self.doScrollBy(-self.view.h); + ret = true; + } + break; + case 27: // ESC + if (self.zoomactive) { + self.doZoom(); + ret = true; + } + break; + } + if (ret) return self.cancelEvent(e); + } + }; + + if (self.opt.enablekeyboard) self.bind(document, (cap.isopera && !cap.isopera12) ? "keypress" : "keydown", self.onkeypress); + + self.bind(document, "keydown", function(e) { + var ctrl = e.ctrlKey || false; + if (ctrl) self.wheelprevented = true; + }); + self.bind(document, "keyup", function(e) { + var ctrl = e.ctrlKey || false; + if (!ctrl) self.wheelprevented = false; + }); + self.bind(window,"blur",function(e){ + self.wheelprevented = false; + }); + + self.bind(window, 'resize', self.lazyResize); + self.bind(window, 'orientationchange', self.lazyResize); + + self.bind(window, "load", self.lazyResize); + + if (cap.ischrome && !self.ispage && !self.haswrapper) { //chrome void scrollbar bug - it persists in version 26 + var tmp = self.win.attr("style"); + var ww = parseFloat(self.win.css("width")) + 1; + self.win.css('width', ww); + self.synched("chromefix", function() { + self.win.attr("style", tmp); + }); + } + + + // Trying a cross-browser implementation - good luck! + + self.onAttributeChange = function(e) { + self.lazyResize(self.isieold ? 250 : 30); + }; + + if ((!self.isie11) && (ClsMutationObserver !== false)) { // IE11 crashes #568 + self.observerbody = new ClsMutationObserver(function(mutations) { + mutations.forEach(function(mut){ + if (mut.type=="attributes") { + return ($("body").hasClass("modal-open") && $("body").hasClass("modal-dialog") && !$.contains($('.modal-dialog')[0],self.doc[0])) ? self.hide() : self.show(); // Support for Bootstrap modal; Added check if the nice scroll element is inside a modal + } + }); + if (document.body.scrollHeight!=self.page.maxh) return self.lazyResize(30); + }); + self.observerbody.observe(document.body, { + childList: true, + subtree: true, + characterData: false, + attributes: true, + attributeFilter: ['class'] + }); + } + + if (!self.ispage && !self.haswrapper) { + // redesigned MutationObserver for Chrome18+/Firefox14+/iOS6+ with support for: remove div, add/remove content + if (ClsMutationObserver !== false) { + self.observer = new ClsMutationObserver(function(mutations) { + mutations.forEach(self.onAttributeChange); + }); + self.observer.observe(self.win[0], { + childList: true, + characterData: false, + attributes: true, + subtree: false + }); + self.observerremover = new ClsMutationObserver(function(mutations) { + mutations.forEach(function(mo) { + if (mo.removedNodes.length > 0) { + for (var dd in mo.removedNodes) { + if (!!self && (mo.removedNodes[dd] == self.win[0])) return self.remove(); + } + } + }); + }); + self.observerremover.observe(self.win[0].parentNode, { + childList: true, + characterData: false, + attributes: false, + subtree: false + }); + } else { + self.bind(self.win, (cap.isie && !cap.isie9) ? "propertychange" : "DOMAttrModified", self.onAttributeChange); + if (cap.isie9) self.win[0].attachEvent("onpropertychange", self.onAttributeChange); //IE9 DOMAttrModified bug + self.bind(self.win, "DOMNodeRemoved", function(e) { + if (e.target == self.win[0]) self.remove(); + }); + } + } + + // + + if (!self.ispage && self.opt.boxzoom) self.bind(window, "resize", self.resizeZoom); + if (self.istextarea) { + self.bind(self.win, "keydown", self.lazyResize); + self.bind(self.win, "mouseup", self.lazyResize); + } + + // self.checkrtlmode = true; + self.lazyResize(30); + + } + + if (this.doc[0].nodeName == 'IFRAME') { + var oniframeload = function() { + self.iframexd = false; + var doc; + try { + doc = 'contentDocument' in this ? this.contentDocument : this.contentWindow.document; + var a = doc.domain; + } catch (e) { + self.iframexd = true; + doc = false; + } + + if (self.iframexd) { + if ("console" in window) console.log('NiceScroll error: policy restriced iframe'); + return true; //cross-domain - I can't manage this + } + + self.forcescreen = true; + + if (self.isiframe) { + self.iframe = { + "doc": $(doc), + "html": self.doc.contents().find('html')[0], + "body": self.doc.contents().find('body')[0] + }; + self.getContentSize = function() { + return { + w: Math.max(self.iframe.html.scrollWidth, self.iframe.body.scrollWidth), + h: Math.max(self.iframe.html.scrollHeight, self.iframe.body.scrollHeight) + }; + }; + self.docscroll = $(self.iframe.body); //$(this.contentWindow); + } + + if (!cap.isios && self.opt.iframeautoresize && !self.isiframe) { + self.win.scrollTop(0); // reset position + self.doc.height(""); //reset height to fix browser bug + var hh = Math.max(doc.getElementsByTagName('html')[0].scrollHeight, doc.body.scrollHeight); + self.doc.height(hh); + } + self.lazyResize(30); + + if (cap.isie7) self.css($(self.iframe.html), _scrollyhidden); + self.css($(self.iframe.body), _scrollyhidden); + + if (cap.isios && self.haswrapper) { + self.css($(doc.body), { + '-webkit-transform': 'translate3d(0,0,0)' + }); // avoid iFrame content clipping - thanks to http://blog.derraab.com/2012/04/02/avoid-iframe-content-clipping-with-css-transform-on-ios/ + } + + if ('contentWindow' in this) { + self.bind(this.contentWindow, "scroll", self.onscroll); //IE8 & minor + } else { + self.bind(doc, "scroll", self.onscroll); + } + + if (self.opt.enablemousewheel) { + self.mousewheel(doc, self.onmousewheel); + } + + if (self.opt.enablekeyboard) self.bind(doc, (cap.isopera) ? "keypress" : "keydown", self.onkeypress); + + if (cap.cantouch || self.opt.touchbehavior) { + self.bind(doc, "mousedown", self.ontouchstart); + self.bind(doc, "mousemove", function(e) { + return self.ontouchmove(e, true); + }); + if (self.opt.grabcursorenabled && cap.cursorgrabvalue) self.css($(doc.body), { + 'cursor': cap.cursorgrabvalue + }); + } + + self.bind(doc, "mouseup", self.ontouchend); + + if (self.zoom) { + if (self.opt.dblclickzoom) self.bind(doc, 'dblclick', self.doZoom); + if (self.ongesturezoom) self.bind(doc, "gestureend", self.ongesturezoom); + } + }; + + if (this.doc[0].readyState && this.doc[0].readyState == "complete") { + setTimeout(function() { + oniframeload.call(self.doc[0], false); + }, 500); + } + self.bind(this.doc, "load", oniframeload); + + } + + }; + + this.showCursor = function(py, px) { + if (self.cursortimeout) { + clearTimeout(self.cursortimeout); + self.cursortimeout = 0; + } + if (!self.rail) return; + if (self.autohidedom) { + self.autohidedom.stop().css({ + opacity: self.opt.cursoropacitymax + }); + self.cursoractive = true; + } + + if (!self.rail.drag || self.rail.drag.pt != 1) { + if (py !== undefined && py !== false) { + self.scroll.y = Math.round(py * 1 / self.scrollratio.y); + } + if (px !== undefined) { + self.scroll.x = Math.round(px * 1 / self.scrollratio.x); + } + } + + self.cursor.css({ + height: self.cursorheight, + top: self.scroll.y + }); + if (self.cursorh) { + var lx = (self.hasreversehr) ? self.scrollvaluemaxw-self.scroll.x : self.scroll.x; + (!self.rail.align && self.rail.visibility) ? self.cursorh.css({ + width: self.cursorwidth, + left: lx + self.rail.width + }): self.cursorh.css({ + width: self.cursorwidth, + left: lx + }); + self.cursoractive = true; + } + + if (self.zoom) self.zoom.stop().css({ + opacity: self.opt.cursoropacitymax + }); + }; + + this.hideCursor = function(tm) { + if (self.cursortimeout) return; + if (!self.rail) return; + if (!self.autohidedom) return; + if (self.hasmousefocus && self.opt.autohidemode == "leave") return; + self.cursortimeout = setTimeout(function() { + if (!self.rail.active || !self.showonmouseevent) { + self.autohidedom.stop().animate({ + opacity: self.opt.cursoropacitymin + }); + if (self.zoom) self.zoom.stop().animate({ + opacity: self.opt.cursoropacitymin + }); + self.cursoractive = false; + } + self.cursortimeout = 0; + }, tm || self.opt.hidecursordelay); + }; + + this.noticeCursor = function(tm, py, px) { + self.showCursor(py, px); + if (!self.rail.active) self.hideCursor(tm); + }; + + this.getContentSize = + (self.ispage) ? + function() { + return { + w: Math.max(document.body.scrollWidth, document.documentElement.scrollWidth), + h: Math.max(document.body.scrollHeight, document.documentElement.scrollHeight) + }; + } : (self.haswrapper) ? + function() { + return { + w: self.doc.outerWidth() + parseInt(self.win.css('paddingLeft')) + parseInt(self.win.css('paddingRight')), + h: self.doc.outerHeight() + parseInt(self.win.css('paddingTop')) + parseInt(self.win.css('paddingBottom')) + }; + } : function() { + return { + w: self.docscroll[0].scrollWidth, + h: self.docscroll[0].scrollHeight + }; + }; + + this.onResize = function(e, page) { + + if (!self || !self.win) return false; + + if (!self.haswrapper && !self.ispage) { + if (self.win.css('display') == 'none') { + if (self.visibility) self.hideRail().hideRailHr(); + return false; + } else { + if (!self.hidden && !self.visibility) self.showRail().showRailHr(); + } + } + + var premaxh = self.page.maxh; + var premaxw = self.page.maxw; + + var preview = { + h: self.view.h, + w: self.view.w + }; + + self.view = { + w: (self.ispage) ? self.win.width() : parseInt(self.win[0].clientWidth), + h: (self.ispage) ? self.win.height() : parseInt(self.win[0].clientHeight) + }; + + self.page = (page) ? page : self.getContentSize(); + + self.page.maxh = Math.max(0, self.page.h - self.view.h); + self.page.maxw = Math.max(0, self.page.w - self.view.w); + + if ((self.page.maxh == premaxh) && (self.page.maxw == premaxw) && (self.view.w == preview.w) && (self.view.h == preview.h)) { + // test position + if (!self.ispage) { + var pos = self.win.offset(); + if (self.lastposition) { + var lst = self.lastposition; + if ((lst.top == pos.top) && (lst.left == pos.left)) return self; //nothing to do + } + self.lastposition = pos; + } else { + return self; //nothing to do + } + } + + if (self.page.maxh == 0) { + self.hideRail(); + self.scrollvaluemax = 0; + self.scroll.y = 0; + self.scrollratio.y = 0; + self.cursorheight = 0; + self.setScrollTop(0); + if (self.rail) self.rail.scrollable = false; + } else { + self.page.maxh -= (self.opt.railpadding.top + self.opt.railpadding.bottom); //** + self.rail.scrollable = true; + } + + if (self.page.maxw == 0) { + self.hideRailHr(); + self.scrollvaluemaxw = 0; + self.scroll.x = 0; + self.scrollratio.x = 0; + self.cursorwidth = 0; + self.setScrollLeft(0); + if (self.railh) { + self.railh.scrollable = false; + } + } else { + self.page.maxw -= (self.opt.railpadding.left + self.opt.railpadding.right); //** + if (self.railh) self.railh.scrollable = (self.opt.horizrailenabled); + } + + self.railslocked = (self.locked) || ((self.page.maxh == 0) && (self.page.maxw == 0)); + if (self.railslocked) { + if (!self.ispage) self.updateScrollBar(self.view); + return false; + } + + if (!self.hidden && !self.visibility) { + self.showRail().showRailHr(); + } + else if (self.railh && (!self.hidden && !self.railh.visibility)) self.showRailHr(); + + if (self.istextarea && self.win.css('resize') && self.win.css('resize') != 'none') self.view.h -= 20; + + self.cursorheight = Math.min(self.view.h, Math.round(self.view.h * (self.view.h / self.page.h))); + self.cursorheight = (self.opt.cursorfixedheight) ? self.opt.cursorfixedheight : Math.max(self.opt.cursorminheight, self.cursorheight); + + self.cursorwidth = Math.min(self.view.w, Math.round(self.view.w * (self.view.w / self.page.w))); + self.cursorwidth = (self.opt.cursorfixedheight) ? self.opt.cursorfixedheight : Math.max(self.opt.cursorminheight, self.cursorwidth); + + self.scrollvaluemax = self.view.h - self.cursorheight - self.cursor.hborder - (self.opt.railpadding.top + self.opt.railpadding.bottom); //** + + if (self.railh) { + self.railh.width = (self.page.maxh > 0) ? (self.view.w - self.rail.width) : self.view.w; + self.scrollvaluemaxw = self.railh.width - self.cursorwidth - self.cursorh.wborder - (self.opt.railpadding.left + self.opt.railpadding.right); //** + } + + /* + if (self.checkrtlmode&&self.railh) { + self.checkrtlmode = false; + if (self.opt.rtlmode&&self.scroll.x==0) self.setScrollLeft(self.page.maxw); + } +*/ + + if (!self.ispage) self.updateScrollBar(self.view); + + self.scrollratio = { + x: (self.page.maxw / self.scrollvaluemaxw), + y: (self.page.maxh / self.scrollvaluemax) + }; + + var sy = self.getScrollTop(); + if (sy > self.page.maxh) { + self.doScrollTop(self.page.maxh); + } else { + self.scroll.y = Math.round(self.getScrollTop() * (1 / self.scrollratio.y)); + self.scroll.x = Math.round(self.getScrollLeft() * (1 / self.scrollratio.x)); + if (self.cursoractive) self.noticeCursor(); + } + + if (self.scroll.y && (self.getScrollTop() == 0)) self.doScrollTo(Math.floor(self.scroll.y * self.scrollratio.y)); + + return self; + }; + + this.resize = self.onResize; + + this.hlazyresize = 0; + + this.lazyResize = function(tm) { // event debounce +/* + tm = (isNaN(tm)) ? 30 : tm; + self.debounced('resize', self.resize, tm); +*/ + +// if (!self.haswrapper&&self.opt.autohidemode!==false) self.hide(); + if (!self.haswrapper) self.hide(); + if (self.hlazyresize) clearTimeout(self.hlazyresize); + self.hlazyresize = setTimeout(function(){ + self && self.show().resize(); + },240); + + return self; + }; + + // modified by MDN https://developer.mozilla.org/en-US/docs/DOM/Mozilla_event_reference/wheel + function _modernWheelEvent(dom, name, fn, bubble) { + self._bind(dom, name, function(e) { + var e = (e) ? e : window.event; + var event = { + original: e, + target: e.target || e.srcElement, + type: "wheel", + deltaMode: e.type == "MozMousePixelScroll" ? 0 : 1, + deltaX: 0, + deltaZ: 0, + preventDefault: function() { + e.preventDefault ? e.preventDefault() : e.returnValue = false; + return false; + }, + stopImmediatePropagation: function() { + (e.stopImmediatePropagation) ? e.stopImmediatePropagation(): e.cancelBubble = true; + } + }; + + if (name == "mousewheel") { + e.wheelDeltaX && (event.deltaX = -1 / 40 * e.wheelDeltaX); + e.wheelDeltaY && (event.deltaY = -1 / 40 * e.wheelDeltaY); + !event.deltaY && !event.deltaX && (event.deltaY = -1 / 40 * e.wheelDelta); + } else { + event.deltaY = e.detail; + } + + return fn.call(dom, event); + }, bubble); + } + + + + this.jqbind = function(dom, name, fn) { // use jquery bind for non-native events (mouseenter/mouseleave) + self.events.push({ + e: dom, + n: name, + f: fn, + q: true + }); + $(dom).bind(name, fn); + }; + + this.mousewheel = function(dom, fn, bubble) { // bind mousewheel + var el = ("jquery" in dom) ? dom[0] : dom; + if ("onwheel" in document.createElement("div")) { // Modern browsers support "wheel" + self._bind(el, "wheel", fn, bubble || false); + } else { + var wname = (document.onmousewheel !== undefined) ? "mousewheel" : "DOMMouseScroll"; // older Webkit+IE support or older Firefox + _modernWheelEvent(el, wname, fn, bubble || false); + if (wname == "DOMMouseScroll") _modernWheelEvent(el, "MozMousePixelScroll", fn, bubble || false); // Firefox legacy + } + }; + + if (cap.haseventlistener) { // W3C standard event model + + this.bind = function(dom, name, fn, bubble) { // W3C + var el = ("jquery" in dom) ? dom[0] : dom; + self._bind(el, name, fn, bubble || false); + }; + + this._bind = function(el, name, fn, bubble) { // primitive bind + self.events.push({ + e: el, + n: name, + f: fn, + b: bubble, + q: false + }); + el.addEventListener(name, fn, bubble || false); + }; + this.cancelEvent = function(e) { + if (!e) return false; + var e = (e.original) ? e.original : e; + if (e.cancelable) e.preventDefault(); + e.stopPropagation(); + if (e.preventManipulation) e.preventManipulation(); //IE10 + return false; + }; + this.stopPropagation = function(e) { + if (!e) return false; + var e = (e.original) ? e.original : e; + e.stopPropagation(); + return false; + }; + this._unbind = function(el, name, fn, bub) { // primitive unbind + el.removeEventListener(name, fn, bub); + }; + } else { // old IE model + + this.bind = function(dom, name, fn, bubble) { // legacy IE + var el = ("jquery" in dom) ? dom[0] : dom; + self._bind(el, name, function(e) { + e = e || window.event || false; + if (e && e.srcElement) { + e.target = e.srcElement; + } + if (!("pageY" in e)) { + e.pageX = e.clientX + document.documentElement.scrollLeft; + e.pageY = e.clientY + document.documentElement.scrollTop; + } + return ((fn.call(el, e) === false) || bubble === false) ? self.cancelEvent(e) : true; + }); + }; + + this._bind = function(el, name, fn, bubble) { // primitive bind + self.events.push({ + e: el, + n: name, + f: fn, + b: bubble, + q: false + }); + if (el.attachEvent) { + el.attachEvent("on" + name, fn); + } else { + el["on" + name] = fn; + } + }; + // Thanks to http://www.switchonthecode.com !! + this.cancelEvent = function(e) { + var e = window.event || false; + if (!e) return false; + e.cancelBubble = true; + e.cancel = true; + e.returnValue = false; + return false; + }; + this.stopPropagation = function(e) { + var e = window.event || false; + if (!e) return false; + e.cancelBubble = true; + return false; + }; + this._unbind = function(el, name, fn, bub) { // primitive unbind IE old + if (el.detachEvent) { + el.detachEvent('on' + name, fn); + } else { + el['on' + name] = false; + } + }; + } + + this.unbindAll = function() { + for (var a = 0; a < self.events.length; a++) { + var r = self.events[a]; + (r.q) ? r.e.unbind(r.n, r.f): self._unbind(r.e, r.n, r.f, r.b); + } + }; + + this.showRail = function() { + if ((self.page.maxh != 0) && (self.ispage || self.win.css('display') != 'none')) { + self.visibility = true; + self.rail.visibility = true; + self.rail.css('display', 'block'); + } + return self; + }; + + this.showRailHr = function() { + if (!self.railh) return self; + if ((self.page.maxw != 0) && (self.ispage || self.win.css('display') != 'none')) { + self.railh.visibility = true; + self.railh.css('display', 'block'); + } + return self; + }; + + this.hideRail = function() { + self.visibility = false; + self.rail.visibility = false; + self.rail.css('display', 'none'); + return self; + }; + + this.hideRailHr = function() { + if (!self.railh) return self; + self.railh.visibility = false; + self.railh.css('display', 'none'); + return self; + }; + + this.show = function() { + self.hidden = false; + self.railslocked = false; + return self.showRail().showRailHr(); + }; + + this.hide = function() { + self.hidden = true; + self.railslocked = true; + return self.hideRail().hideRailHr(); + }; + + this.toggle = function() { + return (self.hidden) ? self.show() : self.hide(); + }; + + this.remove = function() { + self.stop(); + if (self.cursortimeout) clearTimeout(self.cursortimeout); +// if (self.debouncedelayed) clearTimeout(self.debouncedelayed); + for(var n in self.delaylist) if (self.delaylist[n]) clearAnimationFrame(self.delaylist[n].h); + self.doZoomOut(); + self.unbindAll(); + + if (cap.isie9) self.win[0].detachEvent("onpropertychange", self.onAttributeChange); //IE9 DOMAttrModified bug + + if (self.observer !== false) self.observer.disconnect(); + if (self.observerremover !== false) self.observerremover.disconnect(); + if (self.observerbody !== false) self.observerbody.disconnect(); + + self.events = null; + + if (self.cursor) { + self.cursor.remove(); + } + if (self.cursorh) { + self.cursorh.remove(); + } + if (self.rail) { + self.rail.remove(); + } + if (self.railh) { + self.railh.remove(); + } + if (self.zoom) { + self.zoom.remove(); + } + for (var a = 0; a < self.saved.css.length; a++) { + var d = self.saved.css[a]; + d[0].css(d[1], (d[2] === undefined) ? '' : d[2]); + } + self.saved = false; + self.me.data('__nicescroll', ''); //erase all traces + + // memory leak fixed by GianlucaGuarini - thanks a lot! + // remove the current nicescroll from the $.nicescroll array & normalize array + var lst = $.nicescroll; + lst.each(function(i) { + if (!this) return; + if (this.id === self.id) { + delete lst[i]; + for (var b = ++i; b < lst.length; b++, i++) lst[i] = lst[b]; + lst.length--; + if (lst.length) delete lst[lst.length]; + } + }); + + for (var i in self) { + self[i] = null; + delete self[i]; + } + + self = null; + + }; + + this.scrollstart = function(fn) { + this.onscrollstart = fn; + return self; + }; + this.scrollend = function(fn) { + this.onscrollend = fn; + return self; + }; + this.scrollcancel = function(fn) { + this.onscrollcancel = fn; + return self; + }; + + this.zoomin = function(fn) { + this.onzoomin = fn; + return self; + }; + this.zoomout = function(fn) { + this.onzoomout = fn; + return self; + }; + + this.isScrollable = function(e) { + var dom = (e.target) ? e.target : e; + if (dom.nodeName == 'OPTION') return true; + while (dom && (dom.nodeType == 1) && !(/^BODY|HTML/.test(dom.nodeName))) { + var dd = $(dom); + var ov = dd.css('overflowY') || dd.css('overflowX') || dd.css('overflow') || ''; + if (/scroll|auto/.test(ov)) return (dom.clientHeight != dom.scrollHeight); + dom = (dom.parentNode) ? dom.parentNode : false; + } + return false; + }; + + this.getViewport = function(me) { + var dom = (me && me.parentNode) ? me.parentNode : false; + while (dom && (dom.nodeType == 1) && !(/^BODY|HTML/.test(dom.nodeName))) { + var dd = $(dom); + if (/fixed|absolute/.test(dd.css("position"))) return dd; + var ov = dd.css('overflowY') || dd.css('overflowX') || dd.css('overflow') || ''; + if ((/scroll|auto/.test(ov)) && (dom.clientHeight != dom.scrollHeight)) return dd; + if (dd.getNiceScroll().length > 0) return dd; + dom = (dom.parentNode) ? dom.parentNode : false; + } + return false; //(dom) ? $(dom) : false; + }; + + this.triggerScrollEnd = function() { + if (!self.onscrollend) return; + + var px = self.getScrollLeft(); + var py = self.getScrollTop(); + + var info = { + type: "scrollend", + current: { + x: px, + y: py + }, + end: { + x: px, + y: py + } + }; + self.onscrollend.call(self, info); + }; + + function execScrollWheel(e, hr, chkscroll) { + var px, py; + + if (e.deltaMode == 0) { // PIXEL + px = -Math.floor(e.deltaX * (self.opt.mousescrollstep / (18 * 3))); + py = -Math.floor(e.deltaY * (self.opt.mousescrollstep / (18 * 3))); + } else if (e.deltaMode == 1) { // LINE + px = -Math.floor(e.deltaX * self.opt.mousescrollstep); + py = -Math.floor(e.deltaY * self.opt.mousescrollstep); + } + + if (hr && self.opt.oneaxismousemode && (px == 0) && py) { // classic vertical-only mousewheel + browser with x/y support + px = py; + py = 0; + + if (chkscroll) { + var hrend = (px < 0) ? (self.getScrollLeft() >= self.page.maxw) : (self.getScrollLeft() <= 0); + if (hrend) { // preserve vertical scrolling + py = px; + px = 0; + } + } + + } + + // invert horizontal direction for rtl mode + if (self.isrtlmode) px = -px; + + if (px) { + if (self.scrollmom) { + self.scrollmom.stop(); + } + self.lastdeltax += px; + self.debounced("mousewheelx", function() { + var dt = self.lastdeltax; + self.lastdeltax = 0; + if (!self.rail.drag) { + self.doScrollLeftBy(dt); + } + }, 15); + } + if (py) { + if (self.opt.nativeparentscrolling && chkscroll && !self.ispage && !self.zoomactive) { + if (py < 0) { + if (self.getScrollTop() >= self.page.maxh) return true; + } else { + if (self.getScrollTop() <= 0) return true; + } + } + if (self.scrollmom) { + self.scrollmom.stop(); + } + self.lastdeltay += py; +// self.debounced("mousewheely", function() { + self.synched("mousewheely", function() { + var dt = self.lastdeltay; + self.lastdeltay = 0; + if (!self.rail.drag) { + self.doScrollBy(dt); + } + }, 15); + } + + e.stopImmediatePropagation(); + return e.preventDefault(); + } + + this.onmousewheel = function(e) { + if (self.wheelprevented) return; + if (self.railslocked) { + self.debounced("checkunlock", self.resize, 250); + return true; + } + if (self.rail.drag) return self.cancelEvent(e); + + if (self.opt.oneaxismousemode == "auto" && e.deltaX != 0) self.opt.oneaxismousemode = false; // check two-axis mouse support (not very elegant) + + if (self.opt.oneaxismousemode && e.deltaX == 0) { + if (!self.rail.scrollable) { + if (self.railh && self.railh.scrollable) { + return self.onmousewheelhr(e); + } else { + return true; + } + } + } + + var nw = +(new Date()); + var chk = false; + if (self.opt.preservenativescrolling && ((self.checkarea + 600) < nw)) { + self.nativescrollingarea = self.isScrollable(e); + chk = true; + } + self.checkarea = nw; + if (self.nativescrollingarea) return true; // this isn't my business + var ret = execScrollWheel(e, false, chk); + if (ret) self.checkarea = 0; + return ret; + }; + + this.onmousewheelhr = function(e) { + if (self.wheelprevented) return; + if (self.railslocked || !self.railh.scrollable) return true; + if (self.rail.drag) return self.cancelEvent(e); + + var nw = +(new Date()); + var chk = false; + if (self.opt.preservenativescrolling && ((self.checkarea + 600) < nw)) { + self.nativescrollingarea = self.isScrollable(e); + chk = true; + } + self.checkarea = nw; + if (self.nativescrollingarea) return true; // this isn't my business + if (self.railslocked) return self.cancelEvent(e); + + return execScrollWheel(e, true, chk); + }; + + this.stop = function() { + self.cancelScroll(); + if (self.scrollmon) self.scrollmon.stop(); + self.cursorfreezed = false; + self.scroll.y = Math.round(self.getScrollTop() * (1 / self.scrollratio.y)); + self.noticeCursor(); + return self; + }; + + this.getTransitionSpeed = function(dif) { + var sp = Math.round(self.opt.scrollspeed * 10); + var ex = Math.min(sp, Math.round((dif / 20) * self.opt.scrollspeed)); + return (ex > 20) ? ex : 0; + }; + + if (!self.opt.smoothscroll) { + this.doScrollLeft = function(x, spd) { //direct + var y = self.getScrollTop(); + self.doScrollPos(x, y, spd); + }; + this.doScrollTop = function(y, spd) { //direct + var x = self.getScrollLeft(); + self.doScrollPos(x, y, spd); + }; + this.doScrollPos = function(x, y, spd) { //direct + var nx = (x > self.page.maxw) ? self.page.maxw : x; + if (nx < 0) nx = 0; + var ny = (y > self.page.maxh) ? self.page.maxh : y; + if (ny < 0) ny = 0; + self.synched('scroll', function() { + self.setScrollTop(ny); + self.setScrollLeft(nx); + }); + }; + this.cancelScroll = function() {}; // direct + } else if (self.ishwscroll && cap.hastransition && self.opt.usetransition && !!self.opt.smoothscroll) { + this.prepareTransition = function(dif, istime) { + var ex = (istime) ? ((dif > 20) ? dif : 0) : self.getTransitionSpeed(dif); + var trans = (ex) ? cap.prefixstyle + 'transform ' + ex + 'ms ease-out' : ''; + if (!self.lasttransitionstyle || self.lasttransitionstyle != trans) { + self.lasttransitionstyle = trans; + self.doc.css(cap.transitionstyle, trans); + } + return ex; + }; + + this.doScrollLeft = function(x, spd) { //trans + var y = (self.scrollrunning) ? self.newscrolly : self.getScrollTop(); + self.doScrollPos(x, y, spd); + }; + + this.doScrollTop = function(y, spd) { //trans + var x = (self.scrollrunning) ? self.newscrollx : self.getScrollLeft(); + self.doScrollPos(x, y, spd); + }; + + this.doScrollPos = function(x, y, spd) { //trans + + var py = self.getScrollTop(); + var px = self.getScrollLeft(); + + if (((self.newscrolly - py) * (y - py) < 0) || ((self.newscrollx - px) * (x - px) < 0)) self.cancelScroll(); //inverted movement detection + + if (self.opt.bouncescroll == false) { + if (y < 0) y = 0; + else if (y > self.page.maxh) y = self.page.maxh; + if (x < 0) x = 0; + else if (x > self.page.maxw) x = self.page.maxw; + } + + if (self.scrollrunning && x == self.newscrollx && y == self.newscrolly) return false; + + self.newscrolly = y; + self.newscrollx = x; + + self.newscrollspeed = spd || false; + + if (self.timer) return false; + + self.timer = setTimeout(function() { + + var top = self.getScrollTop(); + var lft = self.getScrollLeft(); + + var dst = {}; + dst.x = x - lft; + dst.y = y - top; + dst.px = lft; + dst.py = top; + + var dd = Math.round(Math.sqrt(Math.pow(dst.x, 2) + Math.pow(dst.y, 2))); + var ms = (self.newscrollspeed && self.newscrollspeed > 1) ? self.newscrollspeed : self.getTransitionSpeed(dd); + if (self.newscrollspeed && self.newscrollspeed <= 1) ms *= self.newscrollspeed; + + self.prepareTransition(ms, true); + + if (self.timerscroll && self.timerscroll.tm) clearInterval(self.timerscroll.tm); + + if (ms > 0) { + + if (!self.scrollrunning && self.onscrollstart) { + var info = { + "type": "scrollstart", + "current": { + "x": lft, + "y": top + }, + "request": { + "x": x, + "y": y + }, + "end": { + "x": self.newscrollx, + "y": self.newscrolly + }, + "speed": ms + }; + self.onscrollstart.call(self, info); + } + + if (cap.transitionend) { + if (!self.scrollendtrapped) { + self.scrollendtrapped = true; + self.bind(self.doc, cap.transitionend, self.onScrollTransitionEnd, false); //I have got to do something usefull!! + } + } else { + if (self.scrollendtrapped) clearTimeout(self.scrollendtrapped); + self.scrollendtrapped = setTimeout(self.onScrollTransitionEnd, ms); // simulate transitionend event + } + + var py = top; + var px = lft; + self.timerscroll = { + bz: new BezierClass(py, self.newscrolly, ms, 0, 0, 0.58, 1), + bh: new BezierClass(px, self.newscrollx, ms, 0, 0, 0.58, 1) + }; + if (!self.cursorfreezed) self.timerscroll.tm = setInterval(function() { + self.showCursor(self.getScrollTop(), self.getScrollLeft()); + }, 60); + + } + + self.synched("doScroll-set", function() { + self.timer = 0; + if (self.scrollendtrapped) self.scrollrunning = true; + self.setScrollTop(self.newscrolly); + self.setScrollLeft(self.newscrollx); + if (!self.scrollendtrapped) self.onScrollTransitionEnd(); + }); + + + }, 50); + + }; + + this.cancelScroll = function() { + if (!self.scrollendtrapped) return true; + var py = self.getScrollTop(); + var px = self.getScrollLeft(); + self.scrollrunning = false; + if (!cap.transitionend) clearTimeout(cap.transitionend); + self.scrollendtrapped = false; + self._unbind(self.doc[0], cap.transitionend, self.onScrollTransitionEnd); + self.prepareTransition(0); + self.setScrollTop(py); // fire event onscroll + if (self.railh) self.setScrollLeft(px); + if (self.timerscroll && self.timerscroll.tm) clearInterval(self.timerscroll.tm); + self.timerscroll = false; + + self.cursorfreezed = false; + + self.showCursor(py, px); + return self; + }; + this.onScrollTransitionEnd = function() { + if (self.scrollendtrapped) self._unbind(self.doc[0], cap.transitionend, self.onScrollTransitionEnd); + self.scrollendtrapped = false; + self.prepareTransition(0); + if (self.timerscroll && self.timerscroll.tm) clearInterval(self.timerscroll.tm); + self.timerscroll = false; + var py = self.getScrollTop(); + var px = self.getScrollLeft(); + self.setScrollTop(py); // fire event onscroll + if (self.railh) self.setScrollLeft(px); // fire event onscroll left + + self.noticeCursor(false, py, px); + + self.cursorfreezed = false; + + if (py < 0) py = 0; + else if (py > self.page.maxh) py = self.page.maxh; + if (px < 0) px = 0; + else if (px > self.page.maxw) px = self.page.maxw; + if ((py != self.newscrolly) || (px != self.newscrollx)) return self.doScrollPos(px, py, self.opt.snapbackspeed); + + if (self.onscrollend && self.scrollrunning) { + self.triggerScrollEnd(); + } + self.scrollrunning = false; + + }; + + } else { + + this.doScrollLeft = function(x, spd) { //no-trans + var y = (self.scrollrunning) ? self.newscrolly : self.getScrollTop(); + self.doScrollPos(x, y, spd); + }; + + this.doScrollTop = function(y, spd) { //no-trans + var x = (self.scrollrunning) ? self.newscrollx : self.getScrollLeft(); + self.doScrollPos(x, y, spd); + }; + + this.doScrollPos = function(x, y, spd) { //no-trans + var y = (y === undefined || y === false) ? self.getScrollTop(true) : y; + + if ((self.timer) && (self.newscrolly == y) && (self.newscrollx == x)) return true; + + if (self.timer) clearAnimationFrame(self.timer); + self.timer = 0; + + var py = self.getScrollTop(); + var px = self.getScrollLeft(); + + if (((self.newscrolly - py) * (y - py) < 0) || ((self.newscrollx - px) * (x - px) < 0)) self.cancelScroll(); //inverted movement detection + + self.newscrolly = y; + self.newscrollx = x; + + if (!self.bouncescroll || !self.rail.visibility) { + if (self.newscrolly < 0) { + self.newscrolly = 0; + } else if (self.newscrolly > self.page.maxh) { + self.newscrolly = self.page.maxh; + } + } + if (!self.bouncescroll || !self.railh.visibility) { + if (self.newscrollx < 0) { + self.newscrollx = 0; + } else if (self.newscrollx > self.page.maxw) { + self.newscrollx = self.page.maxw; + } + } + + self.dst = {}; + self.dst.x = x - px; + self.dst.y = y - py; + self.dst.px = px; + self.dst.py = py; + + var dst = Math.round(Math.sqrt(Math.pow(self.dst.x, 2) + Math.pow(self.dst.y, 2))); + + self.dst.ax = self.dst.x / dst; + self.dst.ay = self.dst.y / dst; + + var pa = 0; + var pe = dst; + + if (self.dst.x == 0) { + pa = py; + pe = y; + self.dst.ay = 1; + self.dst.py = 0; + } else if (self.dst.y == 0) { + pa = px; + pe = x; + self.dst.ax = 1; + self.dst.px = 0; + } + + var ms = self.getTransitionSpeed(dst); + if (spd && spd <= 1) ms *= spd; + if (ms > 0) { + self.bzscroll = (self.bzscroll) ? self.bzscroll.update(pe, ms) : new BezierClass(pa, pe, ms, 0, 1, 0, 1); + } else { + self.bzscroll = false; + } + + if (self.timer) return; + + if ((py == self.page.maxh && y >= self.page.maxh) || (px == self.page.maxw && x >= self.page.maxw)) self.checkContentSize(); + + var sync = 1; + + function scrolling() { + if (self.cancelAnimationFrame) return true; + + self.scrollrunning = true; + + sync = 1 - sync; + if (sync) return (self.timer = setAnimationFrame(scrolling) || 1); + + var done = 0; + var sx, sy; + + var sc = sy = self.getScrollTop(); + if (self.dst.ay) { + sc = (self.bzscroll) ? self.dst.py + (self.bzscroll.getNow() * self.dst.ay) : self.newscrolly; + var dr = sc - sy; + if ((dr < 0 && sc < self.newscrolly) || (dr > 0 && sc > self.newscrolly)) sc = self.newscrolly; + self.setScrollTop(sc); + if (sc == self.newscrolly) done = 1; + } else { + done = 1; + } + + var scx = sx = self.getScrollLeft(); + if (self.dst.ax) { + scx = (self.bzscroll) ? self.dst.px + (self.bzscroll.getNow() * self.dst.ax) : self.newscrollx; + var dr = scx - sx; + if ((dr < 0 && scx < self.newscrollx) || (dr > 0 && scx > self.newscrollx)) scx = self.newscrollx; + self.setScrollLeft(scx); + if (scx == self.newscrollx) done += 1; + } else { + done += 1; + } + + if (done == 2) { + self.timer = 0; + self.cursorfreezed = false; + self.bzscroll = false; + self.scrollrunning = false; + if (sc < 0) sc = 0; + else if (sc > self.page.maxh) sc = Math.max(0,self.page.maxh); + if (scx < 0) scx = 0; + else if (scx > self.page.maxw) scx = self.page.maxw; + if ((scx != self.newscrollx) || (sc != self.newscrolly)) self.doScrollPos(scx, sc); + else { + if (self.onscrollend) { + self.triggerScrollEnd(); + } + } + } else { + self.timer = setAnimationFrame(scrolling) || 1; + } + } + self.cancelAnimationFrame = false; + self.timer = 1; + + if (self.onscrollstart && !self.scrollrunning) { + var info = { + "type": "scrollstart", + "current": { + "x": px, + "y": py + }, + "request": { + "x": x, + "y": y + }, + "end": { + "x": self.newscrollx, + "y": self.newscrolly + }, + "speed": ms + }; + self.onscrollstart.call(self, info); + } + + scrolling(); + + if ((py == self.page.maxh && y >= py) || (px == self.page.maxw && x >= px)) self.checkContentSize(); + + self.noticeCursor(); + }; + + this.cancelScroll = function() { + if (self.timer) clearAnimationFrame(self.timer); + self.timer = 0; + self.bzscroll = false; + self.scrollrunning = false; + return self; + }; + + } + + this.doScrollBy = function(stp, relative) { + var ny = 0; + if (relative) { + ny = Math.floor((self.scroll.y - stp) * self.scrollratio.y); + } else { + var sy = (self.timer) ? self.newscrolly : self.getScrollTop(true); + ny = sy - stp; + } + if (self.bouncescroll) { + var haf = Math.round(self.view.h / 2); + if (ny < -haf) ny = -haf; + else if (ny > (self.page.maxh + haf)) ny = (self.page.maxh + haf); + } + self.cursorfreezed = false; + + var py = self.getScrollTop(true); + if (ny < 0 && py <= 0) return self.noticeCursor(); + else if (ny > self.page.maxh && py >= self.page.maxh) { + self.checkContentSize(); + return self.noticeCursor(); + } + + self.doScrollTop(ny); + }; + + this.doScrollLeftBy = function(stp, relative) { + var nx = 0; + if (relative) { + nx = Math.floor((self.scroll.x - stp) * self.scrollratio.x); + } else { + var sx = (self.timer) ? self.newscrollx : self.getScrollLeft(true); + nx = sx - stp; + } + if (self.bouncescroll) { + var haf = Math.round(self.view.w / 2); + if (nx < -haf) nx = -haf; + else if (nx > (self.page.maxw + haf)) nx = (self.page.maxw + haf); + } + self.cursorfreezed = false; + + var px = self.getScrollLeft(true); + if (nx < 0 && px <= 0) return self.noticeCursor(); + else if (nx > self.page.maxw && px >= self.page.maxw) return self.noticeCursor(); + + self.doScrollLeft(nx); + }; + + this.doScrollTo = function(pos, relative) { + var ny = (relative) ? Math.round(pos * self.scrollratio.y) : pos; + if (ny < 0) ny = 0; + else if (ny > self.page.maxh) ny = self.page.maxh; + self.cursorfreezed = false; + self.doScrollTop(pos); + }; + + this.checkContentSize = function() { + var pg = self.getContentSize(); + if ((pg.h != self.page.h) || (pg.w != self.page.w)) self.resize(false, pg); + }; + + self.onscroll = function(e) { + if (self.rail.drag) return; + if (!self.cursorfreezed) { + self.synched('scroll', function() { + self.scroll.y = Math.round(self.getScrollTop() * (1 / self.scrollratio.y)); + if (self.railh) self.scroll.x = Math.round(self.getScrollLeft() * (1 / self.scrollratio.x)); + self.noticeCursor(); + }); + } + }; + self.bind(self.docscroll, "scroll", self.onscroll); + + this.doZoomIn = function(e) { + if (self.zoomactive) return; + self.zoomactive = true; + + self.zoomrestore = { + style: {} + }; + var lst = ['position', 'top', 'left', 'zIndex', 'backgroundColor', 'marginTop', 'marginBottom', 'marginLeft', 'marginRight']; + var win = self.win[0].style; + for (var a in lst) { + var pp = lst[a]; + self.zoomrestore.style[pp] = (win[pp] !== undefined) ? win[pp] : ''; + } + + self.zoomrestore.style.width = self.win.css('width'); + self.zoomrestore.style.height = self.win.css('height'); + + self.zoomrestore.padding = { + w: self.win.outerWidth() - self.win.width(), + h: self.win.outerHeight() - self.win.height() + }; + + if (cap.isios4) { + self.zoomrestore.scrollTop = $(window).scrollTop(); + $(window).scrollTop(0); + } + + self.win.css({ + position: (cap.isios4) ? "absolute" : "fixed", + top: 0, + left: 0, + zIndex: globalmaxzindex + 100, + margin: 0 + }); + var bkg = self.win.css("backgroundColor"); + if (bkg == "" || /transparent|rgba\(0, 0, 0, 0\)|rgba\(0,0,0,0\)/.test(bkg)) self.win.css("backgroundColor", "#fff"); + self.rail.css({ + zIndex: globalmaxzindex + 101 + }); + self.zoom.css({ + zIndex: globalmaxzindex + 102 + }); + self.zoom.css('backgroundPosition', '0px -18px'); + self.resizeZoom(); + + if (self.onzoomin) self.onzoomin.call(self); + + return self.cancelEvent(e); + }; + + this.doZoomOut = function(e) { + if (!self.zoomactive) return; + self.zoomactive = false; + + self.win.css("margin", ""); + self.win.css(self.zoomrestore.style); + + if (cap.isios4) { + $(window).scrollTop(self.zoomrestore.scrollTop); + } + + self.rail.css({ + "z-index": self.zindex + }); + self.zoom.css({ + "z-index": self.zindex + }); + self.zoomrestore = false; + self.zoom.css('backgroundPosition', '0px 0px'); + self.onResize(); + + if (self.onzoomout) self.onzoomout.call(self); + + return self.cancelEvent(e); + }; + + this.doZoom = function(e) { + return (self.zoomactive) ? self.doZoomOut(e) : self.doZoomIn(e); + }; + + this.resizeZoom = function() { + if (!self.zoomactive) return; + + var py = self.getScrollTop(); //preserve scrolling position + self.win.css({ + width: $(window).width() - self.zoomrestore.padding.w + "px", + height: $(window).height() - self.zoomrestore.padding.h + "px" + }); + self.onResize(); + + self.setScrollTop(Math.min(self.page.maxh, py)); + }; + + this.init(); + + $.nicescroll.push(this); + + }; + + // Inspired by the work of Kin Blas + // http://webpro.host.adobe.com/people/jblas/momentum/includes/jquery.momentum.0.7.js + + + var ScrollMomentumClass2D = function(nc) { + var self = this; + this.nc = nc; + + this.lastx = 0; + this.lasty = 0; + this.speedx = 0; + this.speedy = 0; + this.lasttime = 0; + this.steptime = 0; + this.snapx = false; + this.snapy = false; + this.demulx = 0; + this.demuly = 0; + + this.lastscrollx = -1; + this.lastscrolly = -1; + + this.chkx = 0; + this.chky = 0; + + this.timer = 0; + + this.time = function() { + return +new Date(); //beautifull hack + }; + + this.reset = function(px, py) { + self.stop(); + var now = self.time(); + self.steptime = 0; + self.lasttime = now; + self.speedx = 0; + self.speedy = 0; + self.lastx = px; + self.lasty = py; + self.lastscrollx = -1; + self.lastscrolly = -1; + }; + + this.update = function(px, py) { + var now = self.time(); + self.steptime = now - self.lasttime; + self.lasttime = now; + var dy = py - self.lasty; + var dx = px - self.lastx; + var sy = self.nc.getScrollTop(); + var sx = self.nc.getScrollLeft(); + var newy = sy + dy; + var newx = sx + dx; + self.snapx = (newx < 0) || (newx > self.nc.page.maxw); + self.snapy = (newy < 0) || (newy > self.nc.page.maxh); + self.speedx = dx; + self.speedy = dy; + self.lastx = px; + self.lasty = py; + }; + + this.stop = function() { + self.nc.unsynched("domomentum2d"); + if (self.timer) clearTimeout(self.timer); + self.timer = 0; + self.lastscrollx = -1; + self.lastscrolly = -1; + }; + + this.doSnapy = function(nx, ny) { + var snap = false; + + if (ny < 0) { + ny = 0; + snap = true; + } else if (ny > self.nc.page.maxh) { + ny = self.nc.page.maxh; + snap = true; + } + + if (nx < 0) { + nx = 0; + snap = true; + } else if (nx > self.nc.page.maxw) { + nx = self.nc.page.maxw; + snap = true; + } + + (snap) ? self.nc.doScrollPos(nx, ny, self.nc.opt.snapbackspeed): self.nc.triggerScrollEnd(); + }; + + this.doMomentum = function(gp) { + var t = self.time(); + var l = (gp) ? t + gp : self.lasttime; + + var sl = self.nc.getScrollLeft(); + var st = self.nc.getScrollTop(); + + var pageh = self.nc.page.maxh; + var pagew = self.nc.page.maxw; + + self.speedx = (pagew > 0) ? Math.min(60, self.speedx) : 0; + self.speedy = (pageh > 0) ? Math.min(60, self.speedy) : 0; + + var chk = l && (t - l) <= 60; + + if ((st < 0) || (st > pageh) || (sl < 0) || (sl > pagew)) chk = false; + + var sy = (self.speedy && chk) ? self.speedy : false; + var sx = (self.speedx && chk) ? self.speedx : false; + + if (sy || sx) { + var tm = Math.max(16, self.steptime); //timeout granularity + + if (tm > 50) { // do smooth + var xm = tm / 50; + self.speedx *= xm; + self.speedy *= xm; + tm = 50; + } + + self.demulxy = 0; + + self.lastscrollx = self.nc.getScrollLeft(); + self.chkx = self.lastscrollx; + self.lastscrolly = self.nc.getScrollTop(); + self.chky = self.lastscrolly; + + var nx = self.lastscrollx; + var ny = self.lastscrolly; + + var onscroll = function() { + var df = ((self.time() - t) > 600) ? 0.04 : 0.02; + + if (self.speedx) { + nx = Math.floor(self.lastscrollx - (self.speedx * (1 - self.demulxy))); + self.lastscrollx = nx; + if ((nx < 0) || (nx > pagew)) df = 0.10; + } + + if (self.speedy) { + ny = Math.floor(self.lastscrolly - (self.speedy * (1 - self.demulxy))); + self.lastscrolly = ny; + if ((ny < 0) || (ny > pageh)) df = 0.10; + } + + self.demulxy = Math.min(1, self.demulxy + df); + + self.nc.synched("domomentum2d", function() { + + if (self.speedx) { + var scx = self.nc.getScrollLeft(); +// if (scx != self.chkx) self.stop(); + self.chkx = nx; + self.nc.setScrollLeft(nx); + } + + if (self.speedy) { + var scy = self.nc.getScrollTop(); +// if (scy != self.chky) self.stop(); + self.chky = ny; + self.nc.setScrollTop(ny); + } + + if (!self.timer) { + self.nc.hideCursor(); + self.doSnapy(nx, ny); + } + + }); + + if (self.demulxy < 1) { + self.timer = setTimeout(onscroll, tm); + } else { + self.stop(); + self.nc.hideCursor(); + self.doSnapy(nx, ny); + } + }; + + onscroll(); + + } else { + self.doSnapy(self.nc.getScrollLeft(), self.nc.getScrollTop()); + } + + }; + + }; + + + // override jQuery scrollTop + + var _scrollTop = jQuery.fn.scrollTop; // preserve original function + + jQuery.cssHooks.pageYOffset = { + get: function(elem, computed, extra) { + var nice = $.data(elem, '__nicescroll') || false; + return (nice && nice.ishwscroll) ? nice.getScrollTop() : _scrollTop.call(elem); + }, + set: function(elem, value) { + var nice = $.data(elem, '__nicescroll') || false; + (nice && nice.ishwscroll) ? nice.setScrollTop(parseInt(value)): _scrollTop.call(elem, value); + return this; + } + }; + + /* + $.fx.step["scrollTop"] = function(fx){ + $.cssHooks["scrollTop"].set( fx.elem, fx.now + fx.unit ); + }; +*/ + + jQuery.fn.scrollTop = function(value) { + if (value === undefined) { + var nice = (this[0]) ? $.data(this[0], '__nicescroll') || false : false; + return (nice && nice.ishwscroll) ? nice.getScrollTop() : _scrollTop.call(this); + } else { + return this.each(function() { + var nice = $.data(this, '__nicescroll') || false; + (nice && nice.ishwscroll) ? nice.setScrollTop(parseInt(value)): _scrollTop.call($(this), value); + }); + } + }; + + // override jQuery scrollLeft + + var _scrollLeft = jQuery.fn.scrollLeft; // preserve original function + + $.cssHooks.pageXOffset = { + get: function(elem, computed, extra) { + var nice = $.data(elem, '__nicescroll') || false; + return (nice && nice.ishwscroll) ? nice.getScrollLeft() : _scrollLeft.call(elem); + }, + set: function(elem, value) { + var nice = $.data(elem, '__nicescroll') || false; + (nice && nice.ishwscroll) ? nice.setScrollLeft(parseInt(value)): _scrollLeft.call(elem, value); + return this; + } + }; + + /* + $.fx.step["scrollLeft"] = function(fx){ + $.cssHooks["scrollLeft"].set( fx.elem, fx.now + fx.unit ); + }; +*/ + + jQuery.fn.scrollLeft = function(value) { + if (value === undefined) { + var nice = (this[0]) ? $.data(this[0], '__nicescroll') || false : false; + return (nice && nice.ishwscroll) ? nice.getScrollLeft() : _scrollLeft.call(this); + } else { + return this.each(function() { + var nice = $.data(this, '__nicescroll') || false; + (nice && nice.ishwscroll) ? nice.setScrollLeft(parseInt(value)): _scrollLeft.call($(this), value); + }); + } + }; + + var NiceScrollArray = function(doms) { + var self = this; + this.length = 0; + this.name = "nicescrollarray"; + + this.each = function(fn) { + $.each(self, fn); + return self; + }; + + this.push = function(nice) { + self[self.length] = nice; + self.length++; + }; + + this.eq = function(idx) { + return self[idx]; + }; + + if (doms) { + for (var a = 0; a < doms.length; a++) { + var nice = $.data(doms[a], '__nicescroll') || false; + if (nice) { + this[this.length] = nice; + this.length++; + } + } + } + + return this; + }; + + function mplex(el, lst, fn) { + for (var a = 0; a < lst.length; a++) fn(el, lst[a]); + } + mplex( + NiceScrollArray.prototype, ['show', 'hide', 'toggle', 'onResize', 'resize', 'remove', 'stop', 'doScrollPos'], + function(e, n) { + e[n] = function() { + var args = arguments; + return this.each(function() { + this[n].apply(this, args); + }); + }; + } + ); + + jQuery.fn.getNiceScroll = function(index) { + if (index === undefined) { + return new NiceScrollArray(this); + } else { + return this[index] && $.data(this[index], '__nicescroll') || false; + } + }; + + jQuery.expr[':'].nicescroll = function(a) { + return $.data(a, '__nicescroll') !== undefined; + }; + + $.fn.niceScroll = function(wrapper, opt) { + if (opt === undefined && typeof wrapper == "object" && !("jquery" in wrapper)) { + opt = wrapper; + wrapper = false; + } + opt = $.extend({},opt); // cloning + var ret = new NiceScrollArray(); + if (opt === undefined) opt = {}; + + if (wrapper || false) { + opt.doc = $(wrapper); + opt.win = $(this); + } + var docundef = !("doc" in opt); + if (!docundef && !("win" in opt)) opt.win = $(this); + + this.each(function() { + var nice = $(this).data('__nicescroll') || false; + if (!nice) { + opt.doc = (docundef) ? $(this) : opt.doc; + nice = new NiceScrollClass(opt, $(this)); + $(this).data('__nicescroll', nice); + } + ret.push(nice); + }); + return (ret.length == 1) ? ret[0] : ret; + }; + + window.NiceScroll = { + getjQuery: function() { + return jQuery; + } + }; + + if (!$.nicescroll) { + $.nicescroll = new NiceScrollArray(); + $.nicescroll.options = _globaloptions; + } + +})); + diff --git a/vvp/app/core/js/jquery.nicescroll-master/jquery.nicescroll.min.js b/vvp/app/core/js/jquery.nicescroll-master/jquery.nicescroll.min.js new file mode 100644 index 00000000..2013b3cc --- /dev/null +++ b/vvp/app/core/js/jquery.nicescroll-master/jquery.nicescroll.min.js @@ -0,0 +1,158 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +/* jquery.nicescroll 3.6.8 InuYaksa*2015 MIT http://nicescroll.areaaperta.com */(function(f){"function"===typeof define&&define.amd?define(["jquery"],f):"object"===typeof exports?module.exports=f(require("jquery")):f(jQuery)})(function(f){var B=!1,F=!1,O=0,P=2E3,A=0,J=["webkit","ms","moz","o"],v=window.requestAnimationFrame||!1,w=window.cancelAnimationFrame||!1;if(!v)for(var Q in J){var G=J[Q];if(v=window[G+"RequestAnimationFrame"]){w=window[G+"CancelAnimationFrame"]||window[G+"CancelRequestAnimationFrame"];break}}var x=window.MutationObserver||window.WebKitMutationObserver|| +!1,K={zindex:"auto",cursoropacitymin:0,cursoropacitymax:1,cursorcolor:"#424242",cursorwidth:"6px",cursorborder:"1px solid #fff",cursorborderradius:"5px",scrollspeed:60,mousescrollstep:24,touchbehavior:!1,hwacceleration:!0,usetransition:!0,boxzoom:!1,dblclickzoom:!0,gesturezoom:!0,grabcursorenabled:!0,autohidemode:!0,background:"",iframeautoresize:!0,cursorminheight:32,preservenativescrolling:!0,railoffset:!1,railhoffset:!1,bouncescroll:!0,spacebarenabled:!0,railpadding:{top:0,right:0,left:0,bottom:0}, +disableoutline:!0,horizrailenabled:!0,railalign:"right",railvalign:"bottom",enabletranslate3d:!0,enablemousewheel:!0,enablekeyboard:!0,smoothscroll:!0,sensitiverail:!0,enablemouselockapi:!0,cursorfixedheight:!1,directionlockdeadzone:6,hidecursordelay:400,nativeparentscrolling:!0,enablescrollonselection:!0,overflowx:!0,overflowy:!0,cursordragspeed:.3,rtlmode:"auto",cursordragontouch:!1,oneaxismousemode:"auto",scriptpath:function(){var f=document.getElementsByTagName("script"),f=f.length?f[f.length- +1].src.split("?")[0]:"";return 0d?a.getScrollLeft()>=a.page.maxw:0>=a.getScrollLeft())&&(e=d,d=0));a.isrtlmode&&(d=-d);d&&(a.scrollmom&&a.scrollmom.stop(),a.lastdeltax+=d,a.debounced("mousewheelx",function(){var b=a.lastdeltax;a.lastdeltax=0;a.rail.drag||a.doScrollLeftBy(b)},15));if(e){if(a.opt.nativeparentscrolling&&c&&!a.ispage&&!a.zoomactive)if(0>e){if(a.getScrollTop()>=a.page.maxh)return!0}else if(0>=a.getScrollTop())return!0;a.scrollmom&&a.scrollmom.stop();a.lastdeltay+=e; +a.synched("mousewheely",function(){var b=a.lastdeltay;a.lastdeltay=0;a.rail.drag||a.doScrollBy(b)},15)}b.stopImmediatePropagation();return b.preventDefault()}var a=this;this.version="3.6.8";this.name="nicescroll";this.me=c;this.opt={doc:f("body"),win:!1};f.extend(this.opt,K);this.opt.snapbackspeed=80;if(h)for(var r in a.opt)void 0!==h[r]&&(a.opt[r]=h[r]);a.opt.disablemutationobserver&&(x=!1);this.iddoc=(this.doc=a.opt.doc)&&this.doc[0]?this.doc[0].id||"":"";this.ispage=/^BODY|HTML/.test(a.opt.win? +a.opt.win[0].nodeName:this.doc[0].nodeName);this.haswrapper=!1!==a.opt.win;this.win=a.opt.win||(this.ispage?f(window):this.doc);this.docscroll=this.ispage&&!this.haswrapper?f(window):this.win;this.body=f("body");this.iframe=this.isfixed=this.viewport=!1;this.isiframe="IFRAME"==this.doc[0].nodeName&&"IFRAME"==this.win[0].nodeName;this.istextarea="TEXTAREA"==this.win[0].nodeName;this.forcescreen=!1;this.canshowonmouseevent="scroll"!=a.opt.autohidemode;this.page=this.view=this.onzoomout=this.onzoomin= +this.onscrollcancel=this.onscrollend=this.onscrollstart=this.onclick=this.ongesturezoom=this.onkeypress=this.onmousewheel=this.onmousemove=this.onmouseup=this.onmousedown=!1;this.scroll={x:0,y:0};this.scrollratio={x:0,y:0};this.cursorheight=20;this.scrollvaluemax=0;if("auto"==this.opt.rtlmode){r=this.win[0]==window?this.body:this.win;var p=r.css("writing-mode")||r.css("-webkit-writing-mode")||r.css("-ms-writing-mode")||r.css("-moz-writing-mode");"horizontal-tb"==p||"lr-tb"==p||""==p?(this.isrtlmode= +"rtl"==r.css("direction"),this.isvertical=!1):(this.isrtlmode="vertical-rl"==p||"tb"==p||"tb-rl"==p||"rl-tb"==p,this.isvertical="vertical-rl"==p||"tb"==p||"tb-rl"==p)}else this.isrtlmode=!0===this.opt.rtlmode,this.isvertical=!1;this.observerbody=this.observerremover=this.observer=this.scrollmom=this.scrollrunning=!1;do this.id="ascrail"+P++;while(document.getElementById(this.id));this.hasmousefocus=this.hasfocus=this.zoomactive=this.zoom=this.selectiondrag=this.cursorfreezed=this.cursor=this.rail= +!1;this.visibility=!0;this.hidden=this.locked=this.railslocked=!1;this.cursoractive=!0;this.wheelprevented=!1;this.overflowx=a.opt.overflowx;this.overflowy=a.opt.overflowy;this.nativescrollingarea=!1;this.checkarea=0;this.events=[];this.saved={};this.delaylist={};this.synclist={};this.lastdeltay=this.lastdeltax=0;this.detected=R();var e=f.extend({},this.detected);this.ishwscroll=(this.canhwscroll=e.hastransform&&a.opt.hwacceleration)&&a.haswrapper;this.hasreversehr=this.isrtlmode?this.isvertical? +!(e.iswebkit||e.isie||e.isie11):!(e.iswebkit||e.isie&&!e.isie10&&!e.isie11):!1;this.istouchcapable=!1;e.cantouch||!e.hasw3ctouch&&!e.hasmstouch?!e.cantouch||e.isios||e.isandroid||!e.iswebkit&&!e.ismozilla||(this.istouchcapable=!0):this.istouchcapable=!0;a.opt.enablemouselockapi||(e.hasmousecapture=!1,e.haspointerlock=!1);this.debounced=function(b,g,c){a&&(a.delaylist[b]||(g.call(a),a.delaylist[b]={h:v(function(){a.delaylist[b].fn.call(a);a.delaylist[b]=!1},c)}),a.delaylist[b].fn=g)};var I=!1;this.synched= +function(b,g){a.synclist[b]=g;(function(){I||(v(function(){if(a){I=!1;for(var b in a.synclist){var g=a.synclist[b];g&&g.call(a);a.synclist[b]=!1}}}),I=!0)})();return b};this.unsynched=function(b){a.synclist[b]&&(a.synclist[b]=!1)};this.css=function(b,g){for(var c in g)a.saved.css.push([b,c,b.css(c)]),b.css(c,g[c])};this.scrollTop=function(b){return void 0===b?a.getScrollTop():a.setScrollTop(b)};this.scrollLeft=function(b){return void 0===b?a.getScrollLeft():a.setScrollLeft(b)};var D=function(a,g, +c,d,e,f,k){this.st=a;this.ed=g;this.spd=c;this.p1=d||0;this.p2=e||1;this.p3=f||0;this.p4=k||1;this.ts=(new Date).getTime();this.df=this.ed-this.st};D.prototype={B2:function(a){return 3*a*a*(1-a)},B3:function(a){return 3*a*(1-a)*(1-a)},B4:function(a){return(1-a)*(1-a)*(1-a)},getNow:function(){var a=1-((new Date).getTime()-this.ts)/this.spd,g=this.B2(a)+this.B3(a)+this.B4(a);return 0>a?this.ed:this.st+Math.round(this.df*g)},update:function(a,g){this.st=this.getNow();this.ed=a;this.spd=g;this.ts=(new Date).getTime(); +this.df=this.ed-this.st;return this}};if(this.ishwscroll){this.doc.translate={x:0,y:0,tx:"0px",ty:"0px"};e.hastranslate3d&&e.isios&&this.doc.css("-webkit-backface-visibility","hidden");this.getScrollTop=function(b){if(!b){if(b=k())return 16==b.length?-b[13]:-b[5];if(a.timerscroll&&a.timerscroll.bz)return a.timerscroll.bz.getNow()}return a.doc.translate.y};this.getScrollLeft=function(b){if(!b){if(b=k())return 16==b.length?-b[12]:-b[4];if(a.timerscroll&&a.timerscroll.bh)return a.timerscroll.bh.getNow()}return a.doc.translate.x}; +this.notifyScrollEvent=function(a){var g=document.createEvent("UIEvents");g.initUIEvent("scroll",!1,!0,window,1);g.niceevent=!0;a.dispatchEvent(g)};var y=this.isrtlmode?1:-1;e.hastranslate3d&&a.opt.enabletranslate3d?(this.setScrollTop=function(b,g){a.doc.translate.y=b;a.doc.translate.ty=-1*b+"px";a.doc.css(e.trstyle,"translate3d("+a.doc.translate.tx+","+a.doc.translate.ty+",0px)");g||a.notifyScrollEvent(a.win[0])},this.setScrollLeft=function(b,g){a.doc.translate.x=b;a.doc.translate.tx=b*y+"px";a.doc.css(e.trstyle, +"translate3d("+a.doc.translate.tx+","+a.doc.translate.ty+",0px)");g||a.notifyScrollEvent(a.win[0])}):(this.setScrollTop=function(b,g){a.doc.translate.y=b;a.doc.translate.ty=-1*b+"px";a.doc.css(e.trstyle,"translate("+a.doc.translate.tx+","+a.doc.translate.ty+")");g||a.notifyScrollEvent(a.win[0])},this.setScrollLeft=function(b,g){a.doc.translate.x=b;a.doc.translate.tx=b*y+"px";a.doc.css(e.trstyle,"translate("+a.doc.translate.tx+","+a.doc.translate.ty+")");g||a.notifyScrollEvent(a.win[0])})}else this.getScrollTop= +function(){return a.docscroll.scrollTop()},this.setScrollTop=function(b){return setTimeout(function(){a&&a.docscroll.scrollTop(b)},1)},this.getScrollLeft=function(){return a.hasreversehr?a.detected.ismozilla?a.page.maxw-Math.abs(a.docscroll.scrollLeft()):a.page.maxw-a.docscroll.scrollLeft():a.docscroll.scrollLeft()},this.setScrollLeft=function(b){return setTimeout(function(){if(a)return a.hasreversehr&&(b=a.detected.ismozilla?-(a.page.maxw-b):a.page.maxw-b),a.docscroll.scrollLeft(b)},1)};this.getTarget= +function(a){return a?a.target?a.target:a.srcElement?a.srcElement:!1:!1};this.hasParent=function(a,g){if(!a)return!1;for(var c=a.target||a.srcElement||a||!1;c&&c.id!=g;)c=c.parentNode||!1;return!1!==c};var z={thin:1,medium:3,thick:5};this.getDocumentScrollOffset=function(){return{top:window.pageYOffset||document.documentElement.scrollTop,left:window.pageXOffset||document.documentElement.scrollLeft}};this.getOffset=function(){if(a.isfixed){var b=a.win.offset(),g=a.getDocumentScrollOffset();b.top-=g.top; +b.left-=g.left;return b}b=a.win.offset();if(!a.viewport)return b;g=a.viewport.offset();return{top:b.top-g.top,left:b.left-g.left}};this.updateScrollBar=function(b){var g,c,e;if(a.ishwscroll)a.rail.css({height:a.win.innerHeight()-(a.opt.railpadding.top+a.opt.railpadding.bottom)}),a.railh&&a.railh.css({width:a.win.innerWidth()-(a.opt.railpadding.left+a.opt.railpadding.right)});else{var f=a.getOffset();g=f.top;c=f.left-(a.opt.railpadding.left+a.opt.railpadding.right);g+=d(a.win,"border-top-width",!0); +c+=a.rail.align?a.win.outerWidth()-d(a.win,"border-right-width")-a.rail.width:d(a.win,"border-left-width");if(e=a.opt.railoffset)e.top&&(g+=e.top),e.left&&(c+=e.left);a.railslocked||a.rail.css({top:g,left:c,height:(b?b.h:a.win.innerHeight())-(a.opt.railpadding.top+a.opt.railpadding.bottom)});a.zoom&&a.zoom.css({top:g+1,left:1==a.rail.align?c-20:c+a.rail.width+4});if(a.railh&&!a.railslocked){g=f.top;c=f.left;if(e=a.opt.railhoffset)e.top&&(g+=e.top),e.left&&(c+=e.left);b=a.railh.align?g+d(a.win,"border-top-width", +!0)+a.win.innerHeight()-a.railh.height:g+d(a.win,"border-top-width",!0);c+=d(a.win,"border-left-width");a.railh.css({top:b-(a.opt.railpadding.top+a.opt.railpadding.bottom),left:c,width:a.railh.width})}}};this.doRailClick=function(b,g,c){var d;a.railslocked||(a.cancelEvent(b),g?(g=c?a.doScrollLeft:a.doScrollTop,d=c?(b.pageX-a.railh.offset().left-a.cursorwidth/2)*a.scrollratio.x:(b.pageY-a.rail.offset().top-a.cursorheight/2)*a.scrollratio.y,g(d)):(g=c?a.doScrollLeftBy:a.doScrollBy,d=c?a.scroll.x:a.scroll.y, +b=c?b.pageX-a.railh.offset().left:b.pageY-a.rail.offset().top,c=c?a.view.w:a.view.h,g(d>=b?c:-c)))};a.hasanimationframe=v;a.hascancelanimationframe=w;a.hasanimationframe?a.hascancelanimationframe||(w=function(){a.cancelAnimationFrame=!0}):(v=function(a){return setTimeout(a,15-Math.floor(+new Date/1E3)%16)},w=clearTimeout);this.init=function(){a.saved.css=[];if(e.isie7mobile||e.isoperamini)return!0;e.hasmstouch&&a.css(a.ispage?f("html"):a.win,{_touchaction:"none"});var b=e.ismodernie||e.isie10?{"-ms-overflow-style":"none"}: +{"overflow-y":"hidden"};a.zindex="auto";a.zindex=a.ispage||"auto"!=a.opt.zindex?a.opt.zindex:l()||"auto";!a.ispage&&"auto"!=a.zindex&&a.zindex>A&&(A=a.zindex);a.isie&&0==a.zindex&&"auto"==a.opt.zindex&&(a.zindex="auto");if(!a.ispage||!e.cantouch&&!e.isieold&&!e.isie9mobile){var c=a.docscroll;a.ispage&&(c=a.haswrapper?a.win:a.doc);e.isie9mobile||a.css(c,b);a.ispage&&e.isie7&&("BODY"==a.doc[0].nodeName?a.css(f("html"),{"overflow-y":"hidden"}):"HTML"==a.doc[0].nodeName&&a.css(f("body"),b));!e.isios|| +a.ispage||a.haswrapper||a.css(f("body"),{"-webkit-overflow-scrolling":"touch"});var d=f(document.createElement("div"));d.css({position:"relative",top:0,"float":"right",width:a.opt.cursorwidth,height:0,"background-color":a.opt.cursorcolor,border:a.opt.cursorborder,"background-clip":"padding-box","-webkit-border-radius":a.opt.cursorborderradius,"-moz-border-radius":a.opt.cursorborderradius,"border-radius":a.opt.cursorborderradius});d.hborder=parseFloat(d.outerHeight()-d.innerHeight());d.addClass("nicescroll-cursors"); +a.cursor=d;var m=f(document.createElement("div"));m.attr("id",a.id);m.addClass("nicescroll-rails nicescroll-rails-vr");var k,h,p=["left","right","top","bottom"],L;for(L in p)h=p[L],(k=a.opt.railpadding[h])?m.css("padding-"+h,k+"px"):a.opt.railpadding[h]=0;m.append(d);m.width=Math.max(parseFloat(a.opt.cursorwidth),d.outerWidth());m.css({width:m.width+"px",zIndex:a.zindex,background:a.opt.background,cursor:"default"});m.visibility=!0;m.scrollable=!0;m.align="left"==a.opt.railalign?0:1;a.rail=m;d=a.rail.drag= +!1;!a.opt.boxzoom||a.ispage||e.isieold||(d=document.createElement("div"),a.bind(d,"click",a.doZoom),a.bind(d,"mouseenter",function(){a.zoom.css("opacity",a.opt.cursoropacitymax)}),a.bind(d,"mouseleave",function(){a.zoom.css("opacity",a.opt.cursoropacitymin)}),a.zoom=f(d),a.zoom.css({cursor:"pointer",zIndex:a.zindex,backgroundImage:"url("+a.opt.scriptpath+"zoomico.png)",height:18,width:18,backgroundPosition:"0px 0px"}),a.opt.dblclickzoom&&a.bind(a.win,"dblclick",a.doZoom),e.cantouch&&a.opt.gesturezoom&& +(a.ongesturezoom=function(b){1.5b.scale&&a.doZoomOut(b);return a.cancelEvent(b)},a.bind(a.win,"gestureend",a.ongesturezoom)));a.railh=!1;var n;a.opt.horizrailenabled&&(a.css(c,{overflowX:"hidden"}),d=f(document.createElement("div")),d.css({position:"absolute",top:0,height:a.opt.cursorwidth,width:0,backgroundColor:a.opt.cursorcolor,border:a.opt.cursorborder,backgroundClip:"padding-box","-webkit-border-radius":a.opt.cursorborderradius,"-moz-border-radius":a.opt.cursorborderradius, +"border-radius":a.opt.cursorborderradius}),e.isieold&&d.css("overflow","hidden"),d.wborder=parseFloat(d.outerWidth()-d.innerWidth()),d.addClass("nicescroll-cursors"),a.cursorh=d,n=f(document.createElement("div")),n.attr("id",a.id+"-hr"),n.addClass("nicescroll-rails nicescroll-rails-hr"),n.height=Math.max(parseFloat(a.opt.cursorwidth),d.outerHeight()),n.css({height:n.height+"px",zIndex:a.zindex,background:a.opt.background}),n.append(d),n.visibility=!0,n.scrollable=!0,n.align="top"==a.opt.railvalign? +0:1,a.railh=n,a.railh.drag=!1);a.ispage?(m.css({position:"fixed",top:0,height:"100%"}),m.align?m.css({right:0}):m.css({left:0}),a.body.append(m),a.railh&&(n.css({position:"fixed",left:0,width:"100%"}),n.align?n.css({bottom:0}):n.css({top:0}),a.body.append(n))):(a.ishwscroll?("static"==a.win.css("position")&&a.css(a.win,{position:"relative"}),c="HTML"==a.win[0].nodeName?a.body:a.win,f(c).scrollTop(0).scrollLeft(0),a.zoom&&(a.zoom.css({position:"absolute",top:1,right:0,"margin-right":m.width+4}),c.append(a.zoom)), +m.css({position:"absolute",top:0}),m.align?m.css({right:0}):m.css({left:0}),c.append(m),n&&(n.css({position:"absolute",left:0,bottom:0}),n.align?n.css({bottom:0}):n.css({top:0}),c.append(n))):(a.isfixed="fixed"==a.win.css("position"),c=a.isfixed?"fixed":"absolute",a.isfixed||(a.viewport=a.getViewport(a.win[0])),a.viewport&&(a.body=a.viewport,0==/fixed|absolute/.test(a.viewport.css("position"))&&a.css(a.viewport,{position:"relative"})),m.css({position:c}),a.zoom&&a.zoom.css({position:c}),a.updateScrollBar(), +a.body.append(m),a.zoom&&a.body.append(a.zoom),a.railh&&(n.css({position:c}),a.body.append(n))),e.isios&&a.css(a.win,{"-webkit-tap-highlight-color":"rgba(0,0,0,0)","-webkit-touch-callout":"none"}),e.isie&&a.opt.disableoutline&&a.win.attr("hideFocus","true"),e.iswebkit&&a.opt.disableoutline&&a.win.css("outline","none"));!1===a.opt.autohidemode?(a.autohidedom=!1,a.rail.css({opacity:a.opt.cursoropacitymax}),a.railh&&a.railh.css({opacity:a.opt.cursoropacitymax})):!0===a.opt.autohidemode||"leave"===a.opt.autohidemode? +(a.autohidedom=f().add(a.rail),e.isie8&&(a.autohidedom=a.autohidedom.add(a.cursor)),a.railh&&(a.autohidedom=a.autohidedom.add(a.railh)),a.railh&&e.isie8&&(a.autohidedom=a.autohidedom.add(a.cursorh))):"scroll"==a.opt.autohidemode?(a.autohidedom=f().add(a.rail),a.railh&&(a.autohidedom=a.autohidedom.add(a.railh))):"cursor"==a.opt.autohidemode?(a.autohidedom=f().add(a.cursor),a.railh&&(a.autohidedom=a.autohidedom.add(a.cursorh))):"hidden"==a.opt.autohidemode&&(a.autohidedom=!1,a.hide(),a.railslocked= +!1);if(e.isie9mobile)a.scrollmom=new M(a),a.onmangotouch=function(){var b=a.getScrollTop(),c=a.getScrollLeft();if(b==a.scrollmom.lastscrolly&&c==a.scrollmom.lastscrollx)return!0;var g=b-a.mangotouch.sy,d=c-a.mangotouch.sx;if(0!=Math.round(Math.sqrt(Math.pow(d,2)+Math.pow(g,2)))){var e=0>g?-1:1,f=0>d?-1:1,u=+new Date;a.mangotouch.lazy&&clearTimeout(a.mangotouch.lazy);80h?h=Math.round(h/2):h>a.page.maxh&&(h=a.page.maxh+Math.round((h-a.page.maxh)/2)):(0>h&&(u=h=0),h>a.page.maxh&&(h=a.page.maxh,u=0));var l;a.railh&&a.railh.scrollable&&(l=a.isrtlmode?k-a.rail.drag.sl:a.rail.drag.sl-k,a.ishwscroll&&a.opt.bouncescroll?0>l?l=Math.round(l/2):l>a.page.maxw&&(l=a.page.maxw+Math.round((l-a.page.maxw)/ +2)):(0>l&&(m=l=0),l>a.page.maxw&&(l=a.page.maxw,m=0)));g=!1;if(a.rail.drag.dl)g=!0,"v"==a.rail.drag.dl?l=a.rail.drag.sl:"h"==a.rail.drag.dl&&(h=a.rail.drag.st);else{d=Math.abs(d);var k=Math.abs(k),C=a.opt.directionlockdeadzone;if("v"==a.rail.drag.ck){if(d>C&&k<=.3*d)return a.rail.drag=!1,!0;k>C&&(a.rail.drag.dl="f",f("body").scrollTop(f("body").scrollTop()))}else if("h"==a.rail.drag.ck){if(k>C&&d<=.3*k)return a.rail.drag=!1,!0;d>C&&(a.rail.drag.dl="f",f("body").scrollLeft(f("body").scrollLeft()))}}a.synched("touchmove", +function(){a.rail.drag&&2==a.rail.drag.pt&&(a.prepareTransition&&a.prepareTransition(0),a.rail.scrollable&&a.setScrollTop(h),a.scrollmom.update(m,u),a.railh&&a.railh.scrollable?(a.setScrollLeft(l),a.showCursor(h,l)):a.showCursor(h),e.isie10&&document.selection.clear())});e.ischrome&&a.istouchcapable&&(g=!1);if(g)return a.cancelEvent(b)}else if(1==a.rail.drag.pt)return a.onmousemove(b)}}a.onmousedown=function(b,c){if(!a.rail.drag||1==a.rail.drag.pt){if(a.railslocked)return a.cancelEvent(b);a.cancelScroll(); +a.rail.drag={x:b.clientX,y:b.clientY,sx:a.scroll.x,sy:a.scroll.y,pt:1,hr:!!c};var g=a.getTarget(b);!a.ispage&&e.hasmousecapture&&g.setCapture();a.isiframe&&!e.hasmousecapture&&(a.saved.csspointerevents=a.doc.css("pointer-events"),a.css(a.doc,{"pointer-events":"none"}));a.hasmoving=!1;return a.cancelEvent(b)}};a.onmouseup=function(b){if(a.rail.drag){if(1!=a.rail.drag.pt)return!0;e.hasmousecapture&&document.releaseCapture();a.isiframe&&!e.hasmousecapture&&a.doc.css("pointer-events",a.saved.csspointerevents); +a.rail.drag=!1;a.hasmoving&&a.triggerScrollEnd();return a.cancelEvent(b)}};a.onmousemove=function(b){if(a.rail.drag){if(1==a.rail.drag.pt){if(e.ischrome&&0==b.which)return a.onmouseup(b);a.cursorfreezed=!0;a.hasmoving=!0;if(a.rail.drag.hr){a.scroll.x=a.rail.drag.sx+(b.clientX-a.rail.drag.x);0>a.scroll.x&&(a.scroll.x=0);var c=a.scrollvaluemaxw;a.scroll.x>c&&(a.scroll.x=c)}else a.scroll.y=a.rail.drag.sy+(b.clientY-a.rail.drag.y),0>a.scroll.y&&(a.scroll.y=0),c=a.scrollvaluemax,a.scroll.y>c&&(a.scroll.y= +c);a.synched("mousemove",function(){a.rail.drag&&1==a.rail.drag.pt&&(a.showCursor(),a.rail.drag.hr?a.hasreversehr?a.doScrollLeft(a.scrollvaluemaxw-Math.round(a.scroll.x*a.scrollratio.x),a.opt.cursordragspeed):a.doScrollLeft(Math.round(a.scroll.x*a.scrollratio.x),a.opt.cursordragspeed):a.doScrollTop(Math.round(a.scroll.y*a.scrollratio.y),a.opt.cursordragspeed))});return a.cancelEvent(b)}}else a.checkarea=0};if(e.cantouch||a.opt.touchbehavior)a.onpreventclick=function(b){if(a.preventclick)return a.preventclick.tg.onclick= +a.preventclick.click,a.preventclick=!1,a.cancelEvent(b)},a.bind(a.win,"mousedown",a.ontouchstart),a.onclick=e.isios?!1:function(b){return a.lastmouseup?(a.lastmouseup=!1,a.cancelEvent(b)):!0},a.opt.grabcursorenabled&&e.cursorgrabvalue&&(a.css(a.ispage?a.doc:a.win,{cursor:e.cursorgrabvalue}),a.css(a.rail,{cursor:e.cursorgrabvalue}));else{var r=function(b){if(a.selectiondrag){if(b){var c=a.win.outerHeight();b=b.pageY-a.selectiondrag.top;0=c&&(b-=c);a.selectiondrag.df=b}0!=a.selectiondrag.df&& +(a.doScrollBy(2*-Math.floor(a.selectiondrag.df/6)),a.debounced("doselectionscroll",function(){r()},50))}};a.hasTextSelected="getSelection"in document?function(){return 0a.page.maxh?a.doScrollTop(a.page.maxh):(a.scroll.y=Math.round(a.getScrollTop()* +(1/a.scrollratio.y)),a.scroll.x=Math.round(a.getScrollLeft()*(1/a.scrollratio.x)),a.cursoractive&&a.noticeCursor());a.scroll.y&&0==a.getScrollTop()&&a.doScrollTo(Math.floor(a.scroll.y*a.scrollratio.y));return a};this.resize=a.onResize;this.hlazyresize=0;this.lazyResize=function(b){a.haswrapper||a.hide();a.hlazyresize&&clearTimeout(a.hlazyresize);a.hlazyresize=setTimeout(function(){a&&a.show().resize()},240);return a};this.jqbind=function(b,c,d){a.events.push({e:b,n:c,f:d,q:!0});f(b).bind(c,d)};this.mousewheel= +function(b,c,d){b="jquery"in b?b[0]:b;if("onwheel"in document.createElement("div"))a._bind(b,"wheel",c,d||!1);else{var e=void 0!==document.onmousewheel?"mousewheel":"DOMMouseScroll";q(b,e,c,d||!1);"DOMMouseScroll"==e&&q(b,"MozMousePixelScroll",c,d||!1)}};e.haseventlistener?(this.bind=function(b,c,d,e){a._bind("jquery"in b?b[0]:b,c,d,e||!1)},this._bind=function(b,c,d,e){a.events.push({e:b,n:c,f:d,b:e,q:!1});b.addEventListener(c,d,e||!1)},this.cancelEvent=function(a){if(!a)return!1;a=a.original?a.original: +a;a.cancelable&&a.preventDefault();a.stopPropagation();a.preventManipulation&&a.preventManipulation();return!1},this.stopPropagation=function(a){if(!a)return!1;a=a.original?a.original:a;a.stopPropagation();return!1},this._unbind=function(a,c,d,e){a.removeEventListener(c,d,e)}):(this.bind=function(b,c,d,e){var f="jquery"in b?b[0]:b;a._bind(f,c,function(b){(b=b||window.event||!1)&&b.srcElement&&(b.target=b.srcElement);"pageY"in b||(b.pageX=b.clientX+document.documentElement.scrollLeft,b.pageY=b.clientY+ +document.documentElement.scrollTop);return!1===d.call(f,b)||!1===e?a.cancelEvent(b):!0})},this._bind=function(b,c,d,e){a.events.push({e:b,n:c,f:d,b:e,q:!1});b.attachEvent?b.attachEvent("on"+c,d):b["on"+c]=d},this.cancelEvent=function(a){a=window.event||!1;if(!a)return!1;a.cancelBubble=!0;a.cancel=!0;return a.returnValue=!1},this.stopPropagation=function(a){a=window.event||!1;if(!a)return!1;a.cancelBubble=!0;return!1},this._unbind=function(a,c,d,e){a.detachEvent?a.detachEvent("on"+c,d):a["on"+c]=!1}); +this.unbindAll=function(){for(var b=0;b(a.newscrolly-f)*(c-f)||0>(a.newscrollx-k)*(b-k))&&a.cancelScroll();0==a.opt.bouncescroll&&(0>c?c=0:c>a.page.maxh&&(c=a.page.maxh),0>b?b=0:b>a.page.maxw&&(b=a.page.maxw));if(a.scrollrunning&&b==a.newscrollx&&c==a.newscrolly)return!1;a.newscrolly=c;a.newscrollx=b;a.newscrollspeed=d||!1;if(a.timer)return!1;a.timer=setTimeout(function(){var d=a.getScrollTop(),f=a.getScrollLeft(), +k=Math.round(Math.sqrt(Math.pow(b-f,2)+Math.pow(c-d,2))),k=a.newscrollspeed&&1=a.newscrollspeed&&(k*=a.newscrollspeed);a.prepareTransition(k,!0);a.timerscroll&&a.timerscroll.tm&&clearInterval(a.timerscroll.tm);0b?b=0:b>a.page.maxh&&(b=a.page.maxh);0>c?c=0:c>a.page.maxw&&(c=a.page.maxw);if(b!=a.newscrolly||c!=a.newscrollx)return a.doScrollPos(c, +b,a.opt.snapbackspeed);a.onscrollend&&a.scrollrunning&&a.triggerScrollEnd();a.scrollrunning=!1}):(this.doScrollLeft=function(b,c){var d=a.scrollrunning?a.newscrolly:a.getScrollTop();a.doScrollPos(b,d,c)},this.doScrollTop=function(b,c){var d=a.scrollrunning?a.newscrollx:a.getScrollLeft();a.doScrollPos(d,b,c)},this.doScrollPos=function(b,c,d){function e(){if(a.cancelAnimationFrame)return!0;a.scrollrunning=!0;if(p=1-p)return a.timer=v(e)||1;var b=0,c,d,f=d=a.getScrollTop();if(a.dst.ay){f=a.bzscroll? +a.dst.py+a.bzscroll.getNow()*a.dst.ay:a.newscrolly;c=f-d;if(0>c&&fa.newscrolly)f=a.newscrolly;a.setScrollTop(f);f==a.newscrolly&&(b=1)}else b=1;d=c=a.getScrollLeft();if(a.dst.ax){d=a.bzscroll?a.dst.px+a.bzscroll.getNow()*a.dst.ax:a.newscrollx;c=d-c;if(0>c&&da.newscrollx)d=a.newscrollx;a.setScrollLeft(d);d==a.newscrollx&&(b+=1)}else b+=1;2==b?(a.timer=0,a.cursorfreezed=!1,a.bzscroll=!1,a.scrollrunning=!1,0>f?f=0:f>a.page.maxh&&(f=Math.max(0,a.page.maxh)), +0>d?d=0:d>a.page.maxw&&(d=a.page.maxw),d!=a.newscrollx||f!=a.newscrolly?a.doScrollPos(d,f):a.onscrollend&&a.triggerScrollEnd()):a.timer=v(e)||1}c=void 0===c||!1===c?a.getScrollTop(!0):c;if(a.timer&&a.newscrolly==c&&a.newscrollx==b)return!0;a.timer&&w(a.timer);a.timer=0;var f=a.getScrollTop(),k=a.getScrollLeft();(0>(a.newscrolly-f)*(c-f)||0>(a.newscrollx-k)*(b-k))&&a.cancelScroll();a.newscrolly=c;a.newscrollx=b;a.bouncescroll&&a.rail.visibility||(0>a.newscrolly?a.newscrolly=0:a.newscrolly>a.page.maxh&& +(a.newscrolly=a.page.maxh));a.bouncescroll&&a.railh.visibility||(0>a.newscrollx?a.newscrollx=0:a.newscrollx>a.page.maxw&&(a.newscrollx=a.page.maxw));a.dst={};a.dst.x=b-k;a.dst.y=c-f;a.dst.px=k;a.dst.py=f;var h=Math.round(Math.sqrt(Math.pow(a.dst.x,2)+Math.pow(a.dst.y,2)));a.dst.ax=a.dst.x/h;a.dst.ay=a.dst.y/h;var l=0,n=h;0==a.dst.x?(l=f,n=c,a.dst.ay=1,a.dst.py=0):0==a.dst.y&&(l=k,n=b,a.dst.ax=1,a.dst.px=0);h=a.getTransitionSpeed(h);d&&1>=d&&(h*=d);a.bzscroll=0=a.page.maxh||k==a.page.maxw&&b>=a.page.maxw)&&a.checkContentSize();var p=1;a.cancelAnimationFrame=!1;a.timer=1;a.onscrollstart&&!a.scrollrunning&&a.onscrollstart.call(a,{type:"scrollstart",current:{x:k,y:f},request:{x:b,y:c},end:{x:a.newscrollx,y:a.newscrolly},speed:h});e();(f==a.page.maxh&&c>=f||k==a.page.maxw&&b>=k)&&a.checkContentSize();a.noticeCursor()}},this.cancelScroll=function(){a.timer&&w(a.timer);a.timer=0;a.bzscroll=!1;a.scrollrunning= +!1;return a}):(this.doScrollLeft=function(b,c){var d=a.getScrollTop();a.doScrollPos(b,d,c)},this.doScrollTop=function(b,c){var d=a.getScrollLeft();a.doScrollPos(d,b,c)},this.doScrollPos=function(b,c,d){var e=b>a.page.maxw?a.page.maxw:b;0>e&&(e=0);var f=c>a.page.maxh?a.page.maxh:c;0>f&&(f=0);a.synched("scroll",function(){a.setScrollTop(f);a.setScrollLeft(e)})},this.cancelScroll=function(){});this.doScrollBy=function(b,c){var d=0,d=c?Math.floor((a.scroll.y-b)*a.scrollratio.y):(a.timer?a.newscrolly: +a.getScrollTop(!0))-b;if(a.bouncescroll){var e=Math.round(a.view.h/2);d<-e?d=-e:d>a.page.maxh+e&&(d=a.page.maxh+e)}a.cursorfreezed=!1;e=a.getScrollTop(!0);if(0>d&&0>=e)return a.noticeCursor();if(d>a.page.maxh&&e>=a.page.maxh)return a.checkContentSize(),a.noticeCursor();a.doScrollTop(d)};this.doScrollLeftBy=function(b,c){var d=0,d=c?Math.floor((a.scroll.x-b)*a.scrollratio.x):(a.timer?a.newscrollx:a.getScrollLeft(!0))-b;if(a.bouncescroll){var e=Math.round(a.view.w/2);d<-e?d=-e:d>a.page.maxw+e&&(d=a.page.maxw+ +e)}a.cursorfreezed=!1;e=a.getScrollLeft(!0);if(0>d&&0>=e||d>a.page.maxw&&e>=a.page.maxw)return a.noticeCursor();a.doScrollLeft(d)};this.doScrollTo=function(b,c){a.cursorfreezed=!1;a.doScrollTop(b)};this.checkContentSize=function(){var b=a.getContentSize();b.h==a.page.h&&b.w==a.page.w||a.resize(!1,b)};a.onscroll=function(b){a.rail.drag||a.cursorfreezed||a.synched("scroll",function(){a.scroll.y=Math.round(a.getScrollTop()*(1/a.scrollratio.y));a.railh&&(a.scroll.x=Math.round(a.getScrollLeft()*(1/a.scrollratio.x))); +a.noticeCursor()})};a.bind(a.docscroll,"scroll",a.onscroll);this.doZoomIn=function(b){if(!a.zoomactive){a.zoomactive=!0;a.zoomrestore={style:{}};var c="position top left zIndex backgroundColor marginTop marginBottom marginLeft marginRight".split(" "),d=a.win[0].style,k;for(k in c){var h=c[k];a.zoomrestore.style[h]=void 0!==d[h]?d[h]:""}a.zoomrestore.style.width=a.win.css("width");a.zoomrestore.style.height=a.win.css("height");a.zoomrestore.padding={w:a.win.outerWidth()-a.win.width(),h:a.win.outerHeight()- +a.win.height()};e.isios4&&(a.zoomrestore.scrollTop=f(window).scrollTop(),f(window).scrollTop(0));a.win.css({position:e.isios4?"absolute":"fixed",top:0,left:0,zIndex:A+100,margin:0});c=a.win.css("backgroundColor");(""==c||/transparent|rgba\(0, 0, 0, 0\)|rgba\(0,0,0,0\)/.test(c))&&a.win.css("backgroundColor","#fff");a.rail.css({zIndex:A+101});a.zoom.css({zIndex:A+102});a.zoom.css("backgroundPosition","0px -18px");a.resizeZoom();a.onzoomin&&a.onzoomin.call(a);return a.cancelEvent(b)}};this.doZoomOut= +function(b){if(a.zoomactive)return a.zoomactive=!1,a.win.css("margin",""),a.win.css(a.zoomrestore.style),e.isios4&&f(window).scrollTop(a.zoomrestore.scrollTop),a.rail.css({"z-index":a.zindex}),a.zoom.css({"z-index":a.zindex}),a.zoomrestore=!1,a.zoom.css("backgroundPosition","0px 0px"),a.onResize(),a.onzoomout&&a.onzoomout.call(a),a.cancelEvent(b)};this.doZoom=function(b){return a.zoomactive?a.doZoomOut(b):a.doZoomIn(b)};this.resizeZoom=function(){if(a.zoomactive){var b=a.getScrollTop();a.win.css({width:f(window).width()- +a.zoomrestore.padding.w+"px",height:f(window).height()-a.zoomrestore.padding.h+"px"});a.onResize();a.setScrollTop(Math.min(a.page.maxh,b))}};this.init();f.nicescroll.push(this)},M=function(f){var c=this;this.nc=f;this.steptime=this.lasttime=this.speedy=this.speedx=this.lasty=this.lastx=0;this.snapy=this.snapx=!1;this.demuly=this.demulx=0;this.lastscrolly=this.lastscrollx=-1;this.timer=this.chky=this.chkx=0;this.time=function(){return+new Date};this.reset=function(f,h){c.stop();var d=c.time();c.steptime= +0;c.lasttime=d;c.speedx=0;c.speedy=0;c.lastx=f;c.lasty=h;c.lastscrollx=-1;c.lastscrolly=-1};this.update=function(f,h){var d=c.time();c.steptime=d-c.lasttime;c.lasttime=d;var d=h-c.lasty,q=f-c.lastx,t=c.nc.getScrollTop(),a=c.nc.getScrollLeft(),t=t+d,a=a+q;c.snapx=0>a||a>c.nc.page.maxw;c.snapy=0>t||t>c.nc.page.maxh;c.speedx=q;c.speedy=d;c.lastx=f;c.lasty=h};this.stop=function(){c.nc.unsynched("domomentum2d");c.timer&&clearTimeout(c.timer);c.timer=0;c.lastscrollx=-1;c.lastscrolly=-1};this.doSnapy=function(f, +h){var d=!1;0>h?(h=0,d=!0):h>c.nc.page.maxh&&(h=c.nc.page.maxh,d=!0);0>f?(f=0,d=!0):f>c.nc.page.maxw&&(f=c.nc.page.maxw,d=!0);d?c.nc.doScrollPos(f,h,c.nc.opt.snapbackspeed):c.nc.triggerScrollEnd()};this.doMomentum=function(f){var h=c.time(),d=f?h+f:c.lasttime;f=c.nc.getScrollLeft();var q=c.nc.getScrollTop(),t=c.nc.page.maxh,a=c.nc.page.maxw;c.speedx=0=h-d;if(0>q||q>t||0>f||f>a)d=!1;f=c.speedx&&d?c.speedx:!1;if(c.speedy&&d&&c.speedy|| +f){var r=Math.max(16,c.steptime);50p||p>a)&&(d=.1);c.speedy&&(e=Math.floor(c.lastscrolly-c.speedy*(1-c.demulxy)),c.lastscrolly=e,0>e||e>t)&&(d=.1);c.demulxy=Math.min(1,c.demulxy+ +d);c.nc.synched("domomentum2d",function(){c.speedx&&(c.nc.getScrollLeft(),c.chkx=p,c.nc.setScrollLeft(p));c.speedy&&(c.nc.getScrollTop(),c.chky=e,c.nc.setScrollTop(e));c.timer||(c.nc.hideCursor(),c.doSnapy(p,e))});1>c.demulxy?c.timer=setTimeout(v,r):(c.stop(),c.nc.hideCursor(),c.doSnapy(p,e))};v()}else c.doSnapy(c.nc.getScrollLeft(),c.nc.getScrollTop())}},y=f.fn.scrollTop;f.cssHooks.pageYOffset={get:function(h,c,k){return(c=f.data(h,"__nicescroll")||!1)&&c.ishwscroll?c.getScrollTop():y.call(h)},set:function(h, +c){var k=f.data(h,"__nicescroll")||!1;k&&k.ishwscroll?k.setScrollTop(parseInt(c)):y.call(h,c);return this}};f.fn.scrollTop=function(h){if(void 0===h){var c=this[0]?f.data(this[0],"__nicescroll")||!1:!1;return c&&c.ishwscroll?c.getScrollTop():y.call(this)}return this.each(function(){var c=f.data(this,"__nicescroll")||!1;c&&c.ishwscroll?c.setScrollTop(parseInt(h)):y.call(f(this),h)})};var z=f.fn.scrollLeft;f.cssHooks.pageXOffset={get:function(h,c,k){return(c=f.data(h,"__nicescroll")||!1)&&c.ishwscroll? +c.getScrollLeft():z.call(h)},set:function(h,c){var k=f.data(h,"__nicescroll")||!1;k&&k.ishwscroll?k.setScrollLeft(parseInt(c)):z.call(h,c);return this}};f.fn.scrollLeft=function(h){if(void 0===h){var c=this[0]?f.data(this[0],"__nicescroll")||!1:!1;return c&&c.ishwscroll?c.getScrollLeft():z.call(this)}return this.each(function(){var c=f.data(this,"__nicescroll")||!1;c&&c.ishwscroll?c.setScrollLeft(parseInt(h)):z.call(f(this),h)})};var E=function(h){var c=this;this.length=0;this.name="nicescrollarray"; +this.each=function(d){f.each(c,d);return c};this.push=function(d){c[c.length]=d;c.length++};this.eq=function(d){return c[d]};if(h)for(var k=0;k=1.8.3" + }, + "devDependencies": {}, + "npmName": "nicescroll", + "npmFileMap": [{ + "basePath": "/dist/", + "files": [ + "*.js", + "zoomico.png" + ] + }] +} diff --git a/vvp/app/core/js/jquery.nicescroll-master/zoomico.png b/vvp/app/core/js/jquery.nicescroll-master/zoomico.png new file mode 100644 index 00000000..57e32da4 Binary files /dev/null and b/vvp/app/core/js/jquery.nicescroll-master/zoomico.png differ diff --git a/vvp/app/core/layouts/dashboard/dashboard.html b/vvp/app/core/layouts/dashboard/dashboard.html new file mode 100644 index 00000000..0bca2cd7 --- /dev/null +++ b/vvp/app/core/layouts/dashboard/dashboard.html @@ -0,0 +1,50 @@ + +
+ +
+ +
+ + +
+
+ +
+
diff --git a/vvp/app/core/layouts/dashboard/dashboard.less b/vvp/app/core/layouts/dashboard/dashboard.less new file mode 100644 index 00000000..03d2c380 --- /dev/null +++ b/vvp/app/core/layouts/dashboard/dashboard.less @@ -0,0 +1,65 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.dashboard { + height: 100%; + + .content-container { + height: 100%; + position: relative; + padding-top: 55px; + #content { + height: 100%; + + .row { + height: auto; + } + } + } + + #sidebar { + padding: 20px 5px 20px 5px; + height: 100%; + overflow-y: auto; + + .line-separator { + border-bottom: dashed 1px @main_color_a; + margin: 20px 0; + } + } +} diff --git a/vvp/app/core/layouts/full-page-with-header/full-page-with-header.html b/vvp/app/core/layouts/full-page-with-header/full-page-with-header.html new file mode 100644 index 00000000..ca2e0e18 --- /dev/null +++ b/vvp/app/core/layouts/full-page-with-header/full-page-with-header.html @@ -0,0 +1,79 @@ + + + +
+
+

+

+
+
+
+
+
+
+ +
+
+
+
+
+
+
diff --git a/vvp/app/core/layouts/full-page-with-header/full-page-with-header.less b/vvp/app/core/layouts/full-page-with-header/full-page-with-header.less new file mode 100644 index 00000000..ba8b5d2e --- /dev/null +++ b/vvp/app/core/layouts/full-page-with-header/full-page-with-header.less @@ -0,0 +1,112 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +#full-page-with-header { + margin-top: 59px; + background: url('images/top.jpg') no-repeat 0 0; + + #content { + overflow: auto; + position: absolute; + top: 201px; + bottom: 0; + right: 0; + left: 0; + height: auto; + } + + #header-title { + height: 130px; + } + + .banner { + -webkit-box-shadow:0 1px 2px rgba(43, 48, 51, 0.08); + -moz-box-shadow:0 1px 2px rgba(43, 48, 51, 0.08); + box-shadow:0 1px 2px rgba(43, 48, 51, 0.08); + z-index:20; + } + + .navbar { + background-color:#fff; + margin-bottom:0; + } + + #logo { + float:left; + display:block; + margin:20px 0; + } + #logo .logo-trans {display:none} + + /* Transparent Header */ + .banner[data-transparent-header="true"] { + width:100%; + /*top:0; + left:0; + position:absolute; + overflow:visible !important;*/ + z-index:9998; + background-color:transparent; + box-shadow:none; + -webkit-box-shadow:none; + -moz-box-shadow:none; + -o-box-shadow:none; + border-bottom:1px solid rgba(255,255,255,0.25) !important; + } + + .boxed-mode .banner[data-transparent-header="true"] { + left:0; right:0; margin:0 auto; + } + + .banner[data-transparent-header="true"] #logo .logo-trans {display:inline} + .banner[data-transparent-header="true"] #logo .logo-main {display:none} + + .banner[data-transparent-header="true"] .navbar-nav > li > a, + .banner[data-transparent-header="true"] .navbar-nav > li.active > a {color:#fff} + .banner[data-transparent-header="true"] .navbar-nav > li > a:hover, + .banner[data-transparent-header="true"] .navbar-nav > li.active > a:hover {color:#fff} + + .banner[data-transparent-header="true"] .navbar-nav > li > a:hover:after, + .banner[data-transparent-header="true"] .navbar-nav > li.active > a:after, + .banner[data-transparent-header="true"] .navbar-nav > li.active > a:hover:after, + .banner[data-transparent-header="true"] .navbar-nav > li.active > a:focus:after {background-color:#fff} + + .menu-seperator { + .p_14_r; + } +} diff --git a/vvp/app/core/navigation/layouts/account-navigation/account.navigation.controller.js b/vvp/app/core/navigation/layouts/account-navigation/account.navigation.controller.js new file mode 100644 index 00000000..0f966cf2 --- /dev/null +++ b/vvp/app/core/navigation/layouts/account-navigation/account.navigation.controller.js @@ -0,0 +1,63 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +/** + * Created by almog on 28/05/2017. + */ +(function () { + 'use strict'; + angular + .module('ice.dashboard.account', []) + .controller('accountNavigationController', ['$state', accountNavigationController]); + + function accountNavigationController($state) { + var vm = this; + + var init = function() + { + vm.selectedPage = $state.$current.name || 'app.account'; + }; + + vm.loadPageContent = function(sref) { + vm.selectedPage = sref; + $state.go(sref); + }; + + init(); + } +})(); diff --git a/vvp/app/core/navigation/layouts/account-navigation/navigation.html b/vvp/app/core/navigation/layouts/account-navigation/navigation.html new file mode 100644 index 00000000..4bdcc529 --- /dev/null +++ b/vvp/app/core/navigation/layouts/account-navigation/navigation.html @@ -0,0 +1,48 @@ + +
+ +

Profile

+
    +
  • Account»
  • +
  • Settings»
  • +
  • Notifications»
  • +
+
+ diff --git a/vvp/app/core/navigation/layouts/account-navigation/navigation.less b/vvp/app/core/navigation/layouts/account-navigation/navigation.less new file mode 100644 index 00000000..34a824e8 --- /dev/null +++ b/vvp/app/core/navigation/layouts/account-navigation/navigation.less @@ -0,0 +1,75 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.navigation { + + + h1.caption { + .a_24_m; + position: relative; + } + h1.caption.profile { + float:none; + } + + li { + text-decoration: none; + list-style: none; + } + + ul.actions-list { + & > li { + .m_16_r; + margin: 0 0 20px 0; + cursor: pointer; + + &.selected { + .m_16_m; + text-decoration: underline; + } + + span { + &.selected { + float: right; + text-decoration: none; + } + } + } + } + +} diff --git a/vvp/app/core/navigation/layouts/admin-navigation/admin.navigation.controller.js b/vvp/app/core/navigation/layouts/admin-navigation/admin.navigation.controller.js new file mode 100644 index 00000000..9d74511f --- /dev/null +++ b/vvp/app/core/navigation/layouts/admin-navigation/admin.navigation.controller.js @@ -0,0 +1,93 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +/** + * Created by le056g on 07/02/2017. + */ +(function () { + 'use strict'; + angular + .module('ice.main.admin', ['ice.services.users']) + .controller('adminNavigationController', ['$scope', '$log', 'checklistService', '$rootScope', '$state', + adminNavigationController]); + + function adminNavigationController($scope, $log, checklistService, $rootScope, $state) { + var vm = this; + + var init = function(){ + vm.checkListTemplates=null; + initChecklistTemplates(); + registerWatchers(); + }; + + var registerWatchers = function() { + $scope.$watch(function () { return $state.params.templateName; }, function (newValue, oldValue) { + if (newValue !== oldValue && vm.selectedTemplate){ + vm.selectedTemplate.name = newValue; + }; + }); + }; + + var initChecklistTemplates = function(){ + checklistService.getChecklistTemplates() + .then(function (response) { + $rootScope.ice.loader.show = false; + if (response.status === 200 && response.data && response.data !== '') { + vm.checkListTemplates = response.data.checkListTemplates; + } + else { + $log.debug("getChecklistTemplates Failed. response.status="+response.status) + } + }) + .catch(function (error) { + $rootScope.ice.loader.show = false; + $log.error(error); + }); + }; + + vm.selectTemplate = function(template){ + if(template !== vm.selectedTemplate) { + vm.selectedTemplate = template; + $state.go('app.admin.checklisttemplate', {template_uuid:template.uuid}); + } + + }; + + init(); + } +})(); diff --git a/vvp/app/core/navigation/layouts/admin-navigation/navigation.html b/vvp/app/core/navigation/layouts/admin-navigation/navigation.html new file mode 100644 index 00000000..54974f71 --- /dev/null +++ b/vvp/app/core/navigation/layouts/admin-navigation/navigation.html @@ -0,0 +1,64 @@ + +
+ +

Admin

+ + +
+ + + diff --git a/vvp/app/core/navigation/layouts/admin-navigation/navigation.less b/vvp/app/core/navigation/layouts/admin-navigation/navigation.less new file mode 100644 index 00000000..ea2c112f --- /dev/null +++ b/vvp/app/core/navigation/layouts/admin-navigation/navigation.less @@ -0,0 +1,133 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.admin-navigation { + + .menu-engagements-category { + margin-bottom: 20px; + .menu-engagement-category-title { + .m_16_m; + border-bottom: solid 2px; + border-color: @main_color_q; + margin: 10px 0; + } + } + + border-right: 1px solid @main_color_q; + height: 100%; + background-color: @bg_color_navigation; + overflow-y: auto; + padding: 0px 20px; + + li { + text-decoration: none; + list-style: none; + } + + ul.engagements-list { + & > li { + .m_16_r; + margin: 0 0 10px 0; + &.selected { + .a_16_m; + + } + } + } + ul.engagements-list li { + position:relative; + } + + ul.engagements-list .clickable { + display: block; + cursor: pointer; + } + + ul.engagement-details { + padding: 0 0 0 8px; + border-left: 1px solid; + border-color: @main_color_q; + + .m_14_r; + & > li { + margin: 0px; + line-height: 18px; + &.selected { + + & > .engagement_detail_menu_name { + text-decoration: underline; + } + + & > .engagement_detail_menu_raquo { + float: right; + margin-right: 20px; + } + } + } + } + + ul.engagement-details > li.engagement-details-sub-catgeory { + margin-top: 5px; + } + ul.engagement-details > li.engagement-details-sub-catgeory > .sub-category-title { + font-size: 16px; + font-weight: bold; + } + + .sub-category { + display: inline-block; + margin: 0 0 10px 0; + .a_16_m; + position: relative; + } + + .admin-navbar{ + padding-right: 0px; + padding-left: 0px; + } + + .template-selected { + .m_14_m; + .checklist-icon { + .sprite.active-cl; + } + text-decoration: underline; + } + + +} diff --git a/vvp/app/core/navigation/layouts/documentation-navigation/documentation.navigation.controller.js b/vvp/app/core/navigation/layouts/documentation-navigation/documentation.navigation.controller.js new file mode 100644 index 00000000..9c63f9c7 --- /dev/null +++ b/vvp/app/core/navigation/layouts/documentation-navigation/documentation.navigation.controller.js @@ -0,0 +1,100 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +/** + * Created by almog on 06/02/2017. + */ +(function () { + 'use strict'; + angular + .module('ice.documentation', []) + .controller('documentationNavigationController', ['_', '$state','cmsService', 'sessionStorageService', '$log', + documentationNavigationController]); + + function documentationNavigationController(_, $state,cmsService, sessionStorageService, $log) { + var vm = this; + var documentationLastPageSessionKey = 'LastDocumentationPageId'; + + var init = function() + { + + + cmsService.getPages("Documentation") + .then(function(response) { + if(response && response.data && response.data.length === 1) { + vm.documentationPage = response.data[0]; + + var lastPageId = sessionStorageService.getJson(documentationLastPageSessionKey); + if(lastPageId) { + vm.loadPageContent(lastPageId); + } else { + vm.loadPageContent(vm.documentationPage.id); + } + } + }) + .catch(function(error) { + $log.error(error); + }); + }; + + vm.loadPageContent = function(pageId) { + if(vm.selectedSearchedPage) { + delete vm.selectedSearchedPage; + } + + vm.pageId = pageId; + sessionStorageService.setJson(documentationLastPageSessionKey, pageId); + $state.go('app.documentation.page',{page_id: pageId}); + }; + + vm.isPageCollapsed = function(page) { + var result = true; + + if(page && page.children && page.children.length > 0) { + var pages = _.flatMap(page.children, function(child) { + return _.concat(child.children, child); + }); + result = (page.id != vm.pageId) && !_.some(pages, ['id', vm.pageId]); + } + + return result; + }; + + init(); + } +})(); diff --git a/vvp/app/core/navigation/layouts/documentation-navigation/navigation.html b/vvp/app/core/navigation/layouts/documentation-navigation/navigation.html new file mode 100644 index 00000000..28bb653c --- /dev/null +++ b/vvp/app/core/navigation/layouts/documentation-navigation/navigation.html @@ -0,0 +1,85 @@ + +
+ + +

Documentation

+ + + + diff --git a/vvp/app/core/navigation/layouts/documentation-navigation/navigation.less b/vvp/app/core/navigation/layouts/documentation-navigation/navigation.less new file mode 100644 index 00000000..ef6b6c12 --- /dev/null +++ b/vvp/app/core/navigation/layouts/documentation-navigation/navigation.less @@ -0,0 +1,110 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.navigation { + .documentation { + border-right: 1px solid @main_color_q; + height: 100%; + background-color: @bg_color_navigation; + overflow-y: auto; + padding: 0px 20px; + #documentation-search { + margin-bottom: 20px; + } + + #mobile-collapse { display:none;} + @media (max-width: 992px) { + #mobile-collapse { + display: block; + position: relative; + top: 24px; + color: @main_color_a; + cursor:pointer; + } + } + + h1.caption { + .a_24_m; + position: relative; + } + h1.caption.documentation { + float: none; + width: 95%; + } + + li { + text-decoration: none; + list-style: none; + } + + ul.actions-list { + .pages-list { + .page { + display: block; + cursor: pointer; + margin-bottom: 5px; + padding-top: 5px; + .m_16_r; + } + .sub-page { + display: block; + cursor: pointer; + line-height: 22px; + } + .selected { + .a_16_m; + } + .page-childs { + .f-type._14_r; + cursor: pointer; + padding: 3px 0 0 8px; + border-left: 1px solid; + border-color: @main_color_q; + color: @main_color_m; + .selected { + .a_14_m; + } + } + } + } + + span.fa-caret-right { + vertical-align: middle; + } + } +} diff --git a/vvp/app/core/navigation/layouts/horizontal-navigation/navigation.html b/vvp/app/core/navigation/layouts/horizontal-navigation/navigation.html new file mode 100644 index 00000000..17bc1996 --- /dev/null +++ b/vvp/app/core/navigation/layouts/horizontal-navigation/navigation.html @@ -0,0 +1,197 @@ + +
+ + +

Engagements

+ + + + + + + diff --git a/vvp/app/core/navigation/layouts/horizontal-navigation/navigation.less b/vvp/app/core/navigation/layouts/horizontal-navigation/navigation.less new file mode 100644 index 00000000..63b48c32 --- /dev/null +++ b/vvp/app/core/navigation/layouts/horizontal-navigation/navigation.less @@ -0,0 +1,208 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.navigation{ + height: 100%; + padding: 0; +} + +.dashboard-navigation { + #engagement-search { + margin-bottom: 20px; + .popover .popover-content{ + padding: 5px 10px; + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 10px; + } + .popover.right > .arrow:after { + bottom: 10px; + left: 1px; + content: " "; + } + .popover > .arrow { + border-width: 0px; + } + } + .menu-engagements-category { + margin-bottom: 20px; + .menu-engagement-category-title { + .m_16_m; + border-bottom: solid 2px; + border-color: @main_color_q; + margin: 10px 0; + } + } + #mobile-collapse { display:none;} + + @media (max-width: 992px) { + + #mobile-collapse { + display: block; + position: relative; + top: 21px; + color: @main_color_a; + cursor:pointer; + } + } + + #search-no-results { + margin-top: 10px; + } + #nav-bar-wrapper { + padding:0px; + } + border-right: 1px solid @main_color_q; + height: 100%; + background-color: @bg_color_navigation; + overflow-y: auto; + padding: 0px 20px; + + @media (max-width: 992px) { + height:auto; + } + h1.caption { + float: left; + .a_24_m; + position: relative; + .add-engagement { + display: inline-block; + margin-left: 8px; + cursor: pointer; + position: relative; + top: 2px; + } + } + + li { + text-decoration: none; + list-style: none; + } + + ul.engagements-list { + & > li { + .m_16_r; + margin: 0 0 10px 0; + &.selected { + .a_16_m; + + } + } + } + ul.engagements-list li { + position:relative; + } + + ul.engagements-list .red_dot { + .sprite.items-todo; + display: block; + position: absolute; + left: -12px; + top: 4px; + } + ul.engagements-list .clickable { + display: block; + cursor: pointer; + } + + ul.engagement-details > li.engagement-details-sub-catgeory .selected { + .m_14_m; + .checklist-icon { + .sprite.active-cl; + } + } + + ul.engagement-details { + padding: 0 0 0 8px; + border-left: 1px solid; + border-color: @main_color_q; + + .m_14_r; + & > li { + margin: 0px; + line-height: 18px; + &.selected { + + & > .engagement_detail_menu_name { + text-decoration: underline; + } + + & > .engagement_detail_menu_raquo { + float: right; + margin-right: 20px; + } + } + } + } + + ul.engagement-details > li.engagement-details-sub-catgeory { + margin-top: 5px; + } + ul.engagement-details > li.engagement-details-sub-catgeory > .sub-category-title { + font-size: 16px; + font-weight: bold; + } + ul.engagement-details > li.engagement-details-sub-catgeory > .sub-category-title > .add-checklist { + width: 18px; + height: 18px; + display: inline-block; + padding-left: 2px; + position: relative; + top: 2px; + } + + ul.engagement-details > li.engagement-details-sub-catgeory > .engagement-checklist { + padding-left: 6px; + } + + ul.engagement-details > li.engagement-details-sub-catgeory > .engagement-checklist > li > .checklist-icon { + display: inline-block; + position: relative; + top: 2px; + left: -5px; + } + .search-engagement-name { + text-decoration: underline; + display:block; + } + .search-engagement-fields { + font-size: smaller; + display:block; + } + +} diff --git a/vvp/app/core/navigation/navigation.controller.js b/vvp/app/core/navigation/navigation.controller.js new file mode 100644 index 00000000..5013b7b4 --- /dev/null +++ b/vvp/app/core/navigation/navigation.controller.js @@ -0,0 +1,456 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular + .module('ice.navigation', ['ui.bootstrap']) + .controller('NavigationController', ["$rootScope", "$q", "iceConstants","pageService","$location", "vfService", + "localStorageService", "$state", "usersService", "$uibModal",'$scope','$window', 'toastService', + '$log', NavigationController]); + + function NavigationController($rootScope, $q,iceConstants, pageService, $location, vfService, localStorageService, + $state, usersService, $uibModal, $scope, $window, toastService, $log) { + var vm = this; + + $scope.selected = undefined; + $scope.states = ['Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California', 'Colorado', 'Connecticut', + 'Delaware', 'Florida', 'Georgia', 'Hawaii', 'Idaho', 'Illinois', 'Indiana', 'Iowa', 'Kansas', 'Kentucky', + 'Louisiana', 'Maine', 'Maryland', 'Massachusetts', 'Michigan', 'Minnesota', 'Mississippi', 'Missouri', + 'Montana', 'Nebraska', 'Nevada', 'New Hampshire', 'New Jersey', 'New Mexico', 'New York', 'North Dakota', + 'North Carolina', 'Ohio', 'Oklahoma', 'Oregon', 'Pennsylvania', 'Rhode Island', 'South Carolina', + 'South Dakota', 'Tennessee', 'Texas', 'Utah', 'Vermont', 'Virginia', 'Washington', 'West Virginia', + 'Wisconsin', 'Wyoming']; + + vm.formatted_engagements = {}; + vm.starred_engagements = {}; + vm.recent_engagements = {}; + vm.showOpenWizardButton = false; + var userData = usersService.getUserData(); + if(userData!=undefined && + userData.activationSuccess==true){ + vm.activation_success = true; + } + vm.selectEngagement = function (uuid, view_type, sub_id, enable_refresh) { + var w = angular.element($window); + + if (view_type != undefined && w.width() < 992) { + $('.navbar-collapse').collapse("hide"); + } + + if ($state.params.messagePass != null) + { + toastService.setToast($state.params.messagePass, 'success'); + $state.params.messagePass == null; + } + + if (uuid == undefined && localStorageService.getJson("ice.settings.eng_uuid") != undefined) + uuid = localStorageService.getJson("ice.settings.eng_uuid"); + else + $state.go('app.dashboard.dashboard'); + + var deferred = $q.defer(); + + if (view_type != undefined) { + vm.view_type = view_type; + } else if ( pageService.getPage() != '') { + vm.view_type = pageService.getPage(); + } else if ( localStorageService.getJson("ice.settings.view_type") != undefined) { + vm.view_type = localStorageService.getJson("ice.settings.view_type"); + } else { + vm.view_type = 'overview'; + } + + if (sub_id != undefined) { + sub_id = sub_id; + } else if (localStorageService.getJson("ice.settings.sub_id") != undefined) { + sub_id = localStorageService.getJson("ice.settings.sub_id"); + } + + localStorageService.setJson("ice.settings.view_type",vm.view_type); + localStorageService.setJson("ice.settings.sub_id",sub_id); + pageService.setPage(vm.view_type); + $scope.$watch(function () { return pageService.getPage(); }, function (newValue, oldValue) { + if (newValue !== oldValue) vm.view_type = newValue; + }); + + // Select | unselect the engagement on navigation panel. + vm.engagement = undefined; + angular.forEach(vm.recent_engagements,function (item,key) { + if (item.uuid === uuid) { + vm.engagement = item; + vm.engagement.selected = true; + vm.engagement.page = vm.view_type + vm.engagement.sub_id = sub_id; + vm.engagement.view_type = vm.view_type; + } else { + item.selected = undefined; + } + var uuidJson = { + selectedUuid: uuid + }; + vm.recent_engagements[key] = item; + }); + + angular.forEach(vm.starred_engagements, function (item,key) { + if (item.uuid === uuid) { + vm.engagement = item; + vm.engagement.selected = true; + vm.engagement.page = vm.view_type + vm.engagement.sub_id = sub_id; + vm.engagement.view_type = vm.view_type; + + } else { + item.selected = undefined; + } + var uuidJson = { + selectedUuid: uuid + }; + vm.starred_engagements[key] = item; + }); + + if (!vm.engagement) { + if (vm.last_not_found_engagement != true) { + localStorageService.setJson("ice.settings.eng_uuid", undefined); + initEngagements(); + } else { + initEngagements(true); + } + } else { + + localStorageService.setJson("ice.settings.eng_uuid", uuid); + vm.showOpenWizardButton = true; + + if(enable_refresh === undefined || enable_refresh === true){ //We won't refresh the page if located on the new dashboard view (dashboard.dashboard) (because it's wrong to refresh and we lose the page number). + if (vm.activation_success) + { + $state.go('app.dashboard.'+vm.view_type,{engagement_uuid:uuid,engagement:vm.engagement,sub_id:sub_id,messagePass: "You have successfully activated your account!"}); + } + else { + $state.go('app.dashboard.'+vm.view_type,{engagement_uuid:uuid,engagement:vm.engagement,sub_id:sub_id,messagePass: null}); + } + } + } + + vm.isReviewer = usersService.isReviewer(vm.me, vm.engagement.reviewer_uuid); + vm.isPeerReviewer = usersService.isPeerReviewer(vm.me, vm.engagement.peer_reviewer_uuid); + deferred.resolve(uuid); + return deferred.promise; + + }; + + + vm.searchSelectEngagement = function (engagement_uuid){ + vfService.getSingleEngagement(vm.me.uuid,engagement_uuid) + .then(function (response) { + $rootScope.ice.loader.show = false; + + if (response.status === 200 && response.data && response.data !== '') { + initEngagements(false, {uuid : engagement_uuid,page_type:'overview',sub_id:undefined}); + + } + }) + .catch(function (error) { + $rootScope.ice.loader.show = false; + $log.error(error); + }); + } + + var init = function () { + + // In case the url is dashboard/ then we come from server redirect, need to load user withuot login. + // This is a workaround to remove slash at the beginning. + // The slash is there because the ui-router does not support optional params in URL address, and I used regex: + // url: '/dashboard{user_uuid: (?:/[^/]+)?}' and the value returned for user_uuid contains slash at the start. + vm.me = vm.user = usersService.getUserData(); + vm.isAdmin = usersService.isAdmin(vm.me); + vm.isEngagementEL = usersService.isUserInRole(iceConstants.roles.el); + vm.vfc_num = 0; + // In case user exist in localStorage but not active redirect to activation link. + if (vm.user && vm.user.is_active===false) { + $state.go('app.resend_activation', {"message": "Please activate your account first"}); + return; + } + + // In case user is not in localStorage redirect to login page + if (vm.user === undefined) { + $state.go('app.login', {"message": "Please login first"}); + return; + } + initEngagements(false); + + $rootScope.$on('onUpdateEngagements', function (event,args) { + + if (args != undefined && args.select != undefined) + { + initEngagements(false,args.select); + } else { + initEngagements(true); + } + }); + + }; + + var initEngagements = function (selectLast,manual_select) { + $rootScope.ice.loader.show = true; + vm.starred_engagements = {}; + vm.recent_engagements = {}; + vm.formatted_engagements = {}; + vfService.getStarredEngagements() + .then(function (response) { + $rootScope.ice.loader.show = false; + if (response.status === 200 && response.data && response.data !== '') { + iterate_over_engagements(response.data,true, false); + } + else if (response.status === 204){ + $log.error("no starred VFs were found for you."); + } + else { + $log.error("getStarredEngagements Failed.") + } + + vfService.getRecentEngagements() + .then(function (response) { + $rootScope.ice.loader.show = false; + if (response.status === 200 && response.data && response.data !== '') { + if (response.data.length > 0) { + iterate_over_engagements(response.data, false, true, selectLast, manual_select); + } + else { + $state.go('app.dashboard.overview', { + engagement_uuid: undefined, + engagement: undefined, + sub_id: undefined + }); + } + } + else if (response.status === 204){ + $log.error("no recent VFs were found for you."); + select_active_engagements(selectLast); + } + else { + $log.error("getRecentEngagements Failed.") + } + }) + .catch(function (error) { + $rootScope.ice.loader.show = false; + $log.error(error); + }); + + }) + .catch(function (error) { + $rootScope.ice.loader.show = false; + $log.error(error); + }); + + }; + + $rootScope.$on('searchSelectEngagement', function (event,eng_uuid) { + vm.searchSelectEngagement(eng_uuid); + }); + + var iterate_over_engagements = function(engagements, starred, recent,selectLast,manual_select) { + var i = undefined; + for( i = 0 ; i < engagements.length; i++){ + var engagement = {}; + if (starred === true) + { + engagement.creator = engagements[i].engagement__creator__uuid; + engagement.is_service_provider_internal = engagements[i].is_service_provider_internal; + engagement.name = engagements[i].engagement__engagement_manual_id + ": " + engagements[i].name; + engagement.engagement_manual_id = engagements[i].engagement__engagement_manual_id; + engagement.reviewer_uuid = engagements[i].engagement__reviewer__uuid; + engagement.uuid = engagements[i].engagement__uuid; + engagement.peer_reviewer_uuid = engagements[i].engagement__peer_reviewer__uuid; + } else { + engagement.creator = engagements[i].vf__engagement__creator__uuid; + engagement.is_service_provider_internal = engagements[i].vf__is_service_provider_internal; + engagement.name = engagements[i].vf__engagement__engagement_manual_id + ": " + engagements[i].vf__name; + engagement.engagement_manual_id = engagements[i].vf__engagement__engagement_manual_id; + engagement.uuid = engagements[i].vf__engagement__uuid; + engagement.last_update = engagements[i].last_update; + engagement.reviewer_uuid = engagements[i].vf__engagement__reviewer__uuid; + engagement.peer_reviewer_uuid = engagements[i].vf__engagement__peer_reviewer__uuid; + } + + if (engagements[i].action_type !="NAVIGATED_INTO_ENGAGEMENT") + engagement.red_dot = engagements[i].action_type.split("_").join(" "); + else + engagement.red_dot = false; + + engagement.checklists = engagements[i].checklists; + + engagement.page = 'overview'; + + vm.formatted_engagements[engagement.engagement_manual_id] = engagement; + if(starred === true){ + vm.starred_engagements[engagement.engagement_manual_id] = engagement; + } + else if (recent === true){ + if (vm.starred_engagements[engagement.engagement_manual_id] == undefined) + vm.recent_engagements[engagement.engagement_manual_id] = engagement; + } + } + if (manual_select !=undefined) { + if(!manual_select.view_type) { + vm.selectEngagement(manual_select.uuid, manual_select.page_type, manual_select.sub_id, manual_select.enable_refresh); + } + else{ + vm.selectEngagement(manual_select.uuid, manual_select.view_type, manual_select.sub_id, manual_select.enable_refresh); + } + } + else if (selectLast != undefined) + { + select_active_engagements(selectLast); + } + + return new Promise(function(resolve, reject) { + resolve(vm.formatted_engagements); + }); + } + + var select_active_engagements = function (selectLast) { + var eng_uuid = false; + var selected_eng_uuid = localStorageService.getJson("ice.settings.eng_uuid"); + var currUser = usersService.getUserData(); + var keys = Object.keys(vm.formatted_engagements); + if ( keys.length > 0 ){ // This case represents a user has any engagements to work on + if (selectLast == true) { + eng_uuid = vm.formatted_engagements[Object.keys(vm.formatted_engagements)[0]].uuid; + } + else if ($location.search().eng_uuid) { + eng_uuid = $location.search().eng_uuid; + } + else if (selected_eng_uuid != null) { // if you re-visit the page after you already been inside, than the last select eng is stored in the storage + eng_uuid = selected_eng_uuid; + } + else if($state.params.engagement_uuid!=undefined){ + // if we came from any different page or came from activation and is an invited user or has already been attached to an engagement ('contact' user) so the login url has consisted a engagement uuid as a path param + eng_uuid = $state.params.engagement_uuid; + } + if (eng_uuid != false) { + var selectPromise = vm.selectEngagement(eng_uuid); + } else { + $state.go('app.dashboard.dashboard'); + if ($state.params.messagePass != null) + { + toastService.setToast($state.params.messagePass, 'success'); + $state.params.messagePass == null; + } + } + + if (eng_uuid == false) + { + eng_uuid = vm.formatted_engagements[Object.keys(vm.formatted_engagements)[0]].uuid; + vm.engagement = vm.formatted_engagements[Object.keys(vm.formatted_engagements)[0]]; + } + /* If user performs activation and he is the creator of current engagement*/ + if (vm.engagement != undefined && vm.engagement.creator!=null && + currUser.uuid == vm.engagement.creator && + vm.activation_success==true) { + vm.openGettingStartedWizard(eng_uuid); + } + } + else if (currUser.activationSuccess==true) { + //This case handles new user with no engs that performs activation + vm.openGettingStartedWizard(); + $state.go('app.dashboard.dashboard'); + } else { + $state.go('app.dashboard.dashboard'); + } + vm.activation_success = false; + usersService.setUserActivationSuccess(undefined);// Cleaning the activationSuccess flag + }; + + + init(); + + + vm.openGettingStartedWizard = function (eng_uuid) { + var is_service_provider_internal = vm.engagement && eng_uuid ? vm.engagement.is_service_provider_internal : false; + eng_uuid = eng_uuid || ''; + var args = { + user: vm.user, + eng_uuid: eng_uuid, + is_service_provider_internal: is_service_provider_internal, + showActivationMessage: vm.activation_success + } + $rootScope.$broadcast('openGettingStartedWizard', args); + + vm.activation_success = false; + }; + + vm.addChecklist = function(engagementUuid){ + var modalInstance = $uibModal.open({ + templateUrl: 'main/modals/checklist/checklist.html', + controller: 'ChecklistModalController', + controllerAs: 'vm', + size: 'lg', + resolve: { + engagementUuid: function () { + return engagementUuid; + }, + modal_type: function () { + return 'create'; + }, + wizardData: function () { + return false; + } + } + }); + + // Update the progress after modal closed. + modalInstance.result.then(function (data) { + var sub_id = undefined; + if (data != undefined) { + sub_id = data.uuid; + initEngagements(false,{uuid:engagementUuid,page_type: 'checklist',sub_id:sub_id}); + + if(data.progress) { + vm.callback(data); + } + } + }, function () { + $log.debug('Modal dismissed at: ' + new Date()); + }); + }; + + } +})(); diff --git a/vvp/app/core/navigation/navigation.module.js b/vvp/app/core/navigation/navigation.module.js new file mode 100644 index 00000000..0d936f3b --- /dev/null +++ b/vvp/app/core/navigation/navigation.module.js @@ -0,0 +1,51 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular + .module('ice.navigation', []) + .config(config); + + function config() { + + } + +})(); diff --git a/vvp/app/core/toolbar/layouts/horizontal-navigation/toolbar.html b/vvp/app/core/toolbar/layouts/horizontal-navigation/toolbar.html new file mode 100644 index 00000000..e1bbda0a --- /dev/null +++ b/vvp/app/core/toolbar/layouts/horizontal-navigation/toolbar.html @@ -0,0 +1,75 @@ + +
+ +
+ + + +
+ + + + +
+ {{vm.notifications}} +
+ +
+ + + + +
diff --git a/vvp/app/core/toolbar/layouts/horizontal-navigation/toolbar.less b/vvp/app/core/toolbar/layouts/horizontal-navigation/toolbar.less new file mode 100644 index 00000000..75d0bbf9 --- /dev/null +++ b/vvp/app/core/toolbar/layouts/horizontal-navigation/toolbar.less @@ -0,0 +1,132 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.dashboard { + .dropdown-menu { + .divider { + margin: 0; + } + li { + margin: 8px; + + a.logout { + color: @func_color_q; + } + + a.dashboard-admin-link{ + .a_16_r; + } + + i { + margin-right: 10px; + } + } + } + + #toolbar { + background-color: @toolbar_background_color; + height: 55px; + display: flex; + flex-direction: row; + align-items: center; + + .header-logo { + .logo-white; + margin: 0 30px; + } + + ul.header-top-menu { + display: flex; + flex-direction: row; + justify-content: center; + margin: 0; + + li { + list-style: none; + margin: 0 20px; + + a { + .p_18_m; + text-decoration: none; + } + } + } + + .header-right { + margin: 0 30px; + display: flex; + flex-direction: row; + justify-content: flex-end; + + .dropdown-menu { + left: -120px; + + } + + .header-chat { + .profiles-sprite; + .profiles-sprite.notification; + margin-right: 10px; + position: relative; + } + .header-avatar { + .profiles-sprite; + .profiles-sprite.avatar-white; + cursor: pointer; + + .notifications { + min-width: 16px; + height: 16px; + border: solid 1px #ffffff; + background-color: #F5A623; + display: block; + position: absolute; + left: 22px; + + .count { + .p_10_r; + display: block; + margin-left: 4px; + margin-right: 4px; + margin-top: 1px; + } + } + } + } + } +} diff --git a/vvp/app/core/toolbar/toolbar.controller.js b/vvp/app/core/toolbar/toolbar.controller.js new file mode 100644 index 00000000..8d47b89f --- /dev/null +++ b/vvp/app/core/toolbar/toolbar.controller.js @@ -0,0 +1,94 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular + .module('ice.toolbar') + .controller('ToolbarController', ["$rootScope", "localStorageService", "usersService", "$state", "$log","$uibModal", + ToolbarController]); + + function ToolbarController($rootScope, localStorageService, usersService, $state, $log, $uibModal) { + + var vm = this; + vm.notifications = 0; + + + var user = usersService.getUserData(); + if (user){ + vm.isAdmin = usersService.isAdmin(user); + usersService.getNotifications(user.uuid) + .then(function (response) { + if (response.status === 200) { + vm.notifications = response.data.notifications_number? response.data.notifications_number:0; + } + }) + .catch(function (error) { + $log.error(error); + }); + } + + vm.logout = function() { + usersService.resetUserData(); + localStorageService.setJson("ice.settings.eng_uuid", undefined); + $state.go('app.login'); + }; + + vm.addFeedback = function () { + var modalInstance = $uibModal.open({ + templateUrl: 'main/modals/feedback/feedback.html', + controller: 'FeedbackModalController', + controllerAs: 'vm', + size: 'lg', + resolve: { + action: function () { + return 'add'; + } + } + }); + }; + + $rootScope.$on('eventClearNotifications', function (event, args) { + vm.notifications = 0; + }); + + } + +})(); diff --git a/vvp/app/core/toolbar/toolbar.module.js b/vvp/app/core/toolbar/toolbar.module.js new file mode 100644 index 00000000..75dd3538 --- /dev/null +++ b/vvp/app/core/toolbar/toolbar.module.js @@ -0,0 +1,51 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular + .module('ice.toolbar', []) + .config(config); + + function config() { + + } + +})(); diff --git a/vvp/app/directives/ice-announcement/ice-announcement.directive.js b/vvp/app/directives/ice-announcement/ice-announcement.directive.js new file mode 100644 index 00000000..e70d5d61 --- /dev/null +++ b/vvp/app/directives/ice-announcement/ice-announcement.directive.js @@ -0,0 +1,91 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular + .module('ice.directives') + .directive('iceAnnouncement', ['$rootScope', 'cmsService', 'localStorageService', iceAnnouncement]); + + function iceAnnouncement($rootScope, cmsService, localStorageService) { + var directive = {}; + directive.restrict = 'E'; + directive.templateUrl = 'directives/ice-announcement/ice-announcement.html'; + directive.link = function (scope, element, attrs) { + var lastAnnouncementStorageKey = 'lastAnnouncement'; + + var init = function() { + var announcement = cmsService.getAnnouncement(); + + if(announcement) { + scope.toast = announcement; + + //announcement will be presented for two days: + var twoDaysBeforeDate = new Date(); + twoDaysBeforeDate.setDate(twoDaysBeforeDate.getDate() - 2); + var publishedDate = new Date(scope.toast.publishDate); + if(publishedDate < twoDaysBeforeDate) { + scope.closeAlert(); + } + } + }; + + scope.closeAlert = function() { + scope.toast.show = false; + setLastAnnouncementClosedParam(true); + }; + + function setLastAnnouncementClosedParam(closed) { + var lastAnnouncement = localStorageService.getJson(lastAnnouncementStorageKey) || {}; + lastAnnouncement['closed'] = closed; + localStorageService.setJson(lastAnnouncementStorageKey, lastAnnouncement); + }; + + init(); + + //whenever the announcement updated we will update the directive view: + $rootScope.$watch('showAnnouncement', function(newVal, OldVal){ + init(); + }, true); + }; + + return directive; + } +})(); diff --git a/vvp/app/directives/ice-announcement/ice-announcement.html b/vvp/app/directives/ice-announcement/ice-announcement.html new file mode 100644 index 00000000..04d9b3f0 --- /dev/null +++ b/vvp/app/directives/ice-announcement/ice-announcement.html @@ -0,0 +1,44 @@ + +
+ + + Read more >> + +
diff --git a/vvp/app/directives/ice-loader/ice-loader.directive.js b/vvp/app/directives/ice-loader/ice-loader.directive.js new file mode 100644 index 00000000..1456df42 --- /dev/null +++ b/vvp/app/directives/ice-loader/ice-loader.directive.js @@ -0,0 +1,96 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular + .module('ice.directives') + .directive('iceLoader', iceLoader); + + function iceLoader($rootScope) { + var directive = {}; + directive.restrict = 'E'; + directive.transclude = false; + //directive.templateUrl = 'directives/ice-loader/ice-loader.html'; + directive.scope = { + selector: "@selector" + }; + + directive.link = function (scope, element, attrs) { + + $rootScope.$watch('ice.loader.show', function(newVal, OldVal){ + //scope.loader = $rootScope.ice.loader; + if (newVal===true) { + var selector = $(scope.selector); + var loaderId = calculateUniqueId(); + var loader = $('
'); + $('body').append(loader); + selector.addClass('ice-loader-overlay'); + var pos = selector.offset(); + if (pos) { + loader.css({ + top: pos.top + selector.height() / 2, + left: pos.left + selector.width() / 2, + position: 'fixed' + }); + } + } else if (newVal===false) { + var selector = $(scope.selector); + selector.removeClass('ice-loader-overlay'); + var loaderId = calculateUniqueId(); + var loader = $('#' + loaderId); + loader.remove(); + } + }, true); + + var calculateUniqueId = function(){ + var prefix = 'ice-loader-'; + var name = scope.selector; + name = name.replace(".",""); + name = name.replace("#",""); + return prefix + name; + }; + + }; + return directive; + + } + +})(); diff --git a/vvp/app/directives/ice-loader/ice-loader.html b/vvp/app/directives/ice-loader/ice-loader.html new file mode 100644 index 00000000..009a7ee6 --- /dev/null +++ b/vvp/app/directives/ice-loader/ice-loader.html @@ -0,0 +1,39 @@ + +
diff --git a/vvp/app/directives/ice-loader/ice-loader.less b/vvp/app/directives/ice-loader/ice-loader.less new file mode 100644 index 00000000..22b761e3 --- /dev/null +++ b/vvp/app/directives/ice-loader/ice-loader.less @@ -0,0 +1,52 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.ice-loader { + + background: url('images/wait.gif') no-repeat top left; width: 16px; height: 11px; + display: block; + .m_14_m; + /*top: 50%; + left: 50%;*/ + +} + +.ice-loader-overlay { + /*background-color: #F2F2F2;*/ + opacity: 0.2; +} diff --git a/vvp/app/directives/ice-news-and-announcement/ice-news-and-announcement.directive.js b/vvp/app/directives/ice-news-and-announcement/ice-news-and-announcement.directive.js new file mode 100644 index 00000000..d46a0903 --- /dev/null +++ b/vvp/app/directives/ice-news-and-announcement/ice-news-and-announcement.directive.js @@ -0,0 +1,87 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + 'use strict'; + + angular + .module('ice.directives') + .directive('iceNewsAndAnnouncement', ['cmsService', '$uibModal', '$log', iceNewsAndAnnouncement]); + + function iceNewsAndAnnouncement(cmsService, $uibModal, $log) { + var directive = {}; + directive.restrict = 'E'; + directive.templateUrl = 'directives/ice-news-and-announcement/ice-news-and-announcement.html'; + directive.scope = {limit: '=limit', fromLastDays: '=fromLastDays', showDescription: "=showDescription"}; + directive.link = function (scope, element, attrs) { + var limit = scope.limit || 5; + var fromLastDays = scope.fromLastDays || ""; + var init = function () { + cmsService.getPosts(limit, fromLastDays, ['Announcement', 'News']) + .then(function(response) { + scope.cmsPosts = response.data; + }) + .catch(function(error) { + $log.error(error); + }); + }; + + scope.openCMSReadMoreModal = function(cmsPost) { + if(cmsPost) { + $uibModal.open({ + templateUrl: 'main/modals/cms-post-modal/cms-post-modal.html', + controller: 'cmsPostModalController', + controllerAs: 'vm', + size: 'cms-post-read-more', + resolve: { + post: function () { + return cmsPost; + } + } + }); + } else { + $log.debug("Cannot open cms post.") + } + }; + + init(); + }; + + return directive; + } +})(); diff --git a/vvp/app/directives/ice-news-and-announcement/ice-news-and-announcement.html b/vvp/app/directives/ice-news-and-announcement/ice-news-and-announcement.html new file mode 100644 index 00000000..df377dd6 --- /dev/null +++ b/vvp/app/directives/ice-news-and-announcement/ice-news-and-announcement.html @@ -0,0 +1,51 @@ + +
+
News & Announcements
+
    +

    There are no posts.

    +
  • +
    +

    {{post.title}}

    +
    + Posted at {{post.publish_date | date2: 'EEEE MMMM doo yyyy'}} by {{post.user.username}} +

    +
  • +
+
diff --git a/vvp/app/directives/ice-news-and-announcement/ice-news-and-announcement.less b/vvp/app/directives/ice-news-and-announcement/ice-news-and-announcement.less new file mode 100644 index 00000000..47c9fc81 --- /dev/null +++ b/vvp/app/directives/ice-news-and-announcement/ice-news-and-announcement.less @@ -0,0 +1,80 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +#news-and-announcements { + border: 1px solid @func_color_x; + padding:0px; + + #news-and-announcements-header { + background-color: @func_color_x; + .p_22_m; + padding: 10px 10px 0; + } + #news-and-announcements-list { + list-style:none; + padding: 0 15px; + .news-and-announcements-details { + border-bottom: 1px dashed @main_color_a; + padding-bottom:10px; + + .news-and-announcements-details-header { + .news-and-announcements-details-title { + .f-type ._20_m; + cursor: pointer; + margin-top: 15px; + margin-bottom: 0px; + margin-left: 15px; + word-wrap: break-word; + } + } + .news-and-announcements-description { + .m_18_r; + margin: 3px 0px; + line-height: 20px; + word-wrap: break-word; + } + .news-and-announcements-creation { + .m_12_r; + } + } + .news-and-announcements-details:last-child { + padding:0px; + border:none; + } + } +} diff --git a/vvp/app/directives/ice-toast/ice-toast.directive.js b/vvp/app/directives/ice-toast/ice-toast.directive.js new file mode 100644 index 00000000..bb7df0c5 --- /dev/null +++ b/vvp/app/directives/ice-toast/ice-toast.directive.js @@ -0,0 +1,76 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular + .module('ice.directives') + .directive('iceToast', ['$rootScope', 'toastService', iceToast]); + + function iceToast($rootScope, toastService) { + var directive = {}; + directive.restrict = 'E'; + directive.templateUrl = 'directives/ice-toast/ice-toast.html'; + directive.scope = {isModal: '=isModal'}; + directive.link = function (scope, element, attrs) { + var init = function() { + var toast = toastService.getToast(); + + if(toast) { + scope.toast = toast; + } + }; + + scope.closeAlert = function() { + toastService.clearToast(); + }; + + init(); + + //whenever the toast updated we will update the directive view: + $rootScope.$watch('showToast', function(newVal, OldVal){ + init(); + }, true); + }; + + return directive; + } + +})(); diff --git a/vvp/app/directives/ice-toast/ice-toast.html b/vvp/app/directives/ice-toast/ice-toast.html new file mode 100644 index 00000000..9badf3bf --- /dev/null +++ b/vvp/app/directives/ice-toast/ice-toast.html @@ -0,0 +1,44 @@ + +
+ + + Read more >> + +
diff --git a/vvp/app/directives/ice-toast/ice-toast.less b/vvp/app/directives/ice-toast/ice-toast.less new file mode 100644 index 00000000..0741fee1 --- /dev/null +++ b/vvp/app/directives/ice-toast/ice-toast.less @@ -0,0 +1,48 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.ice-toast { + u { + .m_14_r; + } + + @media (max-width: 992px) { + padding-top: 10px; + padding-left: 0%; + } +} diff --git a/vvp/app/directives/ice-tooltip/ice-tooltip.directive.js b/vvp/app/directives/ice-tooltip/ice-tooltip.directive.js new file mode 100644 index 00000000..3c5b867f --- /dev/null +++ b/vvp/app/directives/ice-tooltip/ice-tooltip.directive.js @@ -0,0 +1,69 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + 'use strict'; + + angular + .module('ice.directives') + .directive('iceToolTip', ['cmsService', '$log', iceToolTip]); + + function iceToolTip(cmsService, $log) { + var directive = {}; + directive.restrict = 'E'; + directive.templateUrl = 'directives/ice-tooltip/ice-tooltip.html'; + directive.link = function (scope, element, attrs) { + var limit = 5; + + cmsService.getPosts(limit, '', ['FAQ']) + .then(function(response) { + if(response.data && response.data.length > 0) { + var rangeMax = response.data.length; + var randPostIndex = Math.floor(Math.random() * rangeMax); + scope.tipContent = response.data[randPostIndex]; + } + }) + .catch(function(error) { + $log.error(error); + }); + }; + + return directive; + } + +})(); diff --git a/vvp/app/directives/ice-tooltip/ice-tooltip.html b/vvp/app/directives/ice-tooltip/ice-tooltip.html new file mode 100644 index 00000000..3c09051f --- /dev/null +++ b/vvp/app/directives/ice-tooltip/ice-tooltip.html @@ -0,0 +1,44 @@ + +
+
Did you know?
+
+

{{tipContent.excerpt}}

+
+
diff --git a/vvp/app/directives/ice-tooltip/ice-tooltip.less b/vvp/app/directives/ice-tooltip/ice-tooltip.less new file mode 100644 index 00000000..949e9a04 --- /dev/null +++ b/vvp/app/directives/ice-tooltip/ice-tooltip.less @@ -0,0 +1,82 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.tooltip-container { + border: 1px solid @main_color_o; + background-color: @main_color_p; + padding: 0px; + + .tooltip-title { + .f-type._22_m; + background-color: @main_color_p; + color: @tooltip_header_color; + padding: 10px 10px 0; + } + + .tooltip-content { + background-color: @main_color_p; + word-wrap: break-word; + + h4 { + padding: 0 15px; + } + } +} + +#nav-bar-wrapper { + .tooltip-container { + bottom: 10px; + + .tooltip-title { + .f-type._16_m; + background-color: @main_color_p; + color: @tooltip_header_color; + padding: 15px 15px 0; + } + + .tooltip-content { + background-color: @main_color_p; + word-wrap: break-word; + + h4 { + .f-type._16_r; + padding: 0 15px; + } + } + } +} diff --git a/vvp/app/directives/notifications/notifications.directive.js b/vvp/app/directives/notifications/notifications.directive.js new file mode 100644 index 00000000..159a535e --- /dev/null +++ b/vvp/app/directives/notifications/notifications.directive.js @@ -0,0 +1,130 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + 'use strict'; + angular + .module('ice.directives') + .directive('notifications', notifications); + + String.prototype.replaceAll = function(str1, str2, ignore) + { + return this.replace(new RegExp(str1.replace(/([\/\,\!\\\^\$\{\}\[\]\(\)\.\*\+\?\|\<\>\-\&])/g,"\\$&"),(ignore?"gi":"g")),(typeof(str2)=="string")?str2.replace(/\$/g,"$$$$"):str2); + } + + function notifications($compile,$filter,$rootScope,$location,localStorageService) { + var directive = {}; + directive.restrict = 'E'; + directive.template = '
'; + directive.scope = {activity : '='}; + directive.controller = ['$scope', function($scope) { + $scope.addDateStamp = function(activity) { + var description = ""; + var timeGapLocal = moment().format("z");// timeGap(); + + var ampm = moment().format('A'); + var mom =moment().tz( moment.tz.guess()).format('z'); + + if (activity.description.indexOf(' at ') == -1) + { + if (activity.description.substr(activity.description.length - 1) == '.') + description = activity.description.substr(0, activity.description.length - 1); + else + description = activity.description; + } else { + description = activity.description.substring(0, activity.description.indexOf(" at ")); + } + activity.description = description + ' at ' + $filter('date')(activity.create_time,'yyyy-MM-dd hh:mm:ss',timeGapLocal) + " " + ampm + " " + mom; + + return activity; + } + $scope.addPopover = function(activity,macro,short,long) { + + var template = "" + short +""; + activity.description = activity.description.replaceAll(macro, template); + } + + $scope.addSelectEngagement = function (activity,macro,short,uuid) { + var template = "" + short +""; + activity.description = activity.description.replaceAll(macro, template); + } + + $scope.goToEngagement = function(uuid){ + localStorageService.setJson("ice.settings.eng_uuid",uuid); + $location.path('/dashboard/overview'); + $location.replace(); + $rootScope.$broadcast('onUpdateEngagements',{select : {uuid:uuid,page_type:'overview',sub_id:undefined}}); + }; + + + }]; + directive.link = function(scope, iElement, iAttrs, ctrl) { + var activity = scope.activity; + activity.meta_data = JSON.parse(activity.metadata); + scope.addDateStamp(activity); + angular.forEach(activity.meta_data.macros,function(macro,key){ + switch (macro.type) + { + case 'popover': + scope.addPopover(activity,key,macro.short,macro.long); + break; + case 'select_engagement': + scope.addSelectEngagement(activity,key,macro.short,macro.eng_uuid); + break; + + } + + }); + var template = "" + scope.activity.description + ""; + + iElement.html(template).show(); + $compile(iElement.contents())(scope); + }; + return directive; + } + +})(); \ No newline at end of file diff --git a/vvp/app/directives/progress/progress.directive.js b/vvp/app/directives/progress/progress.directive.js new file mode 100644 index 00000000..073ff0cf --- /dev/null +++ b/vvp/app/directives/progress/progress.directive.js @@ -0,0 +1,211 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular + .module('ice.directives') + .directive('progressDirective', ["$uibModal", "$rootScope", "$log", "vfService", ProgressDirective]); + + function ProgressDirective($uibModal, $rootScope, $log, vfService) { + var directive = {}; + directive.restrict = 'E'; + directive.templateUrl = 'directives/progress/progress.html'; + directive.scope = { + progress: "@progress", + data: "=data", + callback: "=callback", + statuses: "@statuses", + enable_refresh: "@enableRefresh", + }; + directive.link = function (scope, element, attrs) { + var init = function() { + if(!scope.statuses){ + scope.statuses = false; + } + + calculateDaysLeft(); + registerWatches(); + }; + + var calculateDaysLeft = function(){ + var currentDate = moment(); + var completionDate = moment(scope.data.completion_date); + var days_diff = Math.ceil(completionDate.diff(currentDate, 'days',true)); + if (days_diff < 0 ) + days_diff = 0; + scope.daysLeft = days_diff; + }; + + var registerWatches = function() { + scope.$watch('data.completion_date', function(oldVal, newVal) { + if (oldVal !== newVal){ + calculateDaysLeft(); + } + }); + + scope.$watch('data.heat_validated_time', function(oldVal, newVal) { + if (oldVal !== newVal){ + normalizeData(); + } + }); + + scope.$watch('data.vnf_version', function(oldVal, newVal) { + if (oldVal !== newVal){ + normalizeData(); + } + }); + + scope.$watch('data.image_scan_time', function(oldVal, newVal) { + if (oldVal !== newVal){ + normalizeData(); + } + }); + + scope.$watch('data.aic_instantiation_time', function(oldVal, newVal) { + if (oldVal !== newVal){ + normalizeData(); + } + }); + + scope.$watch('data.asdc_onboarding_time', function(oldVal, newVal) { + if (oldVal !== newVal){ + normalizeData(); + } + }); + }; + + var normalizeData = function() { + if(scope.data) { + if(!scope.data.ecomp_release){ + scope.data.ecomp_release = "-"; + } + if(!scope.data.aic_version){ + scope.data.aic_version = "-"; + } + + if(!scope.data.aic_instantiation_time){ + scope.data.aic_instantiation_time = "-"; + } + + if(!scope.data.vnf_version){ + scope.data.vnf_version = "-"; + } + + if(!scope.data.asdc_onboarding_time){ + scope.data.asdc_onboarding_time = "-"; + } + + if(!scope.data.heat_validated_time){ + scope.data.heat_validated_time = "-"; + } + + if(!scope.data.image_scan_time){ + scope.data.image_scan_time = "-"; + } + } + }; + + scope.starEngagement = function () { + vfService.putStarredEngagements(scope.data.engagement_uuid) + .then(function (response) { + $rootScope.ice.loader.show = false; + if (response.status === 200 && response.data && response.data !== '') { + $rootScope.$broadcast('onUpdateEngagements', {select: { + uuid: scope.data.engagement_uuid, + page_type: 'dashboard', + sub_id: undefined, + enable_refresh: scope.enable_refresh + } + }); + if(scope.data.starred == false){ + scope.data.starred = true; + } + else { + scope.data.starred = false; + } + } + }) + .catch(function (error) { + $rootScope.ice.loader.show = false; + $log.error(error); + }); + }; + + scope.goToEngagement = function(uuid){ + $rootScope.$broadcast('searchSelectEngagement',uuid); + }; + + scope.changeProgress = function(){ + var modalInstance = $uibModal.open({ + templateUrl: 'main/modals/change-progress/change-progress.html', + controller: 'ChangeProgressModalController', + controllerAs: 'vm', + resolve: { + progress: function () { + return scope.progress; + }, + engagementUuid: function () { + return scope.data.engagement_uuid; + } + } + }); + + // Update the progress after modal closed. + modalInstance.result.then(function (data) { + if (!data){ + return; + } + scope.progress = data.progress || scope.progress; + if (data.progress) { + scope.callback(data); + } + }, function () { + $log.debug('Modal dismissed at: ' + new Date()); + }); + }; + + init(); + }; + + return directive; + } + +})(); diff --git a/vvp/app/directives/progress/progress.html b/vvp/app/directives/progress/progress.html new file mode 100644 index 00000000..6656a913 --- /dev/null +++ b/vvp/app/directives/progress/progress.html @@ -0,0 +1,82 @@ + +
+
+ +
+ Progress + + + + + + + {{data.manual_id}}: {{data.name}} + +
+ +
+
+
+ {{progress}} % + +
+
+
+ Target AIC Version: {{data.aic_version}} + ECOMP Release: {{data.ecomp_release}} + VNF Version: +
+
+ +
+
Heat Validated:{{data.heat_validated_time | date:'shortDate'}}
+
Image Scan:{{data.image_scan_time | date:'shortDate'}}
+
AIC Instantiation:{{data.aic_instantiation_time | date:'shortDate'}}
+
ASDC Onboarding:{{data.asdc_onboarding_time | date:'shortDate'}}
+
+
+
diff --git a/vvp/app/directives/progress/progress.less b/vvp/app/directives/progress/progress.less new file mode 100644 index 00000000..c374886a --- /dev/null +++ b/vvp/app/directives/progress/progress.less @@ -0,0 +1,184 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.steps-progress-wrapper { + position: relative; + border: 1px solid; + border-color: @main_color_o; + padding: 10px 15px; + background-color: @main_color_p; + + .progress-side-info { + padding: 0 10px; + margin-top: 4px; + + .value { + line-height: 20px; + .m_12_r; + } + + .progress-side-info-row { + .m_12_m; + line-height:20px; + + .progress-side-info-first-row { + padding-top: 1%; + } + + .progress-side-info-last-row { + padding-bottom: 1%; + } + } + } + + .progress-body-content { + .progress-left-content { + border-right: solid 1px @main_color_o; + + } + + .progress-version-release { + margin-top: 5px; + color: @main_color_m + } + + .description { + .progress-title { + .b_20; + + .manual-id { + .b_20_m; + } + + .progress-click { + cursor:pointer; + } + + .progress-question-mark { + font-size: 20px; + color: @main_color_r; + display: inline-block; + margin-left: 1px; + cursor: pointer; + position: relative; + top: 1px; + } + + .star-engagement-action { + display: inline-block; + cursor: pointer; + position: relative; + margin-right: 5px; + } + } + + .progress-edit-days-left { + float: right; + position: relative; + margin-right: 1%; + + .steps-progress-days-left { + .m_14_m; + vertical-align: bottom; + } + + .edit { + .sprite; + .sprite.edit-medium; + display: inline-block; + cursor: pointer; + position:relative; + top:3px; + } + } + } + + .steps-progress-bar { + display: flex; + flex-direction: row; + justify-content: space-between; + overflow: hidden; + border: solid 1px @main_color_o; + height: 30px; + + .progress-filled { + background-color: red; + /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#1672a4+0,c2e1f2+100 */ + background: @gradient_left; /* Old browsers */ + background: -moz-linear-gradient(left, @gradient_left 0%, @gradient_right 100%); /* FF3.6-15 */ + background: -webkit-linear-gradient(left, @gradient_left 0%, @gradient_right 100%); /* Chrome10-25,Safari5.1-6 */ + background: linear-gradient(to right, @gradient_left 0%, @gradient_right 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=@gradient_left, endColorstr=@gradient_right, GradientType=1); /* IE6-9 */ + border-right: solid 1px @main_color_o; + } + + .progress-empty { + position: relative; + + &.right { + .percents { + left: 10px; + } + .edit { + left: 50px; + } + } + + .edit { + font-size: 21px; + color: @main_color_r; + display: inline-block; + position: absolute; + top: 5px; + left: -25px; + cursor: pointer; + } + + .percents { + position: absolute; + top: 4px; + left: -60px; + } + + &.full { + .percents { left: -70px; } + } + } + } + } +} diff --git a/vvp/app/directives/step-stages/step-stages.directive.js b/vvp/app/directives/step-stages/step-stages.directive.js new file mode 100644 index 00000000..50a97206 --- /dev/null +++ b/vvp/app/directives/step-stages/step-stages.directive.js @@ -0,0 +1,172 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular + .module('ice.directives', []) + .directive('stepStagesDirective', ProgressDirective); + + function ProgressDirective($rootScope, iceConstants, localStorageService, usersService, $uibModal) { + var directive = {}; + directive.restrict = 'E'; + directive.templateUrl = 'directives/step-stages/step-stages.html'; + directive.scope = { + stage : "=stage", + stage_num: "=stageNum", + eng_uuid : "@engUuid", + team: "=team", + eng_name: "@engName", + initactivitylogs: '&' + }; + directive.controller = ['$scope', 'vfService', '$log', function($scope, vfService, $log) { + $scope.set_engagement_stage = function(scope, requested_stage){ + var modalInstance = $uibModal.open({ + templateUrl: 'main/modals/set-eng-stage/set-eng-stage-modal.html', + controller: 'setEngStageModalController', + controllerAs: 'vm', + resolve: { + stage: function () { + return requested_stage; + }, + eng_name: function () { + return $scope.eng_name; + }, + current_stage: function () { + return $scope.stage; + } + } + }); + + modalInstance.result.then(function (bool) { + if(bool) { + vfService.set_engagement_stage(scope.eng_uuid, requested_stage) + .then(function (response) { + if (response.status === 202) { + scope.stage = requested_stage; + switch (requested_stage) { + case 'Intake': + scope.stage_num = 1; + break; + case 'Active': + scope.stage_num = 2; + break; + case 'Validated': + scope.stage_num = 3; + break; + case 'Completed': + scope.stage_num = 4; + break; + } + $rootScope.$broadcast('onUpdateNextSteps',{'stage': scope.stage, 'eng_uuid': scope.eng_uuid}); + $scope.initactivitylogs(); + } + else { + return false; + } + }) + .catch(function (error) { + $log.error(error); + }); + } + else { + return; + } + }); + + + }; + + $scope.hover_design = function(bool, num){ + $scope.temp_num = num; + $scope.hover = bool; + return; + }; + + + }]; + + + directive.link = function (scope, element, attrs) { + scope.hover = false; + scope.temp_num = 0; + scope.priviliged = false; + scope.const = iceConstants.stages; + scope.loaded = false; + scope.user = usersService.getUserData(); + scope.$watchGroup(['user','team'], function(new_vals, old_vals, scope){ + if(!(new_vals[0]) || !(new_vals[1])){ + return; + } + else if (!(scope.loaded)){ + if( (usersService.isEngagementEL(scope.team)) || (usersService.isAdmin(scope.user))){ + scope.priviliged = true; + }; + scope.loaded = true; + + } + }); + + scope.hover_actions = function(bool, num){ + if(!(scope.priviliged)){ + return; + }; + scope.hover_design(bool, num); + }; + + scope.set_stage = function(requested_stage){ + if(!(scope.priviliged)){ + return; + }; + if (scope.stage === requested_stage){ + $log.debug("Same stage was chosen, request ignored."); + return; + }; + + var result = scope.set_engagement_stage(scope, requested_stage); + + }; + + }; + return directive; + } + +})(); + diff --git a/vvp/app/directives/step-stages/step-stages.html b/vvp/app/directives/step-stages/step-stages.html new file mode 100644 index 00000000..0ccbd1d8 --- /dev/null +++ b/vvp/app/directives/step-stages/step-stages.html @@ -0,0 +1,44 @@ + +
+
{{const.intake}}
+
{{const.active}}
+
{{const.validated}}
+
{{const.completed}}
+
diff --git a/vvp/app/directives/step-stages/step-stages.less b/vvp/app/directives/step-stages/step-stages.less new file mode 100644 index 00000000..617d0c64 --- /dev/null +++ b/vvp/app/directives/step-stages/step-stages.less @@ -0,0 +1,75 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.steps-stages-wrapper { + + display: flex; + flex-direction: row; + justify-content: space-between; + overflow: hidden; + padding: 10px 0 0 0; + + .steps-stage { + + width: 100%; + + &:not(.selected) { + .step-progress-dashed(34px, @toolbar_background_color, 100%); + } + + &.selected { + .step-progress(34px, @toolbar_background_color, 100%); + } + + &.hover-selected { + .step-progress(34px, @toolbar_background_color, 100%); + cursor: pointer; + } + + &.previous-stage { + .step-progress-solid(34px, @toolbar_background_color, 100%); + } + + &.hover-previous-stage { + .step-progress-solid(34px, @toolbar_background_color, 100%); + cursor: pointer; + } + + } + +} diff --git a/vvp/app/favicon.png b/vvp/app/favicon.png new file mode 100644 index 00000000..6e9f04df Binary files /dev/null and b/vvp/app/favicon.png differ diff --git a/vvp/app/filters/capitalize.filter.js b/vvp/app/filters/capitalize.filter.js new file mode 100644 index 00000000..fa191f58 --- /dev/null +++ b/vvp/app/filters/capitalize.filter.js @@ -0,0 +1,52 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +/** + * Created by almog on 07/02/2017. + */ +(function () { + 'use strict'; + angular.module('ice.filters') + .filter('capitalize', [capitalize]); + + function capitalize() { + return function(input) { + return (input) ? input.charAt(0).toUpperCase() + input.substr(1).toLowerCase() : ''; + } + } +})(); diff --git a/vvp/app/filters/customDocumentationPageSearch.filter.js b/vvp/app/filters/customDocumentationPageSearch.filter.js new file mode 100644 index 00000000..edf1e691 --- /dev/null +++ b/vvp/app/filters/customDocumentationPageSearch.filter.js @@ -0,0 +1,58 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +/** + * Created by almog on 07/02/2017. + */ +(function () { + 'use strict'; + angular.module('ice.filters') + .filter('customDocumentationPageSearch', ['cmsService', customDocumentationPageSearch]); + + function customDocumentationPageSearch(cmsService) { + return function(search_list,search_term) { + return cmsService.searchPages(search_term) + .then(function (response) { + return response.data; + }) + .catch(function (error) { + $log.error(error); + }); + } + } +})(); diff --git a/vvp/app/filters/customVFSearchFilter.filter.js b/vvp/app/filters/customVFSearchFilter.filter.js new file mode 100644 index 00000000..13c6fbf4 --- /dev/null +++ b/vvp/app/filters/customVFSearchFilter.filter.js @@ -0,0 +1,62 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +/** + * Created by almog on 07/02/2017. + */ +(function () { + 'use strict'; + angular.module('ice.filters') + .filter('customVFSearchFilter', ['vfService', '$log', customVFSearchFilter]); + + function customVFSearchFilter (vfService, $log) { + return function(search_list,search_term) { + var postData = {'stage': 'All', 'keyword': search_term, 'offset': 0, 'limit': 20}; + return vfService.getExpandedEngagements(postData) + .then(function (response) { + if (response.status === 200 && response.data && response.data !== '') { + return response.data['array']; + } + }) + .catch(function (error) { + $rootScope.ice.loader.show = false; + $log.error(error); + }); + } + } +})(); diff --git a/vvp/app/filters/date2.filter.js b/vvp/app/filters/date2.filter.js new file mode 100644 index 00000000..f39761e7 --- /dev/null +++ b/vvp/app/filters/date2.filter.js @@ -0,0 +1,60 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +/** + * Created by almog on 07/02/2017. + */ +(function () { + 'use strict'; + angular.module('ice.filters') + .filter('date2', ['$filter', date2]); + + function date2($filter) { + var suffixes = ["th", "st", "nd", "rd"]; + return function(input, format) { + if(input) { + var dtfilter = $filter('date')(input, format); + var day = parseInt($filter('date')(input, 'dd')); + var relevantDigits = (day < 30) ? day % 20 : day % 30; + var suffix = (relevantDigits <= 3) ? suffixes[relevantDigits] : suffixes[0]; + return dtfilter.replace('oo', suffix); + } + return input; + }; + } +})(); diff --git a/vvp/app/filters/doesExists.filter.js b/vvp/app/filters/doesExists.filter.js new file mode 100644 index 00000000..fd52ee2b --- /dev/null +++ b/vvp/app/filters/doesExists.filter.js @@ -0,0 +1,52 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +/** + * Created by almog on 07/02/2017. + */ +(function () { + 'use strict'; + angular.module('ice.filters') + .filter('doesExists', ['$sce', '$injector', '$log', doesExists]); + + function doesExists ($sce, $injector, $log) { + return function(matchItem, query) { + return matchItem.toLowerCase().includes(query.toLowerCase()); + }; + } +})(); diff --git a/vvp/app/filters/htmlspecialchars.filter.js b/vvp/app/filters/htmlspecialchars.filter.js new file mode 100644 index 00000000..e96749d2 --- /dev/null +++ b/vvp/app/filters/htmlspecialchars.filter.js @@ -0,0 +1,62 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +/** + * Created by almog on 07/02/2017. + */ +(function () { + 'use strict'; + angular.module('ice.filters') + .filter('htmlspecialchars', ['_','$filter', htmlspecialchars]); + + function htmlspecialchars(_,$filter) { + return function(input) { + input = _.replace(input,/\&\;/g,"&"); + input = _.replace(input,/\<\;/g,"<"); + input = _.replace(input,/\>\;/g,">"); + input = _.replace(input,/\"\;/g,'"'); + input = _.replace(input,/\\;/g,"'"); + input = _.replace(input,/<(\s)*script/g,"_script"); +// input = _.replace(input,/style=\"font-weight: bold;\"/g,"class=\"bold\""); +// input = _.replace(input,/style=\"font-style: italic;\"/g,"class=\"italic\""); +// input = _.replace(input,/style=\"text-decoration-line: line-through;\"/g,"class=\"line-through\""); +// input = _.replace(input,/style=\"text-decoration-line: underline;\"/g,"class=\"underline\""); + return input; + }; + } +})(); diff --git a/vvp/app/filters/htmlstylespan.filter.js b/vvp/app/filters/htmlstylespan.filter.js new file mode 100644 index 00000000..ae79eebf --- /dev/null +++ b/vvp/app/filters/htmlstylespan.filter.js @@ -0,0 +1,56 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +/** + * Created by almog on 07/02/2017. + */ +(function () { + 'use strict'; + angular.module('ice.filters') + .filter('htmlstylespan', ['_','$filter', htmlstylespan]); + + function htmlstylespan(_,$filter) { + return function(input) { + input = _.replace(input,/style=\"font-weight: bold;\"/g,"class=\"bold\""); + input = _.replace(input,/style=\"font-style: italic;\"/g,"class=\"italic\""); + input = _.replace(input,/style=\"text-decoration-line: line-through;\"/g,"class=\"line-through\""); + input = _.replace(input,/style=\"text-decoration-line: underline;\"/g,"class=\"underline\""); + return input; + }; + } +})(); diff --git a/vvp/app/filters/trusted.filter.js b/vvp/app/filters/trusted.filter.js new file mode 100644 index 00000000..9f6fe13f --- /dev/null +++ b/vvp/app/filters/trusted.filter.js @@ -0,0 +1,49 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + 'use strict'; + angular.module('ice.filters', []) + .filter('trusted', ['$sce', trusted]); + + function trusted ($sce){ + return function(html){ + return $sce.trustAsHtml(html) + } + } +})(); diff --git a/vvp/app/index.html b/vvp/app/index.html new file mode 100644 index 00000000..5c0da336 --- /dev/null +++ b/vvp/app/index.html @@ -0,0 +1,263 @@ + + + + + + + + + {{'serviceProvider.name' | i18next}} | {{'program.name' | i18next}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vvp/app/interceptors/httpInterceptors.js b/vvp/app/interceptors/httpInterceptors.js new file mode 100644 index 00000000..fb8c6ad6 --- /dev/null +++ b/vvp/app/interceptors/httpInterceptors.js @@ -0,0 +1,95 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +'use strict'; + +angular.module('ice.interceptors.http', []) + .factory('httpRequestInterceptor', function ($injector, $rootScope) { + return { + request: function (config) { + // Send the user only for API requests + if (config.url.indexOf($rootScope.baseURL) !== -1) { + config.headers = config.headers || {}; + var user = $injector.get('usersService').getUserData(function() {}); + if (user && !config.skipAuth) { + config.headers.Authorization = "token "+user.jwtToken; + } + } + return config; + } + }; + }) + .factory('httpResponseInterceptor', function ($rootScope) { + return { + response: function (response) { + return response; + } + } + }) + .factory('httpRequestErrorInterceptor', function ($q) { + return { + requestError: function (request) { + // Do something + return request; + } + } + }) + .factory('httpResponseErrorInterceptor', ["$q", "$rootScope", "$injector", "toastService", function ($q, $rootScope, $injector, toastService) { + return { + responseError: function (response) { + var $state = $injector.get('$state'); + var status = response.status; + switch (status) { + case 401: + //AuthFactory.clearUser(); + toastService.setToast(response.statusText, 'danger'); + //$window.location = "/auth/login?redirectUrl=" + redirectUrl; + break; + case 403: + $state.go('app.login'); + break; + case 404: + //$state.go("app.errors_error-404"); + break; + } + + // otherwise + return $q.reject(response); + } + } + }]); diff --git a/vvp/app/locales/en/translation.json b/vvp/app/locales/en/translation.json new file mode 100644 index 00000000..5cdb3286 --- /dev/null +++ b/vvp/app/locales/en/translation.json @@ -0,0 +1,8 @@ +{ + "serviceProvider": { + "name": "ServiceProvider" + }, + "program": { + "name": "VVP" + } +} diff --git a/vvp/app/main/activation/activate/activateUser.controller.js b/vvp/app/main/activation/activate/activateUser.controller.js new file mode 100644 index 00000000..39e60123 --- /dev/null +++ b/vvp/app/main/activation/activate/activateUser.controller.js @@ -0,0 +1,60 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + 'use strict'; + angular + .module('ice.activation.activateUser') + .controller('ActivateUserController', ["$state", "usersService", "$log", "$stateParams", LoginController]); + + function LoginController($state, usersService, $log, $stateParams) { + var init = function () { + usersService.activateUser($stateParams.userID, $stateParams.token) + .then(function (response) { + $state.go('app.login', {activation_success: response.data.activation_success, + engagement_uuid: response.data.engagement_uuid}); + }) + .catch(function (error) { + $log.error(error); + $state.go('app.login', {message: error.message.detail}); + }); + }; + + init(); + } +})(); diff --git a/vvp/app/main/activation/activate/activateUser.html b/vvp/app/main/activation/activate/activateUser.html new file mode 100644 index 00000000..2041a607 --- /dev/null +++ b/vvp/app/main/activation/activate/activateUser.html @@ -0,0 +1,39 @@ + +
diff --git a/vvp/app/main/activation/activate/activateUser.module.js b/vvp/app/main/activation/activate/activateUser.module.js new file mode 100644 index 00000000..b2e1f169 --- /dev/null +++ b/vvp/app/main/activation/activate/activateUser.module.js @@ -0,0 +1,58 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + 'use strict'; + angular + .module('ice.activation.activateUser', []) + .config(config); + + function config($stateProvider) { + $stateProvider + .state('app.activateUser', { + url: '/activate/:userID/:token', + views: { + 'main@': { + templateUrl: 'main/activation/activate/activateUser.html', + controller : 'ActivateUserController as vm' + } + }, + params: {} + }); + } +})(); diff --git a/vvp/app/main/activation/addVendorContact/addVendorContact.controller.js b/vvp/app/main/activation/addVendorContact/addVendorContact.controller.js new file mode 100644 index 00000000..c8859a7d --- /dev/null +++ b/vvp/app/main/activation/addVendorContact/addVendorContact.controller.js @@ -0,0 +1,111 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular + .module('ice.activation.addVendorContact') + .controller('AddVendorContactController', ["$state", "vfService", "usersService", "$log", "$rootScope", + AddVendorContactController]); + + function AddVendorContactController($state, vfService, usersService, $log, $rootScope) { + + var vm = this; + vm.data = {}; + + var init = function() { + $rootScope.ice.loader.show = true; + $rootScope.headerTitle = ""; + $rootScope.headerSubTitle = ""; + + vm.choices = [{ VirtualFunction: '', TargetLab: '', TargetAic: '',is_service_provider_internal: '' }]; + + vfService.getCompanies() + .then(function (response) { + $rootScope.ice.loader.show = false; + if (response.status === 200) { + vm.companies = response.data; + } + }) + .catch(function (error) { + $rootScope.ice.loader.show = false; + $log.error(error); + }); + + }; + + vm.submitForm = function () { + vm.data.company = vm.data.company.uuid; + + $rootScope.ice.loader.show = true; + usersService.addVendorContact(vm.data) + .then(function (response) { + $rootScope.ice.loader.show = false; + if (response.status === 200) { + if (response.data.is_active) { + $state.go('app.dashboard.overview'); + } else { + $state.go('app.resend_activation'); + } + } + }) + .catch(function (error) { + $rootScope.ice.loader.show = false; + vm.Msg = response.status + " : " + response.statusText; + vm.bgColor = "#FFEBEB"; // RED #FFEBEB green DFF0D9 + $log.error(error); + }); + }; + + vm.addNewChoice = function (){ + var newItemNo = vm.choices.length + 1; + vm.choices.push({ 'id': newItemNo }); + }; + + vm.removeChoice = function (){ + var lastItem = vm.choices.length - 1; + vm.choices.splice(lastItem); + }; + + init(); + } + +})(); + diff --git a/vvp/app/main/activation/addVendorContact/addVendorContact.html b/vvp/app/main/activation/addVendorContact/addVendorContact.html new file mode 100644 index 00000000..ff9bd6e6 --- /dev/null +++ b/vvp/app/main/activation/addVendorContact/addVendorContact.html @@ -0,0 +1,111 @@ + + + +
+
+
+ +
+ +
+ + +
+ Please select a company +
+
+ +
+ + +
+ Name is a required field. + Full Name is too short. + Full Name is too long. +
+
+ +
+ + +
+ Email is a required field. + Enter a valid email. +
+
+ +
+ + +
+ Phone is a required field. + Phone is too short. + Phone is too long. + Phone must consist of numbers only. +
+
+ +
+  I agree to receive regular email updates. +
+ +
+  I accept the AT&T's {{'program.name' | i18next}} Terms of Service and Privacy Policy. +
+ +
+ +
+
reCAPTCHA is invalid.
+
+ + + + + + +
+ +
+
+ +
diff --git a/vvp/app/main/activation/addVendorContact/addVendorContact.less b/vvp/app/main/activation/addVendorContact/addVendorContact.less new file mode 100644 index 00000000..166962d9 --- /dev/null +++ b/vvp/app/main/activation/addVendorContact/addVendorContact.less @@ -0,0 +1,82 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.addVendorContact { + + .add-button + { + float:left; + .sprite; + .sprite.add; + } + + .remove-button + { + width:100px; + height:40px; + line-height:20px; + vertical-align:middle; + padding-left:10px; + float:left; + } + + .login-form { + margin-top: 20px; + } + + .btn { + width: 100%; + } + + .btn-primary { + border: 1px solid #8799A3; + border-radius: 6px; + background: #1E79B0; /* For browsers that do not support gradients */ + background: -webkit-linear-gradient(#1E79B0, #62ADD5); /* For Safari 5.1 to 6.0 */ + background: -o-linear-gradient(#1E79B0, #62ADD5); /* For Opera 11.1 to 12.0 */ + background: -moz-linear-gradient(#1E79B0, #62ADD5); /* For Firefox 3.6 to 15 */ + background: linear-gradient(#1E79B0, #62ADD5); /* Standard syntax (must be last) */ + } + + a.register { + text-decoration: underline; + float: right; + margin: 10px 0 0 0; + } + +} diff --git a/vvp/app/main/activation/addVendorContact/addVendorContact.module.js b/vvp/app/main/activation/addVendorContact/addVendorContact.module.js new file mode 100644 index 00000000..c7b7396a --- /dev/null +++ b/vvp/app/main/activation/addVendorContact/addVendorContact.module.js @@ -0,0 +1,67 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular + .module('ice.activation.addVendorContact', []) + .config(config); + + function config($stateProvider) { + + $stateProvider + .state('app.addVendorContact', { + url : '/addVendorContact', + views : { + 'main@': { + templateUrl: 'core/layouts/full-page-with-header/full-page-with-header.html', + controller : 'MainController as vm' + }, + 'content@app.addVendorContact': { + templateUrl: 'main/activation/addVendorContact/addVendorContact.html', + controller : 'AddVendorContactController as vm' + } + }, + bodyClass: 'addVendorContact' + }); + + } + +})(); diff --git a/vvp/app/main/activation/addVf/addVf.controller.js b/vvp/app/main/activation/addVf/addVf.controller.js new file mode 100644 index 00000000..5a00c170 --- /dev/null +++ b/vvp/app/main/activation/addVf/addVf.controller.js @@ -0,0 +1,277 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular + .module('ice.activation.addVf') + .controller('AddVfController', ["$scope", "$state", "vfService", "toastService", "$location", "$rootScope", + "localStorageService", 'usersService', '$log', AddVfController]) + .directive('addVf', function () { + return { + restrict: 'AEC', + templateUrl: 'main/activation/addVf/addVf.html', + link: function(scope, elm, attrs) { + + }, + controller: AddVfController, + controllerAs: 'vm', + scope: { + isModal: '=isModal' + } + } + }); + + function AddVfController($scope, $state, vfService, toastService, $location, $rootScope,localStorageService, + usersService, $log) { + var vm = this; + vm.data = []; + vm.isModal = $scope.isModal; + vm.user = usersService.getUserData(); + if (vm.user == undefined) { + $state.go('app.login'); + } + + $rootScope.headerTitle = "Add Virtual Function"; + $rootScope.headerSubTitle = "
Please use the form below to submit the virtual functions you would " + + "like to engage with ICE.
Please do note that each VF will be tracked separately.
"; + + if (!vm.isModal && $location.search().activation_success) { + toastService.setToast('You have successfully activated your account', 'success', {displayFor: 'modal'}); + } + + var targetLabDate1 = []; + //vm.targetLabDate = iceConstants.targetLabDate; + vm.targetLabDate = monthesPlus12(); + + + $rootScope.ice.loader.show = true; + vfService.getDeployTargets() + .then(function (response) { + $rootScope.ice.loader.show = false; + if (response.status === 200) { + vm.deployTargets = response.data; + } + }).catch(function (error) { + $rootScope.ice.loader.show = false; + $log.error(error); + }); + + vfService.getECOMPReleases() + .then(function (response) { + if (response.status === 200) { + vm.ECOMPReleases = response.data; + } + }).catch(function (error) { + $rootScope.ice.loader.show = false; + $log.error(error); + }); + + vm.choices = [{VirtualFunction: '', TargetLab: '', TargetAic: '', is_service_provider_internal: ''}]; + + vm.addNewChoice = function () { + var newItemNo = vm.choices.length + 1; + vm.choices.push({'id': newItemNo}); + }; + + vm.removeChoice = function (index) { + vm.choices.splice(index,1); + }; + + vm.submitForm = function () { + var is_service_provider_internal; + var jsonAddVf = []; + angular.forEach(vm.choices, function (value, key) { + if (value.is_service_provider_internal == true) { + is_service_provider_internal = "True"; + } else { + is_service_provider_internal = "False"; + } + vm.item = []; + var jsonItem = new Object(); + jsonItem.virtual_function = value.VirtualFunction; + var objDate = new Date(Date.parse((value.TargetLab) + moment().format("z"))); + jsonItem.target_lab_entry_date = objDate.getFullYear() + "-" + + addZero(objDate.getMonth()+1) + "-" + addZero(objDate.getDate()); + jsonItem.version = value.VFVersion; + jsonItem.target_aic_uuid = value.TargetAic; + jsonItem.ecomp_release = value.ECOMPRelease; + jsonItem.is_service_provider_internal = (is_service_provider_internal === "True"); + jsonAddVf.push(jsonItem); + }); + + $rootScope.ice.loader.show = true; + vfService.addVfs(JSON.stringify(jsonAddVf))//vm.data)) + .then(function (response) { + $rootScope.ice.loader.show = false; + if (response.status === 200) { + localStorageService.setJson("vfs", response.data); + + if (!vm.isModal) { + if (response.data.is_active) { + $state.go('app.dashboard.overview'); + } else { + $state.go('app.resend_activation'); + } + } else { + $scope.$emit('onUpdateEngagements',{ + select: { + uuid:response.data[0].engagement.uuid,page_type:'overview', + sub_id:undefined + } + }); + $scope.$emit('moveWizardNextStep', response.data[0]); + } + } + }) + .catch(function (error) { + $rootScope.ice.loader.show = false; + $log.error(error); + }); + }; + + + vm.skipAddVf = function () { + if (!vm.isModal && $location.search().activation_success) { + $state.go('app.dashboard.overview'); + } else { + $state.go('app.resend_activation'); + } + }; + vm.myDate = new Date(); + vm.minDate = new Date( + vm.myDate.getFullYear(), + vm.myDate.getMonth(), + vm.myDate.getDate()); + vm.maxDate = new Date( + vm.myDate.getFullYear() + 2, + vm.myDate.getMonth(), + vm.myDate.getDate()); + + } + + + var monthesPlus12 = function() + { + var i; + var arrMonthYear=[]; + var startingMonth = (new Date().getMonth()+1); + var startingYear = (new Date().getFullYear()); + for (i = startingMonth ; i<=12;i++) + { + arrMonthYear.push({"val": monthZero(i) + "-" + startingYear, "nam": MonthNumToName(i) + " " + + startingYear}); + } + for (i=1; i < startingMonth ; i++) + { + arrMonthYear.push({"val": monthZero(i) + "-" + (startingYear+1), "nam": MonthNumToName(i) + " " + + (startingYear + 1)}); + } + return(arrMonthYear); + } + + var monthZero = function(m) + { + var ret = m; + if (m<10) + { + ret = "0"+m; + } + return(ret); + } + + var MonthNumToName = function(m) + { + var MonthName; + switch (m) + { + case 1: + MonthName = "January"; + break; + case 2: + MonthName = "February"; + break; + case 3: + MonthName = "March"; + break; + case 4: + MonthName = "April"; + break; + case 5: + MonthName = "May"; + break; + case 6: + MonthName = "June"; + break; + case 7: + MonthName = "July"; + break; + case 8: + MonthName = "August"; + break; + case 9: + MonthName = "September"; + break; + case 10: + MonthName = "October"; + break; + case 11: + MonthName = "November"; + break; + case 12: + MonthName = "December"; + break; + } + return(MonthName); + } + + var addZero = function(x) + { + if (x<10) + { + return("0"+x); + } + else + { + return(x); + } + } +})(); + diff --git a/vvp/app/main/activation/addVf/addVf.html b/vvp/app/main/activation/addVf/addVf.html new file mode 100644 index 00000000..4dff7b0b --- /dev/null +++ b/vvp/app/main/activation/addVf/addVf.html @@ -0,0 +1,130 @@ + + +
+
+
+
+
+
+ +
+
+ +
+ +
+ Use the form below to add your VF.Try to be as accurate as you can around the information to + make sure the validation can accomplished as possible. +
+
+
+ +
+
VF Name
+ +
+ VF Name can be alphanumeric or/and Hyphen +
+
+
+
+

Key Metadata

+
+ +
+ +
+
Target Lab Entry Date
+ + +
+
+
+ + The virtual function is only developed internally inside AT&T. +
+
+
+
+ +
+
+
+
+
diff --git a/vvp/app/main/activation/addVf/addVf.less b/vvp/app/main/activation/addVf/addVf.less new file mode 100644 index 00000000..dd78bae3 --- /dev/null +++ b/vvp/app/main/activation/addVf/addVf.less @@ -0,0 +1,176 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.add-vf { + + .reject_large { + .actions-sprite; + .actions-sprite.reject_large; + cursor: pointer; + } + + .table{ + margin-bottom: 0; + } + + .table-container-flex { + + + .action-row-wrapper, .data-row-wrapper { + padding: 5px 10px; + margin-bottom:5px; + + } + + .data-row-wrapper:nth-child(even) { + background: rgba(158, 158, 158, 0.28); + + + } + + .data-row-wrapper:nth-child(odd) { + border-bottom: 1px solid; + border-top: 1px solid; + border-color: @main_color_q; + } + + .data-row-wrapper:first-child { + border-top: none; + } + + .data-row-wrapper:last-child { + border-bottom:none; + } + .flex-item { + padding-left:0px; + } + .flex-item:nth-child(1) { + padding: 5px 15px 5px 0px; + flex-grow: 25; + } + + .flex-item:nth-child(2) { + flex-grow: 25; + } + + .flex-item:nth-child(3) { + flex-grow: 25; + } + + .flex-item:nth-child(4) { + flex-grow: 25; + } + .flex-item:nth-child(5) { + flex-grow: 25; + } + + } + + .add-vf-confirm-checkbox { + display: block; + clear: both; + } + + .add-button { + display: block; + .add-text { + .a_16_m; + vertical-align: top; + margin-left: 6px; + } + .add-icon { + .sprite; + .sprite.add; + display: inline-block; + } + } + + .remove-button { + width:100px; + height:40px; + line-height:20px; + vertical-align:middle; + padding-left:10px; + float:left; + .a_16_m; + margin-top: 8px; + cursor: pointer; + + .remove-icon { + display: inline-block; + vertical-align: text-top; + margin-right: 6px; + .sprite; + .sprite.delete-circle; + cursor: pointer; + } + } + + .lineColor + { + margin: 2px; + } + + .addVf-form { + margin-top: 20px; + } + + .btn { + width: 100%; + } + + .btn-primary { + border: 1px solid #8799A3; + border-radius: 6px; + background: #1E79B0; /* For browsers that do not support gradients */ + background: -webkit-linear-gradient(#1E79B0, #62ADD5); /* For Safari 5.1 to 6.0 */ + background: -o-linear-gradient(#1E79B0, #62ADD5); /* For Opera 11.1 to 12.0 */ + background: -moz-linear-gradient(#1E79B0, #62ADD5); /* For Firefox 3.6 to 15 */ + background: linear-gradient(#1E79B0, #62ADD5); /* Standard syntax (must be last) */ + } + + #skip-add-vf-singup { + margin-top: 10px; + display: block; + text-decoration: underline; + text-align: left; + .a_16_r; + } + + +} diff --git a/vvp/app/main/activation/addVf/addVf.module.js b/vvp/app/main/activation/addVf/addVf.module.js new file mode 100644 index 00000000..bac2c90b --- /dev/null +++ b/vvp/app/main/activation/addVf/addVf.module.js @@ -0,0 +1,67 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular + .module('ice.activation.addVf', []) + .config(config); + + function config($stateProvider) { + + $stateProvider + .state('app.addVf', { + url : '/addVf', + views : { + 'main@': { + templateUrl: 'core/layouts/full-page-with-header/full-page-with-header.html', + controller : 'MainController as vm' + }, + 'content@app.addVf': { + templateUrl: 'main/activation/addVf/addVf.html', + controller : 'AddVfController as vm' + } + }, + bodyClass: 'add-vf' + }); + + } + +})(); diff --git a/vvp/app/main/activation/contactUs/contactUs.controller.js b/vvp/app/main/activation/contactUs/contactUs.controller.js new file mode 100644 index 00000000..bed33798 --- /dev/null +++ b/vvp/app/main/activation/contactUs/contactUs.controller.js @@ -0,0 +1,57 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular + .module('ice.contactUs') + .controller('ContactUsController', ["$rootScope", ContactUsController]); + + function ContactUsController($rootScope) { + + var vm = this; + + $rootScope.headerTitle = "Contact Us"; + $rootScope.headerSubTitle = "Please fill in the details below"; + + } + +})(); + diff --git a/vvp/app/main/activation/contactUs/contactUs.html b/vvp/app/main/activation/contactUs/contactUs.html new file mode 100644 index 00000000..653ebc1d --- /dev/null +++ b/vvp/app/main/activation/contactUs/contactUs.html @@ -0,0 +1,53 @@ + +
+ +
+
+ +
+ + + +
+ +
+
+ +
diff --git a/vvp/app/main/activation/contactUs/contactUs.less b/vvp/app/main/activation/contactUs/contactUs.less new file mode 100644 index 00000000..befbb342 --- /dev/null +++ b/vvp/app/main/activation/contactUs/contactUs.less @@ -0,0 +1,59 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.contact-us { + + .contact-us-form { + margin-top: 20px; + } + + .btn { + width: 100%; + } + + .btn-primary { + border: 1px solid #8799A3; + border-radius: 6px; + background: #1E79B0; /* For browsers that do not support gradients */ + background: -webkit-linear-gradient(#1E79B0, #62ADD5); /* For Safari 5.1 to 6.0 */ + background: -o-linear-gradient(#1E79B0, #62ADD5); /* For Opera 11.1 to 12.0 */ + background: -moz-linear-gradient(#1E79B0, #62ADD5); /* For Firefox 3.6 to 15 */ + background: linear-gradient(#1E79B0, #62ADD5); /* Standard syntax (must be last) */ + } + +} diff --git a/vvp/app/main/activation/contactUs/contactUs.module.js b/vvp/app/main/activation/contactUs/contactUs.module.js new file mode 100644 index 00000000..9259671d --- /dev/null +++ b/vvp/app/main/activation/contactUs/contactUs.module.js @@ -0,0 +1,67 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular + .module('ice.contactUs', []) + .config(config); + + function config($stateProvider) { + + $stateProvider + .state('app.contactus', { + url : '/contactUs', + views : { + 'main@': { + templateUrl: 'core/layouts/full-page-with-header/full-page-with-header.html', + controller : 'MainController as vm' + }, + 'content@app.contactus': { + templateUrl: 'main/activation/contactUs/contactUs.html', + controller : 'ContactUsController as vm' + } + }, + bodyClass: 'contact-us' + }); + + } + +})(); diff --git a/vvp/app/main/activation/inviteMembers/inviteMembers.controller.js b/vvp/app/main/activation/inviteMembers/inviteMembers.controller.js new file mode 100644 index 00000000..72ff43c0 --- /dev/null +++ b/vvp/app/main/activation/inviteMembers/inviteMembers.controller.js @@ -0,0 +1,97 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + 'use strict'; + angular + .module('ice.activation.inviteMembers') + .controller('InviteMembersController', ["$state", "vfService", "$rootScope", "$log", InviteMembersController]); + + function InviteMembersController($state, vfService, $rootScope, $log) { + var vm = this; + vm.data = []; + + var init = function() { + $rootScope.headerTitle = "Invite Team Members"; + $rootScope.headerSubTitle = "You can invite as many team members to collaborate around your virtual" + + " function as you would like. Please do remember that anyone invited to collaborate with you around" + + " the virtual function will have equal access."; + vm.choices = [{ Email: '' }]; + }; + + vm.submitForm = function () { + var jsonInviteMembers=[]; + angular.forEach(vm.choices, function(value, key) { + vm.item=[]; + var jsonItem = new Object(); + jsonItem.email = value.email; + jsonInviteMembers.push(jsonItem); + }); + + $rootScope.ice.loader.show = true; + vfService.inviteMembers(JSON.stringify(jsonInviteMembers)) + .then(function (response) { + $rootScope.ice.loader.show = false; + if (response.status === 200) { + if (response.data.is_active) { + $state.go('app.dashboard.overview'); + } else { + $state.go('app.resend_activation'); + } + } + }) + .catch(function (error) { + $rootScope.ice.loader.show = false; + $log.error(error); + }); + }; + + vm.addNewChoice = function () { + var newItemNo = vm.choices.length + 1; + vm.choices.push({ 'id': newItemNo }); + }; + + vm.removeChoice = function () { + var lastItem = vm.choices.length - 1; + vm.choices.splice(lastItem); + }; + + init(); + } +})(); + diff --git a/vvp/app/main/activation/inviteMembers/inviteMembers.html b/vvp/app/main/activation/inviteMembers/inviteMembers.html new file mode 100644 index 00000000..60fa01d5 --- /dev/null +++ b/vvp/app/main/activation/inviteMembers/inviteMembers.html @@ -0,0 +1,72 @@ + + + +
+ +
+ +
+ +
+
+
+
+
+
+ +
+ Email is a required field. + Enter a valid email. +
+
+
+
+ Remove +
+
+
+ + Invite another team member + + + +
+
+
diff --git a/vvp/app/main/activation/inviteMembers/inviteMembers.less b/vvp/app/main/activation/inviteMembers/inviteMembers.less new file mode 100644 index 00000000..9eb02dc3 --- /dev/null +++ b/vvp/app/main/activation/inviteMembers/inviteMembers.less @@ -0,0 +1,86 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.inviteMembers { + + .inviteMembers-title { + height: 130px; + display: flex; + flex-direction: column; + align-items: center; + justify-content: flex-start; + h1 {.p_24; margin: 20px 0 10px 0;} + h2 {.p_16_m; margin: 0;} + } + + .add-button { + &:after { + .sprite; + .sprite.add; + display: block; + } + } + + .remove-button { + width:100px; + height:40px; + line-height:20px; + vertical-align:middle; + padding-left:10px; + float:left; + } + + .inviteMembers-form { + margin-top: 20px; + } + + .btn { + width: 100%; + } + + .btn-primary { + border: 1px solid #8799A3; + border-radius: 6px; + background: #1E79B0; /* For browsers that do not support gradients */ + background: -webkit-linear-gradient(#1E79B0, #62ADD5); /* For Safari 5.1 to 6.0 */ + background: -o-linear-gradient(#1E79B0, #62ADD5); /* For Opera 11.1 to 12.0 */ + background: -moz-linear-gradient(#1E79B0, #62ADD5); /* For Firefox 3.6 to 15 */ + background: linear-gradient(#1E79B0, #62ADD5); /* Standard syntax (must be last) */ + } + +} diff --git a/vvp/app/main/activation/inviteMembers/inviteMembers.module.js b/vvp/app/main/activation/inviteMembers/inviteMembers.module.js new file mode 100644 index 00000000..61d8f1f0 --- /dev/null +++ b/vvp/app/main/activation/inviteMembers/inviteMembers.module.js @@ -0,0 +1,67 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular + .module('ice.activation.inviteMembers', []) + .config(config); + + function config($stateProvider) { + + $stateProvider + .state('app.inviteMembers', { + url : '/inviteMembers', + views : { + 'main@': { + templateUrl: 'core/layouts/full-page-with-header/full-page-with-header.html', + controller : 'MainController as vm' + }, + 'content@app.inviteMembers': { + templateUrl: 'main/activation/inviteMembers/inviteMembers.html', + controller : 'InviteMembers as vm' + } + }, + bodyClass: 'inviteMembers' + }); + + } + +})(); diff --git a/vvp/app/main/activation/login/login.controller.js b/vvp/app/main/activation/login/login.controller.js new file mode 100644 index 00000000..9ed5f1be --- /dev/null +++ b/vvp/app/main/activation/login/login.controller.js @@ -0,0 +1,119 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular + .module('ice.activation.login') + .controller('LoginController', ["$state", "usersService", "$log", "$rootScope", "$location", "toastService", + "$stateParams", LoginController]); + + function LoginController($state, usersService, $log, $rootScope, $location, toastService, $stateParams) { + var vm = this; + vm.data = {}; + $rootScope.headerTitle = "Login"; + $rootScope.headerSubTitle = "Please use the form below to login"; + usersService.resetUserData(); + var t=""; + + if ($state.params.message){ + toastService.setToast($state.params.message, 'danger'); + $log.warn($state.params.message); + } + + if ($location.search().t != undefined){ + t = "token"+$location.search().t + } + + vm.data.invitation = $location.search().invitation; + + vm.submitForm = function () { + $rootScope.ice.loader.show = true; + usersService.login(JSON.stringify(vm.data), t) + .then(function (response) { + if (response.status === 200) { + $rootScope.ice.loader.show = false; + + usersService.setUserActivationSuccess($state.params.activation_success); + + if(response.data.isResetPwdFlow!=undefined && response.data.isResetPwdFlow==true){ + $state.go("app.updatePassword"); + } + else{ + // This is a workaround to remove slash at the beginning. + // The slash is there because the ui-router does not support optional + // params in URL address, and I used regex: + // url: '/login{enggement_uuid: (?:/[^/]+)?}' and the value returned for engagement_uuid + // contains slash at the start. + var engagement_uuid = $state.params.engagement_uuid; + if (response.data.eng_uuid != undefined) + engagement_uuid = response.data.eng_uuid; + + if (engagement_uuid){ + engagement_uuid = engagement_uuid.replace('/',''); + $state.go("app.dashboard.overview", {"engagement_uuid": engagement_uuid}); + } else { + $state.go("app.dashboard.dashboard"); + } + } + } + }) + .catch(function (error) { + if(error && error.message && error.message.detail) { + toastService.setToast(error.message.detail, 'danger'); + } else { + toastService.setToast(error.message, 'danger'); + } + + $rootScope.ice.loader.show = false; + $log.error(error.message); + if(error.status===403){ // The server will return 403 if the user.is_active==false + $log.error('User is not active, redirecting to resend_activation page'); + $state.go("app.resend_activation", {"message": "Please activate your account first"}); + } + if(error.status===302){ // The server will return 302 if the temporary password has expired + $log.error('Temporary password has expired, redirecting to reset_password page'); + $state.go('app.resetPassword', {"message":"Your temporary password has expired, please" + + " generate a new one"}); + } + }); + }; + } +})(); diff --git a/vvp/app/main/activation/login/login.html b/vvp/app/main/activation/login/login.html new file mode 100644 index 00000000..d095fda1 --- /dev/null +++ b/vvp/app/main/activation/login/login.html @@ -0,0 +1,90 @@ + + + +
+ +
+
+ +
+
+ +
diff --git a/vvp/app/main/activation/login/login.less b/vvp/app/main/activation/login/login.less new file mode 100644 index 00000000..9dd6a9f7 --- /dev/null +++ b/vvp/app/main/activation/login/login.less @@ -0,0 +1,109 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.login { + + .login-form { + margin-top: 20px; + } + + .btn { + width: 100%; + } + + .btn-primary { + border: 1px solid #8799A3; + border-radius: 6px; + background: #1E79B0; /* For browsers that do not support gradients */ + background: -webkit-linear-gradient(#1E79B0, #62ADD5); /* For Safari 5.1 to 6.0 */ + background: -o-linear-gradient(#1E79B0, #62ADD5); /* For Opera 11.1 to 12.0 */ + background: -moz-linear-gradient(#1E79B0, #62ADD5); /* For Firefox 3.6 to 15 */ + background: linear-gradient(#1E79B0, #62ADD5); /* Standard syntax (must be last) */ + } + + a.register { + text-decoration: underline; + float: right; + margin: 10px 0 0 0; + } + + + .leftLink + { + padding-top:5px; + width:50%; + text-align:left; + float:left; + + a, + a:hover, + a:active, + a:focus + { + .m_14_r; + cursor: pointer; + } + + a{ + text-decoration:underline; + } + } + + .rightLink + { + font-size:14px; + padding-top:5px; + width:50%; + text-align:right; + float:left; + + a, + a:hover, + a:active, + a:focus + { + .m_14_r; + cursor: pointer; + } + + a{ + text-decoration:underline; + } + } + +} diff --git a/vvp/app/main/activation/login/login.module.js b/vvp/app/main/activation/login/login.module.js new file mode 100644 index 00000000..9953063b --- /dev/null +++ b/vvp/app/main/activation/login/login.module.js @@ -0,0 +1,68 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular + .module('ice.activation.login', []) + .config(config); + + function config($stateProvider) { + + $stateProvider + .state('app.login', { + url: '/login{engagement_uuid: (?:/[^/]+)?}', + views: { + 'main@': { + templateUrl: 'core/layouts/full-page-with-header/full-page-with-header.html', + controller: 'MainController as vm' + }, + 'content@app.login': { + templateUrl: 'main/activation/login/login.html', + controller: 'LoginController as vm' + } + }, + params: {message: null, activation_success: undefined}, + bodyClass: 'login' + }); + + } + +})(); diff --git a/vvp/app/main/activation/register/register.controller.js b/vvp/app/main/activation/register/register.controller.js new file mode 100644 index 00000000..e4e525a7 --- /dev/null +++ b/vvp/app/main/activation/register/register.controller.js @@ -0,0 +1,122 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular + .module('ice.activation.register') + .controller('RegisterController', ["usersService", "$state", "$location", "vfService", "$rootScope", + "toastService", "$log",'$i18next', RegisterController]); + + function RegisterController(usersService, $state, $location, vfService, $rootScope, toastService, $log,$i18next) { + + var vm = this; + vm.data = {}; + var programName = $i18next.t('program.name'); + var init = function() + { + + $rootScope.headerTitle = "Sign Up"; + $rootScope.headerSubTitle = "Please use the form to Sign Up to " +programName; + + usersService.resetUserData(); + + var companyParam = $location.search().company; + + vm.data.full_name = $location.search().full_name; + vm.data.email = $location.search().email; + vm.data.phone_number = $location.search().phone_number; + + $rootScope.ice.loader.show = true; + vfService.getCompanies() + .then(function (response) { + $rootScope.ice.loader.show = false; + if (response.status === 200){ + vm.vendors = response.data; + if (companyParam != undefined) { + angular.forEach(vm.vendors, function (value, key) { + if (value.uuid === companyParam) { + vm.data.company = value.name; + }; + }); + } + } + }) + .catch(function (error){ + $rootScope.ice.loader.show = false; + $log.error(error); + }); + }; + + vm.submitForm = function () { + if(grecaptcha.getResponse().length != 0) + { + $rootScope.ice.loader.show = true; + if (vm.data.regular_email_updates != true) { + vm.data.regular_email_updates = false; + } + vm.data.inviter_uuid = $location.search().inviter_uuid; + vm.data.eng_uuid = $location.search().eng_uuid; + vm.data.invitation = $location.search().invitation; + vm.data.is_contact_user = ($location.search().is_contact_user === "true"); + vm.email = $location.search().email; + + usersService.register(vm.data) + .then(function (response) { + $rootScope.ice.loader.show = false; + if (response.status === 200) { + $state.go('app.resend_activation'); + } + }) + .catch(function (error) { + toastService.setToast(error.message, 'danger'); + $rootScope.ice.loader.show = false; + $log.error(error.message); + }); + $rootScope.PleaseFill = ""; + } else { + toastService.setToast('Please fill CAPTCHA!', 'danger'); + $log.warn("Please fill CAPTCHA!"); + } + }; + + init(); + } +})(); diff --git a/vvp/app/main/activation/register/register.html b/vvp/app/main/activation/register/register.html new file mode 100644 index 00000000..b6af8ce4 --- /dev/null +++ b/vvp/app/main/activation/register/register.html @@ -0,0 +1,127 @@ + + + +
+ +
+
+ +
+
+ + +
+ Please select a company +
+
+ +
+ + +
+ Name is a required field. + Full Name is too short. + Full Name is too long. + Full Name must be alphanumeric +
+
+ +
+ + +
+ Email is a required field. + Enter a valid email. +
+
+ +
+ + +
+ Phone is a required field. + Phone is too short. + Phone is too long. + Phone format invalid +
+
+ +
+ + +
+ Password is a required field. + Password is too short. + Password is too long. +
+
+ +
+  I agree to receive regular email updates from AT&T {{'program.name' | i18next}}. +
+ + + +
+ +
+
+ + {{PleaseFill}} + + + + +
+
+
+ +
diff --git a/vvp/app/main/activation/register/register.less b/vvp/app/main/activation/register/register.less new file mode 100644 index 00000000..7df0cce9 --- /dev/null +++ b/vvp/app/main/activation/register/register.less @@ -0,0 +1,100 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.register { + .phone-place-holder::-webkit-input-placeholder { + opacity: 0.7; + } + .phone-place-holder::-moz-placeholder { + opacity: 0.7; + } + .phone-place-holder:-moz-placeholder { + opacity: 0.7; + } + .phone-place-holder:-ms-input-placeholder { + opacity: 0.7; + } + + .register-form { + margin-top: 20px; + } + + .btn { + width: 100%; + } + + .btn-primary { + border: 1px solid #8799A3; + border-radius: 6px; + background: #1E79B0; /* For browsers that do not support gradients */ + background: -webkit-linear-gradient(#1E79B0, #62ADD5); /* For Safari 5.1 to 6.0 */ + background: -o-linear-gradient(#1E79B0, #62ADD5); /* For Opera 11.1 to 12.0 */ + background: -moz-linear-gradient(#1E79B0, #62ADD5); /* For Firefox 3.6 to 15 */ + background: linear-gradient(#1E79B0, #62ADD5); /* Standard syntax (must be last) */ + } + + a, + a:hover, + a:active, + a:focus + { + .m_14_r; + cursor: pointer; + } + + a.login, a.login:hover{ + .m_14_r; + float: right; + margin: 5px 0 0 0; + } + + a.login{ + text-decoration: underline; + } + + .form-group { + a { + font-size:14px; + text-decoration:underline; + + &:hover { + font-size:14px; + } + } + } +} diff --git a/vvp/app/main/activation/register/register.module.js b/vvp/app/main/activation/register/register.module.js new file mode 100644 index 00000000..e463ceb1 --- /dev/null +++ b/vvp/app/main/activation/register/register.module.js @@ -0,0 +1,67 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular + .module('ice.activation.register', []) + .config(config); + + function config($stateProvider) { + + $stateProvider + .state('app.register', { + url : '/signUp', + views : { + 'main@': { + templateUrl: 'core/layouts/full-page-with-header/full-page-with-header.html', + controller : 'MainController as vm' + }, + 'content@app.register': { + templateUrl: 'main/activation/register/register.html', + controller : 'RegisterController as vm' + } + }, + bodyClass: 'register' + }); + + } + +})(); diff --git a/vvp/app/main/activation/resendActivation/resendActivation.controller.js b/vvp/app/main/activation/resendActivation/resendActivation.controller.js new file mode 100644 index 00000000..374d9005 --- /dev/null +++ b/vvp/app/main/activation/resendActivation/resendActivation.controller.js @@ -0,0 +1,79 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + 'use strict'; + angular + .module('ice.activation.resendActivation') + .controller('resendActivationController', ["usersService", "toastService", "$rootScope", "$state", "$log", + resendActivationController]); + + function resendActivationController(usersService, toastService, $rootScope, $state, $log) { + var vm = this; + vm.data = []; + + var init = function() { + $rootScope.headerTitle = "Activate Your Account"; + $rootScope.headerSubTitle = "Please follow the instructions below to activate your account."; + + if ($state.params.message){ + toastService.setToast($state.params.message, 'danger'); + } + + vm.activated=false; //True false + vm.showHideMsg = false; + vm.showHideWait = false; + }; + + vm.submitForm = function () { + $rootScope.ice.loader.show = true; + usersService.resendActivationMail() + .then(function (response) { + $rootScope.ice.loader.show = false; + if (response.status === 200) { + } + }) + .catch(function (error) { + $rootScope.ice.loader.show = false; + $log.error(error); + }); + }; + + init(); + } +})(); diff --git a/vvp/app/main/activation/resendActivation/resendActivation.html b/vvp/app/main/activation/resendActivation/resendActivation.html new file mode 100644 index 00000000..cc2cc91b --- /dev/null +++ b/vvp/app/main/activation/resendActivation/resendActivation.html @@ -0,0 +1,61 @@ + + + +
+ +
+
+
+

+ You have successfully created your account! To begin using this site you will need to activate your account via the email we have just sent to your email address. +

+ Please note that sometimes activation emails end up in users spam/junk folders, so please check there. +

+ If you have not received it, please click the resend the Activation Email button below. +

+ + + +
+
+
+
diff --git a/vvp/app/main/activation/resendActivation/resendActivation.less b/vvp/app/main/activation/resendActivation/resendActivation.less new file mode 100644 index 00000000..5d2277cb --- /dev/null +++ b/vvp/app/main/activation/resendActivation/resendActivation.less @@ -0,0 +1,67 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.resend-activation { + + .active-form { + margin-top: 20px; + } + + .btn { + width: 100%; + } + + .btn-primary { + border: 1px solid #8799A3; + border-radius: 6px; + background: #1E79B0; /* For browsers that do not support gradients */ + background: -webkit-linear-gradient(#1E79B0, #62ADD5); /* For Safari 5.1 to 6.0 */ + background: -o-linear-gradient(#1E79B0, #62ADD5); /* For Opera 11.1 to 12.0 */ + background: -moz-linear-gradient(#1E79B0, #62ADD5); /* For Firefox 3.6 to 15 */ + background: linear-gradient(#1E79B0, #62ADD5); /* Standard syntax (must be last) */ + } + + .leftLink{ + padding-top:5px; + width:50%; + text-align:left; + float:left; + + } + +} diff --git a/vvp/app/main/activation/resendActivation/resendActivation.module.js b/vvp/app/main/activation/resendActivation/resendActivation.module.js new file mode 100644 index 00000000..90a28339 --- /dev/null +++ b/vvp/app/main/activation/resendActivation/resendActivation.module.js @@ -0,0 +1,68 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular + .module('ice.activation.resendActivation', []) + .config(config); + + function config($stateProvider) { + + $stateProvider + .state('app.resend_activation', { + url : '/resendActivation', + views : { + 'main@': { + templateUrl: 'core/layouts/full-page-with-header/full-page-with-header.html', + controller : 'MainController as vm' + }, + 'content@app.resend_activation': { + templateUrl: 'main/activation/resendActivation/resendActivation.html', + controller : 'resendActivationController as vm' + } + }, + params: {message: null}, + bodyClass: 'resend-activation' + }); + + } + +})(); diff --git a/vvp/app/main/activation/resetPassword/resetPassword.controller.js b/vvp/app/main/activation/resetPassword/resetPassword.controller.js new file mode 100644 index 00000000..9702c2e4 --- /dev/null +++ b/vvp/app/main/activation/resetPassword/resetPassword.controller.js @@ -0,0 +1,95 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + 'use strict'; + angular + .module('ice.activation.resetPassword') + .controller('ResetPasswordController', ["$state", "usersService", "toastService", "$rootScope", "$window", + "$log", ResetPasswordController]); + + function ResetPasswordController($state, usersService, toastService, $rootScope, $window,$log) + { + var vm = this; + vm.data = {}; + var ngReq = true; + $rootScope.headerTitle = "Reset Your Password"; + $rootScope.headerSubTitle = "Please follow the instructions below to reset your password"; + + if($state.params.message!=undefined && $state.params.message!=""){ + toastService.setToast($state.params.message, 'danger'); + $rootScope.ice.loader.show = false; + $log.warn($state.params.message); + } + + vm.submitForm = function() + { + $rootScope.ice.loader.show = true; + var jsonEmail = + { + email : vm.data.email + }; + toastService.clearToast() + usersService.sendResetPwdInstructions(jsonEmail) + .then(function (response) { + if (response.status === 200) { + toastService.setToast('An email with detailed instructions on how to reset your password was sent to your Email.', 'success'); + ngReq = false; + vm.data.email = ""; + $rootScope.ice.loader.show = false; + } + else + { + toastService.setToast('Error sending reset password instructions email.', 'danger'); + $rootScope.ice.loader.show = false; + } + }) + .catch(function (error) + { + toastService.setToast(error.message, 'danger'); + $rootScope.ice.loader.show = false; + $log.error(error.message); + }); + }; + + vm.sendMail = function() + { + $window.open("mailto:d2ice@att.com","_self"); + } + } +})(); diff --git a/vvp/app/main/activation/resetPassword/resetPassword.html b/vvp/app/main/activation/resetPassword/resetPassword.html new file mode 100644 index 00000000..41d90a69 --- /dev/null +++ b/vvp/app/main/activation/resetPassword/resetPassword.html @@ -0,0 +1,64 @@ + + + +
+ +
+
+
+
+ + +
+ Email is a required field. + Enter a valid email. +
+
+ + + + +
+
+
+ +
diff --git a/vvp/app/main/activation/resetPassword/resetPassword.less b/vvp/app/main/activation/resetPassword/resetPassword.less new file mode 100644 index 00000000..18f79364 --- /dev/null +++ b/vvp/app/main/activation/resetPassword/resetPassword.less @@ -0,0 +1,84 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.resetPassword { + + .resetPassword-form { + margin-top: 20px; + } + + .btn { + width: 100%; + } + + .btn-primary { + border: 1px solid #8799A3; + border-radius: 6px; + background: #1E79B0; /* For browsers that do not support gradients */ + background: -webkit-linear-gradient(#1E79B0, #62ADD5); /* For Safari 5.1 to 6.0 */ + background: -o-linear-gradient(#1E79B0, #62ADD5); /* For Opera 11.1 to 12.0 */ + background: -moz-linear-gradient(#1E79B0, #62ADD5); /* For Firefox 3.6 to 15 */ + background: linear-gradient(#1E79B0, #62ADD5); /* Standard syntax (must be last) */ + } + + a.register { + text-decoration: underline; + float: right; + margin: 10px 0 0 0; + } + + .leftLink { + width:100%; + padding-top:5px; + text-align:left; + + a, + a:hover, + a:active, + a:focus + { + .m_14_r; + cursor: pointer; + } + + a{ + text-decoration:underline; + } + } + +} diff --git a/vvp/app/main/activation/resetPassword/resetPassword.module.js b/vvp/app/main/activation/resetPassword/resetPassword.module.js new file mode 100644 index 00000000..792e51dd --- /dev/null +++ b/vvp/app/main/activation/resetPassword/resetPassword.module.js @@ -0,0 +1,68 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular + .module('ice.activation.resetPassword',[]) + .config(config); + + function config($stateProvider) { + + $stateProvider + .state('app.resetPassword', { + url: '/resetPassword', + views: { + 'main@': { + templateUrl: 'core/layouts/full-page-with-header/full-page-with-header.html', + controller: 'MainController as vm' + }, + 'content@app.resetPassword': { + templateUrl: 'main/activation/resetPassword/resetPassword.html', + controller: 'ResetPasswordController as vm' + } + }, + params: {message: null}, + bodyClass: 'resetPassword' + }); + + } + +})(); diff --git a/vvp/app/main/activation/terms/terms.controller.js b/vvp/app/main/activation/terms/terms.controller.js new file mode 100644 index 00000000..9eabdc25 --- /dev/null +++ b/vvp/app/main/activation/terms/terms.controller.js @@ -0,0 +1,56 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular + .module('ice.activation.terms') + .controller('TermsController', ["$rootScope", TermsController]); + + function TermsController($rootScope) + { + var vm = this; + vm.data = {}; + + $rootScope.headerTitle = "Terms of Service"; + $rootScope.headerSubTitle = "Last updated 2016-06-10"; + } + +})(); diff --git a/vvp/app/main/activation/terms/terms.html b/vvp/app/main/activation/terms/terms.html new file mode 100644 index 00000000..0e37b0b4 --- /dev/null +++ b/vvp/app/main/activation/terms/terms.html @@ -0,0 +1,41 @@ + +
+

SP Terms

+
diff --git a/vvp/app/main/activation/terms/terms.less b/vvp/app/main/activation/terms/terms.less new file mode 100644 index 00000000..e809c9d6 --- /dev/null +++ b/vvp/app/main/activation/terms/terms.less @@ -0,0 +1,65 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.terms { + + .terms-form { + margin-top: 20px; + } + + .btn { + width: 100%; + } + + .btn-primary { + border: 1px solid #8799A3; + border-radius: 6px; + background: #1E79B0; /* For browsers that do not support gradients */ + background: -webkit-linear-gradient(#1E79B0, #62ADD5); /* For Safari 5.1 to 6.0 */ + background: -o-linear-gradient(#1E79B0, #62ADD5); /* For Opera 11.1 to 12.0 */ + background: -moz-linear-gradient(#1E79B0, #62ADD5); /* For Firefox 3.6 to 15 */ + background: linear-gradient(#1E79B0, #62ADD5); /* Standard syntax (must be last) */ + } + + a.register { + text-decoration: underline; + float: right; + margin: 10px 0 0 0; + } + +} diff --git a/vvp/app/main/activation/terms/terms.module.js b/vvp/app/main/activation/terms/terms.module.js new file mode 100644 index 00000000..68a429cf --- /dev/null +++ b/vvp/app/main/activation/terms/terms.module.js @@ -0,0 +1,68 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular + .module('ice.activation.terms', []) + .config(config); + + function config($stateProvider) { + + $stateProvider + .state('app.terms', { + url: '/terms', + views: { + 'main@': { + templateUrl: 'core/layouts/full-page-with-header/full-page-with-header.html', + controller: 'MainController as vm' + }, + 'content@app.terms': { + templateUrl: 'main/activation/terms/terms.html', + controller: 'TermsController as vm' + } + }, + params: {message: null}, + bodyClass: 'terms' + }); + + } + +})(); diff --git a/vvp/app/main/activation/updatePassword/updatePassword.controller.js b/vvp/app/main/activation/updatePassword/updatePassword.controller.js new file mode 100644 index 00000000..364dcc77 --- /dev/null +++ b/vvp/app/main/activation/updatePassword/updatePassword.controller.js @@ -0,0 +1,95 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular + .module('ice.activation.updatePassword') + .controller('UpdatePasswordController', ["$state", "usersService", "localStorageService", "$rootScope", "toastService", "$window", UpdatePasswordController]); + + function UpdatePasswordController($state, usersService, localStorageService, $rootScope, toastService, $window) { + + var vm = this; + vm.data = {}; + + var ngReq = true; + + $rootScope.headerTitle = "Update Your Password"; + $rootScope.headerSubTitle = "Please follow the instructions below to update your password"; + + vm.submitForm = function() + { + $rootScope.ice.loader.show = true; + var jsonPasswordConfirm = + { + password : vm.data.password, + confirm_password : vm.data.confirm_password + } + + usersService.updatePassword(usersService.getUserData().uuid, jsonPasswordConfirm) + .then(function (response) { + if (response.status === 200) { + toastService.setToast('Password was updated Successfully!', 'success'); + ngReq = false; + vm.data.password = ""; + vm.data.confirm_password = ""; + $rootScope.ice.loader.show = false; + //$timeout(function() { $state.go("app.dashboard"); }, 2000); + $state.go('app.dashboard.dashboard', {"messagePass": "Password was updated Successfully!"}); + } + else + { + toastService.setToast('Error updating your password.', 'danger'); + $rootScope.ice.loader.show = false; + } + }) + .catch(function (error) { + toastService.setToast(error.message, 'danger'); + $rootScope.ice.loader.show = false; + }); + }; + + vm.sendMail = function() + { + $window.open("mailto:d2ice@att.com","_self"); + } + } + +})(); diff --git a/vvp/app/main/activation/updatePassword/updatePassword.html b/vvp/app/main/activation/updatePassword/updatePassword.html new file mode 100644 index 00000000..65569cdb --- /dev/null +++ b/vvp/app/main/activation/updatePassword/updatePassword.html @@ -0,0 +1,76 @@ + + + +
+ +
+
+
+
+ + +
+ Password is required field. + Password is too short. + Password is too long. +
+
+ +
+ + +
+ Confirm password is required field. + Passwords do not match. +
+
+ + + + + + +
+
+
+ +
diff --git a/vvp/app/main/activation/updatePassword/updatePassword.less b/vvp/app/main/activation/updatePassword/updatePassword.less new file mode 100644 index 00000000..a6524df5 --- /dev/null +++ b/vvp/app/main/activation/updatePassword/updatePassword.less @@ -0,0 +1,85 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.updatePassword { + + .updatePassword-form { + margin-top: 20px; + } + + .btn { + width: 100%; + } + + .btn-primary { + border: 1px solid #8799A3; + border-radius: 6px; + background: #1E79B0; /* For browsers that do not support gradients */ + background: -webkit-linear-gradient(#1E79B0, #62ADD5); /* For Safari 5.1 to 6.0 */ + background: -o-linear-gradient(#1E79B0, #62ADD5); /* For Opera 11.1 to 12.0 */ + background: -moz-linear-gradient(#1E79B0, #62ADD5); /* For Firefox 3.6 to 15 */ + background: linear-gradient(#1E79B0, #62ADD5); /* Standard syntax (must be last) */ + } + + a.register { + text-decoration: underline; + float: right; + margin: 10px 0 0 0; + } + + .leftLink{ + padding-top:5px; + width:50%; + text-align:left; + float:left; + + a, + a:hover, + a:active, + a:focus + { + .m_14_r; + cursor: pointer; + } + + a{ + text-decoration:underline; + } + } + +} diff --git a/vvp/app/main/activation/updatePassword/updatePassword.module.js b/vvp/app/main/activation/updatePassword/updatePassword.module.js new file mode 100644 index 00000000..b00e619b --- /dev/null +++ b/vvp/app/main/activation/updatePassword/updatePassword.module.js @@ -0,0 +1,68 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular + .module('ice.activation.updatePassword', []) + .config(config); + + function config($stateProvider) { + + $stateProvider + .state('app.updatePassword', { + url: '/updatePassword{engagement_uuid: (?:/[^/]+)?}', + views: { + 'main@': { + templateUrl: 'core/layouts/full-page-with-header/full-page-with-header.html', + controller: 'MainController as vm' + }, + 'content@app.updatePassword': { + templateUrl: 'main/activation/updatePassword/updatePassword.html', + controller: 'UpdatePasswordController as vm' + } + }, + params: {message: null,messagePass:null}, + bodyClass: 'updatePassword' + }); + + } + +})(); diff --git a/vvp/app/main/admin/admin.module.js b/vvp/app/main/admin/admin.module.js new file mode 100644 index 00000000..391461d0 --- /dev/null +++ b/vvp/app/main/admin/admin.module.js @@ -0,0 +1,89 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular + .module('ice.main.admin') + .config(config); + + function config($stateProvider) { + $stateProvider + .state('app.admin', { + url: '/admin', + views: { + 'navigation@app': { + templateUrl: 'core/navigation/layouts/admin-navigation/navigation.html', + controller: 'adminNavigationController as vm' + } + }, + bodyClass: 'nav-admin', + resolve: { authenticate: authenticate } + }) + .state('app.admin.checklisttemplate', { + url: '/admin/checklist-template', + views: { + 'content@app': { + templateUrl: 'main/admin/checklist-template/checklist-template.html', + controller: 'checklistTemplateController as vm' + } + }, + params: {template_uuid: undefined}, + bodyClass: 'checklist-template', + }); + + function authenticate(usersService, $q, $timeout, $state) { + var result = usersService.isAdmin(usersService.getUserData()); + + if(result === true) { + return $q.when(); + } else { + $timeout(function() { + $state.go('app.login'); + }); + } + + return $q.reject(); + } + } + + + +})(); diff --git a/vvp/app/main/admin/checklist-template/checklist-template.controller.js b/vvp/app/main/admin/checklist-template/checklist-template.controller.js new file mode 100644 index 00000000..e3033544 --- /dev/null +++ b/vvp/app/main/admin/checklist-template/checklist-template.controller.js @@ -0,0 +1,241 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + 'use strict'; + angular + .module('ice.main.admin') + .controller('checklistTemplateController', ["_", "$scope", "checklistService", "$stateParams", "toastService", + "$uibModal", "$log", checklistTemplateController]); + + function checklistTemplateController(_, $scope, checklistService, $stateParams, toastService, $uibModal, $log) { + var vm = this; + var templateToRevert; + + var init = function(){ + if ($stateParams['template_uuid']){ + vm.inlineEditingElements = {}; + vm.wysiwyg_menu = [ + ['bold', 'italic', 'strikethrough', 'underline'], + ['unordered-list', 'ordered-list', 'outdent', 'indent'] + ]; + + checklistService.getChecklistTemplate($stateParams['template_uuid']) + .then(function (response) { + if (response.status === 200) { + vm.template = response.data; + registerWatchers(); + orderTemplateItems(); + templateToRevert = angular.copy(response.data); + initFirstLineItemSelection(); + } + }) + .catch(function (err){ + $log.error("got error with getChecklistTemplate"); + }); + } + }; + + vm.switchElementInlineEditing = function(elementName) { + vm.inlineEditingElements[elementName] = !vm.inlineEditingElements[elementName]; + }; + + vm.save = function() { + var modalInstance = $uibModal.open({ + templateUrl: 'main/modals/general-prompt-modal/general-prompt-modal.html', + controller: 'generalPromptModalController', + controllerAs: 'vm', + resolve: { + modalDetails: function () { + return { + "upper_headline": 'Master Checklist Template: ', + "upper_headline_value": vm.template.name, + "headline": 'Are you done editing?', + "is_message":true, + "message": 'Editing a master checklist template will effect all checklists currently ' + + 'created of that type and will also restart the validation for all active engagements', + "approve": 'Yes', + "cancelText": 'No', + "is_close_modal_button":false + }; + } + } + }); + + modalInstance.result.then(function (saveApproved) { + if(saveApproved) { + checklistService.saveChecklistTemplate(vm.template) + .then(function (response) { + if (response.status === 200) { + templateToRevert = angular.copy(vm.template); + toastService.setToast("Template was saved successfully.", 'success'); + } + }) + .catch(function (err){ + toastService.setToast("Problem occurred while saving template.", 'danger'); + $log.error("got error with saveChecklistTemplate"); + }); + } + }); + }; + + vm.cancel = function() { + var modalInstance = $uibModal.open({ + templateUrl: 'main/modals/general-prompt-modal/general-prompt-modal.html', + controller: 'generalPromptModalController', + controllerAs: 'vm', + resolve: { + modalDetails: function () { + return { + "upper_headline": 'Master Checklist Template: ', + "upper_headline_value": vm.template.name, + "headline": 'Are you sure you want to revert all changes?', + "is_message":false, + "approve": 'Yes', + "cancelText": 'No', + "is_close_modal_button":false + }; + } + } + }); + + modalInstance.result.then(function (revertApproved) { + if(revertApproved) { + vm.template = angular.copy(templateToRevert); + initFirstLineItemSelection(); + toastService.setToast("All changes discarded.", 'success'); + } + }); + }; + + vm.deleteSection = function(sectionToDelete) { + _.remove(vm.template.sections, function(section) {return sectionToDelete === section;}); + initFirstLineItemSelection(); + }; + + vm.selectLineItem = function(lineItem, section, $event) { + if(vm.selectedLineItem != lineItem) { + vm.selectedSection = section; + vm.selectedLineItem = lineItem; + $scope.$$postDigest(function () { + // Make extended window follow selected decision line + if ($event != undefined) + { + var line_item_bottom_offset = angular.element($event.target).prop('offsetHeight') + angular.element($event.target).prop('offsetTop'); + var extendended_item_height = angular.element("#line-item-extended").prop('offsetHeight'); + var diff_between_elements = line_item_bottom_offset - extendended_item_height; + if (diff_between_elements > 0) { + angular.element("#line-item-extended").css('margin-top',(20+diff_between_elements) +'px'); + } else { + angular.element("#line-item-extended").css('margin-top',''); + } + } + }); + } + }; + + vm.addLineItem = function(section) { + if(section) { + var maxWeight = _.maxBy(section.lineItems, function(lineItem) {return lineItem.weight;}) + 1; + var newLineItem = {"uuid": "newEntity", + "name": "Untitled line item", + "description": "Please add a description", + "weight": maxWeight, + "validation_instructions": "Please add validation instructions for the line item."}; + + section.lineItems.push(newLineItem); + } + }; + + vm.addSection = function() { + if(vm.template) { + var maxWeight = _.maxBy(vm.template.sections, function(section) {return section.weight;}) + 1; + var newSection = {"uuid": "newEntity", + "name": "Untitled section", + "description": "Section added from portal", + "validation_instructions": "valid instructions", + "weight": maxWeight, + "lineItems": []}; + + vm.template.sections.push(newSection); + } + }; + + vm.deleteLineItem = function(lineItemToDelete) { + _.remove(vm.selectedSection.lineItems, function(lineItem) {return lineItemToDelete === lineItem;}); + initFirstLineItemSelection(); + }; + + vm.isSaveInvalid = function() { + var result = false; + if(vm.template) { + result = _.find(vm.template.sections, function(section) { return section.lineItems.length === 0; }) != undefined; + } + + return result; + }; + + var registerWatchers = function() { + $scope.$watch('vm.template.name', function(newVal, OldVal){ + $stateParams.templateName = newVal; + }, true); + }; + + var initFirstLineItemSelection = function () { + vm.selectedSection = vm.template.sections && vm.template.sections.length > 0 + ? vm.template.sections[0] + : undefined; + + vm.selectedLineItem = vm.selectedSection ? vm.selectedSection.lineItems[0] : undefined; + + angular.element("#line-item-extended").css('margin-top',''); + }; + + var orderTemplateItems = function() { + if(vm.template) { + vm.template.sections = _.orderBy(vm.template.sections, 'weight'); + + _.forEach(vm.template.sections, function(section) { + section.lineItems = _.orderBy(section.lineItems, 'weight'); + }); + } + }; + + init(); + } +})(); diff --git a/vvp/app/main/admin/checklist-template/checklist-template.html b/vvp/app/main/admin/checklist-template/checklist-template.html new file mode 100644 index 00000000..cea7b11b --- /dev/null +++ b/vvp/app/main/admin/checklist-template/checklist-template.html @@ -0,0 +1,174 @@ + +
+
+
+

+ + Master Checklist Template: + {{vm.template.name}} + + +
+ Template name is a required field. + Template name is too short. + Template name is too long. +
+
+

+
+ Editing a master checklist template will affect all checklists currently created of that type + and will also restart the validation for all active engagements. +
+
+ +
+
+
+
+
+
+
+
    +
  • +

    + Section {{$index+1}}: {{section.name}} + + + + +
    + Section name is a required field. + Section name is too short. + Section name is too long. +
    +
    +

    +
      +
    • + + + {{$parent.$index+1}}.{{$index+1}} + + {{lineItem.name}} +
       
      + +
    • +
    • + + Add Another line item +
    • +
    +
  • +
+ +
+
+
+ + Add Another Section +
diff --git a/vvp/app/main/admin/checklist-template/checklist-template.less b/vvp/app/main/admin/checklist-template/checklist-template.less new file mode 100644 index 00000000..7077958e --- /dev/null +++ b/vvp/app/main/admin/checklist-template/checklist-template.less @@ -0,0 +1,552 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.cl-add-item-line { + width: 80%; + + .add-button { + .sprite; + .sprite.small-grey-add; + display: inline-block; + cursor: pointer; + position:relative; + top:3px; + } +} + +.cl-action-button{ + width: 30%; + margin-bottom: 2%; + margin-right: 3%; + &:last-child { + margin-right: 0; + } + +} + +.checklist-template-edit-item { + padding: 5px; + &.edit-template-name{ + .a_24_r; + } + + &.edit-section-name{ + .m_24; + } + + &.edit-lineitem-name{ + .m_18; + background-color: white; + line-height: normal; + } + &.edit-lineitem-description{ + .m_18; + width: 100%; + line-height: normal; + } +} + +.glyphicon-cursor-approve-changes { + display: inline-block; + cursor: pointer; + position:relative; + top:3px; + float: right; +} + +.lineitem-changed-icon { + .sprite; + .sprite.grey-check-mark; + display: inline-block; + cursor: pointer; + position:relative; + top:3px; + margin-left: -15px; +} + +.remove-item { + .sprite; + .sprite.red-delete; + display: inline-block; + cursor: pointer; + position:relative; + top:3px; + float: right; + margin-right: 1%; +} + +.template-edit-item { + .sprite; + .sprite.edit-medium; + display: inline-block; + cursor: pointer; + position:relative; + top:3px; + float: right; +} + +.add-another-section { + .sprite; + .sprite.big-grey-add; + display: inline-block; + cursor: pointer; + position:relative; + top:3px; +} + +.another-section { + border-top: 1px dashed ; + padding-top: 0.5%; +} + + +.checklist-template { + height:100%; + + #checklist-main-section { + padding-left: 12px; + } + + .ice-form-error { + text-transform: none; + } + + .section-topic{ + padding-left: 4%; + .m_24_m; + } + + .lineitem-index{ + padding-left: 5%; + } + + .lineitem-icon-and-index{ + padding-left: 0px; + } + + #cl-header { + height:12%; + padding-top:1%; + padding-bottom: 2%; + + .checklist-template-topic{ + border-right: 1px solid; + + #cl-title { + padding-left: 0px; + + .template-name { + .a_24_r; + } + + .template-topic { + .a_24_m; + } + } + + .edit-checklist { + display: inline-block; + margin-right: 5px; + cursor: pointer; + } + } + } + + + + + + #state-actions .btn { + width: 100%; + } + + .action-buttons{ + width: 100%; + margin-bottom: 7px; + } + + + + .add-icon { + .sprite; + .sprite.add; + display: inline-block; + } + + + .add-button { + margin-top: 8px; + .add-text { + .a_16_m; + vertical-align: top; + margin-left: 6px; + } + + } + + + + + #cl-title h1 { + .a_24_r; + margin: 0 0 30px 0; + } + + h3 { + .m_18_m; + } + h2 { + margin: 0 0 10px 0; + .a_24_m; + position: relative; + .add-people, + .add-step { + .sprite; + .sprite.add; + display: inline-block; + margin-left: 8px; + cursor: pointer; + } + } + + .main-section { + margin-top: 30px; + } + } + + + #state-bar { + float:none; + height: 5%; + + } + + + + #cl-header > #cl-title > span.bold { + .a_24_m; + } + + + .cl-action-buttons-frame{ + list-style: none; + display: inline; + padding-top: 20px; + } + + + + #line-item-list { + list-style: none; + padding-right:15px; + } + + + #line-item-list > li { + margin-bottom: 25px; + } + #line-item-list > li > h2 { + text-transform: capitalize; + border-bottom: 1px solid; + border-color: @main_color_q; + width: 100%; + margin-bottom: 0px; + padding-left: 5px; + .m_24; + } + #line-item-list > li > h2 > span.bold { + .m_24_m; + } + + #line-item-list > li > ul { + list-style: none; + } + #line-item-list > li > ul >li.line-item-row { + border-bottom: 1px solid; + border-color: @main_color_q; + line-height: 30px; + padding: 0px; + vertical-align: middle; + height: 30px; + .m_16_r; + cursor: pointer; + } + + #line-item-list > li > ul >li.line-item-row .value-icon { + padding: 0px; + } + + #line-item-list > li > ul >li.line-item-row .value-icon span { + display: inline-block; + position: relative; + top: 3px; + margin-right: 5px; + margin-left: 3px; + width:15px; + height:15px; + } + + #line-item-list > li > ul >li.line-item-row .auto-icon { + text-align:right; + padding: 0px; + } + + #line-item-list > li > ul >li.line-item-row .auto-icon span { + display: inline-block; + position: relative; + top: 3px; + margin-right: 3px; + } + + #line-item-list > li > ul >li.line-item-row.selected-line { + background-color: @bg_color_a; + border-left: 2px solid; + border-top: 2px solid; + border-bottom: 2px solid; + border-color: @main_color_a; + position:relative; + z-index:1; + top: -1px; + left: -2px; + } + + #line-item-list > li > ul >li.line-item-row.selected-line > .selected-line-connector { + position: absolute; + right: -19px; + width: 20px; + height: 30px; + top: -2px; + background-color: @bg_color_a; + border-top: 2px solid; + border-bottom: 2px solid; + border-color: @main_color_a; + } + #line-item-extended { + background-color: @bg_color_a; + border: 2px solid; + border-color: @main_color_a; + padding:15px; + @media (min-width: 992px) { + max-height: 100%; + overflow-y: auto; + } + } + #line-item-extended >header { + padding: 0 30px; + padding-bottom: 0px; + } + #line-item-extended >header > h2 { + text-transform: capitalize; + padding:0px; + margin:0px; + line-height:32px; + .m_18_r; + } + #line-item-extended > header > h2 > span.bold { + .m_18_m; + } + #line-item-extended >header > #decision-actions { + list-style: none; + text-align: right; + margin:0px; + } + #line-item-extended >header > #decision-actions > li { + display: inline-block; + margin-left: 2px; + .sprite; + } + #line-item-extended >header > #decision-actions.active > li { + cursor:pointer; + } + + #line-item-extended >header > #decision-actions > li.not-relevant-btn { + .sprite.not-relevant-btn; + } + + #line-item-extended >header > #decision-actions.active > li.not-relevant-btn:hover { + .sprite.not-relevant-btn-active; + } + #line-item-extended >header > #decision-actions > li.not-relevant-btn.active { + .sprite.not-relevant-btn-active; + } + #line-item-extended >header > #decision-actions > li.denied-cl-btn { + .sprite.denied-cl-btn; + } + #line-item-extended >header > #decision-actions.active > li.denied-cl-btn:hover { + .sprite.denied-cl-btn-active; + } + #line-item-extended >header > #decision-actions > li.denied-cl-btn.active { + .sprite.denied-cl-btn-active; + } + #line-item-extended >header > #decision-actions > li.approved-cl-btn { + .sprite.approved-cl-btn; + } + #line-item-extended >header > #decision-actions.active > li.approved-cl-btn:hover { + .sprite.approved-cl-btn-active; + } + #line-item-extended >header > #decision-actions > li.approved-cl-btn.active { + .sprite.approved-cl-btn-active; + } + + + #line-item-extended > #line-item-description { + margin: 0 15px; + .m_16_r; + } + + #line-item-extended > #line-item-validation-instructions { + .m_14_r; + background-color: #fff; + border: 1px solid; + border-color: @main_color_a; + padding: 15px; + margin-top: 15px; + } + + #line-item-extended > #line-item-validation-instructions h3 { + text-transform: capitalize; + margin: 0px; + .m_18_m; + } + + #line-item-extended > #line-item-validation-instructions p { + margin-top: 5px; + + } + + #line-item-extended > #line-item-validation-instructions p ul { + padding-left: 15px; + } + + #line-item-extended > #line-item-audit-logs { + padding:0 15px; + } + + #line-item-extended > #line-item-audit-logs > h3 { + text-transform: capitalize; + .m_18_m; + + } + #line-item-extended > #line-item-audit-logs > #audit-log-list { + list-style:none; + + } + #line-item-extended > #line-item-audit-logs > #audit-log-list > li { + margin: 0 15px 10px; + border-bottom: 2px solid; + border-color: @main_color_q; + } + #line-item-extended > #line-item-audit-logs > #audit-log-list > li > .audit-creator { + .m_16_m; + margin:0px; + padding:0px; + } + #line-item-extended > #line-item-audit-logs > #audit-log-list > li > .audit-date { + text-align:right; + .m_14_r; + padding:0px; + } + #line-item-extended > #line-item-audit-logs > #audit-log-list > li > .audit-text { + .m_16_r; + margin-bottom:0px; + padding:0px; + } + + #line-item-extended > #line-item-audit-logs > #new-audit-log-from { + margin: 0 0 15px; + } + + #line-item-extended > #line-item-audit-logs > #new-audit-log-from #new-audit-log-text { + border-color: @main_color_q; + margin-bottom:15px; + } + + .btn-gradient-primary { + font-weight: bold; + color: #FFFFFF; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #37B2E5; + *background-color: #37B2E5; + background-image: -moz-linear-gradient(top, #0079AB, #37B2E5); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0079AB), to(#37B2E5)); + background-image: -webkit-linear-gradient(top, #0079AB, #37B2E5); + background-image: -o-linear-gradient(top, #0079AB, #37B2E5); + background-image: linear-gradient(to bottom, #0079AB, #37B2E5); + background-repeat: repeat-x; + border-color: #37B2E5; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0079AB', endColorstr='#37B2E5', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + } + + .btn-gradient-success { + font-weight: bold; + color: #FFFFFF; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #41A02C; + *background-color: #41A02C; + background-image: -moz-linear-gradient(top, #A2E652, #41A02C); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#A2E652), to(#41A02C)); + background-image: -webkit-linear-gradient(top, #A2E652, #41A02C); + background-image: -o-linear-gradient(top, #A2E652, #41A02C); + background-image: linear-gradient(to bottom, #A2E652, #41A02C); + background-repeat: repeat-x; + border-color: #41A02C; + border-color: #888; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#A2E652', endColorstr='#41A02C', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + } + + .btn-gradient-danger { + font-weight: bold; + color: #FFFFFF; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #AE0020; + *background-color: #AE0020; + background-image: -moz-linear-gradient(top, #F74658, #AE0020); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#F74658), to(#AE0020)); + background-image: -webkit-linear-gradient(top, #F74658, #AE0020); + background-image: -o-linear-gradient(top, #F74658, #AE0020); + background-image: linear-gradient(to bottom, #F74658, #AE0020); + background-repeat: repeat-x; + border-color: #AE0020; + border-color: #888; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#F74658', endColorstr='#AE0020', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + } + diff --git a/vvp/app/main/dashboard/account/account.controller.js b/vvp/app/main/dashboard/account/account.controller.js new file mode 100644 index 00000000..da648f73 --- /dev/null +++ b/vvp/app/main/dashboard/account/account.controller.js @@ -0,0 +1,150 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular + .module('ice.dashboard.account') + .controller('DashboardAccountController', ["$state", "usersService", "vfService", "$log", + "$rootScope", "toastService", dashboardAccountController]); + + function dashboardAccountController($state,usersService,vfService, $log, $rootScope, toastService) { + + var vm = this; + vm.data = {}; + + var init = function() + { + + vm.user = usersService.getUserData(); + + if (vm.user == undefined) { + $state.go('app.login'); + return; + } + + var user_uuid = vm.user.uuid; + + $rootScope.ice.loader.show = true; + usersService.getIceUser(user_uuid) + .then + (function (response) + { + if (response.status === 200) + { + vm.data.full_name = response.data.full_name; + vm.data.email = response.data.email; + vm.data.phone_number = response.data.phone_number; + vm.data.password = ''; //user.password; + vm.data.ssh_key = response.data.ssh_public_key; + vm.data.company = response.data.company.name; + vm.data.access_key = response.data.rgwa_access_key; + vm.data.access_secret = "•••••••••••••••"; + $rootScope.ice.loader.show = false; + } + else + { + toastService.setToast('Error getting account', 'danger'); + $log.error("Error getting account: " + uuid); + $rootScope.ice.loader.show = false; + } + } + ).catch(function (error) { + toastService.setToast(error.message, 'danger'); + $log.error(error.message); + }); + + vfService.getCompanies() + .then(function (response) { + if (response.status === 200) + { + vm.companies = response.data; + } + }) + .catch(function (error) + { + $log.error(error.message); + }); + + + + }; + + init(); + + vm.getAccessSecret = function () + { + usersService.getRGWASecret() + .then + (function (response) + { + if (response.status === 200) + { + vm.data.access_secret = response.data.rgwa_secret_key; + } + else + { + toastService.setToast('Error getting user\'s access secret', 'danger'); + $log.error("Error getting access secret: " + uuid); + $rootScope.ice.loader.show = false; + } + } + ).catch(function (error) { + toastService.setToast(error.message, 'danger'); + $log.error(error.message); + }); + } + + vm.submitForm = function () + { + var user = usersService.getUserData(); + usersService.updateAccount(user.uuid, vm.data) + .then(function (response) { + if (response.status === 200) { + toastService.setToast('Account was updated successfully!', 'success'); + } + }) + .catch(function (error) { + toastService.setToast(error.message.detail, 'danger'); + }); + }; + } + +})(); diff --git a/vvp/app/main/dashboard/account/account.html b/vvp/app/main/dashboard/account/account.html new file mode 100644 index 00000000..de792d3a --- /dev/null +++ b/vvp/app/main/dashboard/account/account.html @@ -0,0 +1,159 @@ + + + +

Account

+ +
+ +
+ + +
+ + + +
+ + + +
+ +
+
+
+

Your Storage Credentials

+
+ +
Access Key: +
{{vm.data.access_key}}
+
+ +
Access Secret (Show) +
{{vm.data.access_secret}}
+
+ +
+
+
+ +
+ diff --git a/vvp/app/main/dashboard/account/account.less b/vvp/app/main/dashboard/account/account.less new file mode 100644 index 00000000..d32db492 --- /dev/null +++ b/vvp/app/main/dashboard/account/account.less @@ -0,0 +1,215 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.account { + + .btn { + width: 100%; + } + + .btn-primary { + border: 1px solid #8799A3; + border-radius: 6px; + background: #1E79B0; /* For browsers that do not support gradients */ + background: -webkit-linear-gradient(#1E79B0, #62ADD5); /* For Safari 5.1 to 6.0 */ + background: -o-linear-gradient(#1E79B0, #62ADD5); /* For Opera 11.1 to 12.0 */ + background: -moz-linear-gradient(#1E79B0, #62ADD5); /* For Firefox 3.6 to 15 */ + background: linear-gradient(#1E79B0, #62ADD5); /* Standard syntax (must be last) */ + } + + .content { + + .steps-progress-wrapper { + margin-top: 10px; + } + + h1 { + .a_36; + margin: 0 0 30px 0; + } + + h2 { + margin: 0 0 10px 0; + .a_24_m; + position: relative; + .add-people, + .add-step { + .sprite; + .sprite.add; + display: inline-block; + margin-left: 8px; + cursor: pointer; + } + } + + h3 { + .a_20_m; + } + + .main-section { + margin-top: 30px; + } + + .steps { + + border-right: dashed 1px @main_color_a; + height: 100%; + padding-right: 20px; + + ul { + li.step { + + &.selected { + background-color: #DEF3FF; + } + + list-style: none; + position: relative; + padding: 10px 10px 10px 4px; + + .description { + + .m_16_r; + border-bottom: dashed 1px @main_color_n; + padding: 10px 0; + + input { + position: absolute; + top: 10px; + left: 0; + margin-right: 20px; + } + + .step-text { + margin-left: 20px; + } + + .step-state { + position: absolute; + top: 24px; + &.todo { + .steps-sprite; + .steps-sprite.todo; + display: inline-block; + } + &.confirmed { + .steps-sprite; + .steps-sprite.confirmed; + display: inline-block; + } + &.completed { + .steps-sprite; + .steps-sprite.completed; + display: inline-block; + } + &.completed-non-el { + .steps-sprite; + .steps-sprite.completed-non-el; + display: inline-block; + } + } + } + .details { + .m_12_r; + margin-bottom: 20px; + .actions { + float: right; + margin-top: 4px; + + .moveto-confirmed { + .sprite; + .sprite.success; + display: inline-block; + cursor: pointer; + } + .moveto-todo { + .sprite; + .sprite.delete-circle; + display: inline-block; + cursor: pointer; + } + .moveto-delete { + .sprite; + .sprite.delete; + display: inline-block; + cursor: pointer; + } + } + } + } + } + } + + .right-panel { + height: 100%; + padding-left: 20px; + padding-bottom: 5px; + + .personImage + { + .profiles-sprite; + .profiles-sprite.profile-large; + display: block; + } + + .line-separator { + border-bottom: solid lightgrey; + margin: 20px 0; + } + + .storage-credentials { + .m_18_r; + } + + .access-key { + margin-bottom: 10px; + .m_16_r; + } + + .access-secret { + margin-bottom: 10px; + .m_16_r; + } + + .show-secret { + .underline; + cursor: pointer; + } + } + } +} diff --git a/vvp/app/main/dashboard/account/account.module.js b/vvp/app/main/dashboard/account/account.module.js new file mode 100644 index 00000000..052cbbfb --- /dev/null +++ b/vvp/app/main/dashboard/account/account.module.js @@ -0,0 +1,85 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular + .module('ice.dashboard.account') + .config(config); + + function config($stateProvider) { + $stateProvider + .state('app.account', { + url: '/account', + views: { + 'content@app': { + templateUrl: 'main/dashboard/account/account.html', + controller: 'DashboardAccountController as vm' + }, + 'navigation@app': { + templateUrl: 'core/navigation/layouts/account-navigation/navigation.html', + controller: 'accountNavigationController as vm' + } + }, + params: {engagement_uuid: null}, + bodyClass: 'account' + }) + .state('app.account.notifications', { + url: '/account/notifications', + views: { + 'content@app': { + templateUrl: 'main/dashboard/account/notifications/notifications.html', + controller: 'DashboardNotificationsController as vm' + } + }, + bodyClass: 'notifications' + }) + .state('app.account.userProfile', { + url: '/account/userProfile', + views: { + 'content@app': { + templateUrl: 'main/dashboard/account/user-profile-settings/user-profile-settings.html', + controller: 'accountUserProfileSettingsController as vm' + } + }, + bodyClass: 'account' + }); + } +})(); diff --git a/vvp/app/main/dashboard/account/notifications/notifications.controller.js b/vvp/app/main/dashboard/account/notifications/notifications.controller.js new file mode 100644 index 00000000..0e9542dd --- /dev/null +++ b/vvp/app/main/dashboard/account/notifications/notifications.controller.js @@ -0,0 +1,140 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + 'use strict'; + angular + .module('ice.dashboard.account') + .controller('DashboardNotificationsController', ["$state","pageService","usersService", "toastService", "$rootScope", "$scope", "$log", dashboardNotificationsController]); + + function dashboardNotificationsController($state,pageService, usersService, toastService, $rootScope, $scope, $log) { + var vm = this; + vm.data = {}; + var init = function() + { + pageService.setPage('notification'); + $rootScope.timeGapLocal = moment().format("z");// timeGap(); + $rootScope.ampm = moment().format('A'); + $rootScope.mom =moment().tz( moment.tz.guess()).format('z'); + + vm.pagination_num_of_objects = 10; + vm.current_starting_offset = "0"; + vm.page_num = 1; + vm.user = usersService.getUserData(); + if (vm.user == undefined) { + $state.go('app.login'); + return; + } + vm.getNotifications(true) + } + + vm.getNotifications = function (reset) { + var user_uuid = vm.user.uuid; + $rootScope.ice.loader.show = true; + vm.current_starting_offset = (vm.page_num-1)*vm.pagination_num_of_objects; + usersService.getNotificationsDescription(vm.user.uuid,vm.current_starting_offset,vm.pagination_num_of_objects) + .then + (function (response) + { + if (response.status === 200) + { + vm.notifications = response.data['serilizedActivitySet']; + vm.num_of_returned_items = response.data['num_of_objects']; + vm.notifications_display_list = vm.notifications; + if (reset){ + usersService.resetNotificationNum(user_uuid) + .then + (function (response) + { + if (response.status === 200) + { + $scope.$emit('eventClearNotifications',0); + } + } + ) + .catch(function (error) { + toastService.setToast(error.message, 'danger'); + $rootScope.ice.loader.show = false; + $log.error(error); + }); + } + $rootScope.ice.loader.show = false; + } + else + { + toastService.setToast(response.error, 'danger'); + $rootScope.ice.loader.show = false; + } + } + ) + .catch(function (error) { + toastService.setToast(error.message, 'danger'); + $rootScope.ice.loader.show = false; + $log.error(error); + } + ); + }; + + vm.delNotification = function(uuid) + { + var itemIndex = 0; + + for(var i=0; i < vm.notifications.length; i++) + { + if (vm.notifications[i].uuid == uuid) + { + itemIndex = i; + break; + } + } + usersService.notificationsDelete(uuid) + .then + (function (response) { + if (response.status != 400){ + vm.notifications.splice(itemIndex , 1); + } + }) + .catch(function (error) { + toastService.setToast(error.message, 'danger'); + $rootScope.ice.loader.show = false; + $log.error(error); + }); + } + init(); + } +})(); \ No newline at end of file diff --git a/vvp/app/main/dashboard/account/notifications/notifications.html b/vvp/app/main/dashboard/account/notifications/notifications.html new file mode 100644 index 00000000..f92cc41a --- /dev/null +++ b/vvp/app/main/dashboard/account/notifications/notifications.html @@ -0,0 +1,60 @@ + + + +
+
+

Notifications

+
+
+
+ +
+
+
+
+
+
+ + + +
+
diff --git a/vvp/app/main/dashboard/account/notifications/notifications.less b/vvp/app/main/dashboard/account/notifications/notifications.less new file mode 100644 index 00000000..7981be89 --- /dev/null +++ b/vvp/app/main/dashboard/account/notifications/notifications.less @@ -0,0 +1,348 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.engagement_link { + text-decoration: underline; + cursor:pointer; +} +.notifications { + + .table{ + margin-bottom: 0; + } + + .table-container-flex { + + .data-row-wrapper { + padding: 10px 20px; + } + + .flex-item:nth-child(1) { + padding-left: 5px; + padding-top: 15px; + flex-grow: 2; + } + + .flex-item:nth-child(2) { + padding-top: 12px; + flex-grow: 93; + } + + .flex-item:nth-child(3) { + padding-top: 12px; + flex-grow: 5; + } + + } + + .pagination > .active > a, .pagination > .active > span, .pagination > .active > a:hover, .pagination > .active > span:hover, .pagination > .active > a:focus, .pagination > .active > span:focus + { + background-color: #DEF3FF; + border-color: #DDDDDD; + color: #000000; + cursor:pointer; + z-index:2; + } + + .btn { + width: 100%; + } + + .lineColor + { + background-color:#F6F3F3; + } + + .electricity + { + .sprite; + .sprite.electricity; + display: block; + margin-top: 10px; + margin-left: 10px; + } + + .delete + { + .sprite; + .sprite.delete-circle; + display: block; + cursor:pointer; + margin-top: 11px; + } + + + .fLeft + { + float:left; + height:50px; + } + + .hoverCyan + { + line-height: 40px; + &:hover { + background-color: #DEF3FF; + } + } + + .boldFont + { + font-weight: bold; + } + + .marginLeft60 + { + margin-left:-60px; + } + + .height510 + { + height:510px; + margin-top:-30px; + } + + .height50 + { + height:50px; + line-height:50px; + width:1100px; + } + + .marginLeft5 + { + margin-left:5px; + } + + .marginTop5 + { + margin-top:5px; + margin-left: 40px; + } + + .personImage + { + .profiles-sprite; + .profiles-sprite.profile-large; + display: block; + } + + .textAlignCenter + { + text-align:center; + width:1100px + } + + .btn-primary { + border: 1px solid #8799A3; + border-radius: 6px; + background: #1E79B0; /* For browsers that do not support gradients */ + background: -webkit-linear-gradient(#1E79B0, #62ADD5); /* For Safari 5.1 to 6.0 */ + background: -o-linear-gradient(#1E79B0, #62ADD5); /* For Opera 11.1 to 12.0 */ + background: -moz-linear-gradient(#1E79B0, #62ADD5); /* For Firefox 3.6 to 15 */ + background: linear-gradient(#1E79B0, #62ADD5); /* Standard syntax (must be last) */ + } + + .pad17 + { + padding-top:17px; + display: block; + } + + .content { + + .steps-progress-wrapper { + margin-top: 10px; + } + + h1 { + .a_36; + margin: 0 0 30px 0; + } + + h2 { + margin: 0 0 10px 0; + .a_24_m; + position: relative; + .add-people, + .add-step { + .sprite; + .sprite.add; + display: inline-block; + margin-left: 8px; + cursor: pointer; + } + } + + .main-section { + margin-top: 30px; + } + + .steps { + + + height: 100%; + padding-right: 20px; + + ul { + li.step { + + &.selected { + background-color: #DEF3FF; + } + + list-style: none; + position: relative; + padding: 10px 10px 10px 4px; + + .description { + + .m_16_r; + + padding: 10px 0; + + input { + position: absolute; + top: 10px; + left: 0; + margin-right: 20px; + } + + .step-text { + margin-left: 20px; + } + + .step-state { + position: absolute; + top: 24px; + &.todo { + .steps-sprite; + .steps-sprite.todo; + display: inline-block; + } + &.confirmed { + .steps-sprite; + .steps-sprite.confirmed; + display: inline-block; + } + &.completed { + .steps-sprite; + .steps-sprite.completed; + display: inline-block; + } + &.completed-non-el { + .steps-sprite; + .steps-sprite.completed-non-el; + display: inline-block; + } + } + } + .details { + .m_12_r; + margin-bottom: 20px; + .actions { + float: right; + margin-top: 4px; + + .moveto-confirmed { + .sprite; + .sprite.success; + display: inline-block; + cursor: pointer; + } + .moveto-todo { + .sprite; + .sprite.delete-circle; + display: inline-block; + cursor: pointer; + } + .moveto-delete { + .sprite; + .sprite.delete; + display: inline-block; + cursor: pointer; + } + } + } + } + } + } + + .team-and-logs { + height: 100%; + padding-left: 20px; + .team { + ul.team-avatars { + + li { + list-style: none; + display: inline-block; + margin-right: 10px; + .profiles-sprite; + .profiles-sprite.profile-medium; + + &.me { + .profiles-sprite; + .profiles-sprite.avatar-blue; + } + } + } + } + + .activity-log { + ul.activity-log-details { + li { + list-style: none; + position: relative; + margin-left: 30px; + + &:before { + content: ''; + display: inline-block; + .sprite; + .sprite.electricity; + position: absolute; + top: 0; + left: -30px; + } + } + } + } + } + } +} diff --git a/vvp/app/main/dashboard/account/user-profile-settings/user-profile-settings.controller.js b/vvp/app/main/dashboard/account/user-profile-settings/user-profile-settings.controller.js new file mode 100644 index 00000000..6d51a440 --- /dev/null +++ b/vvp/app/main/dashboard/account/user-profile-settings/user-profile-settings.controller.js @@ -0,0 +1,98 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + 'use strict'; + angular + .module('ice.dashboard.account') + .controller('accountUserProfileSettingsController', ['toastService', 'usersService', + accountUserProfileSettingsController]); + + function accountUserProfileSettingsController(toastService, usersService) { + var vm = this; + + var init = function() + { + usersService.getIceUser() + .then + (function (response) { + vm.receiveEmails = response.data.regular_email_updates; + vm.receiveEmailsEveryTime = response.data.email_updates_on_every_notification; + vm.receiveDigestEmails = response.data.email_updates_daily_digest; + + vm.receiveNotifications = vm.receiveEmailsEveryTime || vm.receiveDigestEmails; + } + ).catch(function (error) { + toastService.setToast(error.message, 'danger'); + $log.error(error.message); + }); + }; + + vm.submitForm = function() { + var user = usersService.getUserData(); + var userData = {}; + + userData.regular_email_updates = vm.receiveEmails; + userData.email_updates_on_every_notification = vm.receiveEmailsEveryTime; + userData.email_updates_daily_digest = vm.receiveDigestEmails; + userData.company = user.company.name; + userData.full_name = user.full_name; + userData.email = user.email; + userData.phone_number = user.phone_number; + + usersService.updateAccount(user.uuid, userData) + .then(function (response) { + if (response.status === 200) { + toastService.setToast('User profile settings was updated successfully!', 'success'); + } + }) + .catch(function (error) { + toastService.setToast(error.message.detail, 'danger'); + }); + }; + + vm.changeReceiveNotifications = function() { + if(!vm.receiveNotifications) { + vm.receiveEmailsEveryTime = false; + vm.receiveDigestEmails = false; + } + }; + + init(); + } +})(); diff --git a/vvp/app/main/dashboard/account/user-profile-settings/user-profile-settings.html b/vvp/app/main/dashboard/account/user-profile-settings/user-profile-settings.html new file mode 100644 index 00000000..521c73ab --- /dev/null +++ b/vvp/app/main/dashboard/account/user-profile-settings/user-profile-settings.html @@ -0,0 +1,66 @@ + + +

Settings

+ diff --git a/vvp/app/main/dashboard/account/user-profile-settings/user-profile-settings.less b/vvp/app/main/dashboard/account/user-profile-settings/user-profile-settings.less new file mode 100644 index 00000000..41ad47ec --- /dev/null +++ b/vvp/app/main/dashboard/account/user-profile-settings/user-profile-settings.less @@ -0,0 +1,45 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.user-profile-settings-form { + .receive-email-options { + padding-left: 20px; + } +} + + diff --git a/vvp/app/main/dashboard/checklist/checklist.controller.js b/vvp/app/main/dashboard/checklist/checklist.controller.js new file mode 100644 index 00000000..293134cd --- /dev/null +++ b/vvp/app/main/dashboard/checklist/checklist.controller.js @@ -0,0 +1,445 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + 'use strict'; + angular + .module('ice.dashboard.checklist',[]) + .controller('DashboardChecklistController', ["$scope", "$stateParams", "$rootScope", "checklistService", + "iceConstants", "usersService", "$uibModal", "toastService", "$log", DashboardChecklistController]); + function DashboardChecklistController($scope, $stateParams, $rootScope, checklistService, iceConstants, + usersService, $uibModal, toastService, $log) { + + var vm = this; + vm.data = {}; + var engagementUuid = $stateParams.engagement_uuid; + vm.checklistUuid = $stateParams.sub_id; + vm.selected_decision = false; + + var init = function() { + if (vm.checklistUuid == null) + return; + + checklistService.getChecklist(vm.checklistUuid) + .then(function (response) { + if (response.status === 200) { + vm.data = response.data; + vm.data.states = iceConstants.checklist_states; + vm.me = usersService.getUserData(); + vm.is_peer_reviewer = usersService.isPeerReviewer(vm.me, response.data.checklist.engagement.peer_reviewer.uuid); + // if state pending dont allow changing data manually + if(vm.data.checklist.associated_files) { + vm.has_files = true; + } + else { + vm.has_files = false; + } + vm.formatDecisions(); + + } + }) + .catch(function (error) { + if (error.status === 410) { + $rootScope.$broadcast('onUpdateEngagements',{ + select:{ + uuid: $stateParams.engagement_uuid, + view_type : 'overview', + sub_id: undefined + } + }); + } + else{ + $log.error(error.message); + return false; + } + }); + }; + + + vm.formatDecisions = function () { + var section_counter = 0; + vm.data.checklistDecisions = _.orderBy(vm.data.checklistDecisions, 'weight'); + angular.forEach(vm.data.checklistDecisions, function(section,section_key) { + section_counter ++; + section.counter = section_counter; + var decision_counter = 0; + section.decisions = _.orderBy(section.decisions, 'weight'); + angular.forEach(section.decisions,function(decision,decision_key) { + decision_counter++; + // add text of section and line number E.g 2.1 + decision.counter = section_counter+'.'+decision_counter; + + // set selected decision default value + if (vm.selected_decision == false) + { + vm.selected_decision = decision; + vm.selectDecision(decision); + } + + // choose which decision value to show + var view_value; + switch(vm.data.checklist.state) + { + case 'peer_review': + view_value = decision.peer_review_value; + break; + case 'review': + case 'approval': + case 'handoff': + case 'closed': + view_value = decision.review_value; + break; + } + + // choose which ucib to show + var view_value_css; + switch(view_value) + { + case 'approved': + view_value_css = 'sprite approved-cl'; + break; + case 'denied': + view_value_css = 'sprite denied-cl'; + break; + case 'not_relevant': + view_value_css = 'sprite not-relevant-cl'; + break; + } + + // choose which line item type icon to show + var auto_icon_css + switch(decision.lineitem.line_type) + { + case 'auto': + auto_icon_css = 'sprite automation-state'; + } + vm.data.checklistDecisions[section_key].decisions[decision_key]['selected-value'] = view_value + vm.data.checklistDecisions[section_key].decisions[decision_key]['view_value'] = view_value; + vm.data.checklistDecisions[section_key].decisions[decision_key]['view_value_css'] = view_value_css; + vm.data.checklistDecisions[section_key].decisions[decision_key]['auto_icon_css'] = auto_icon_css; + }); + }); + // after decision change refresh which state buttons to shows + vm.refreshStateOptions(); + + }; + + // set decision value + vm.setDecision = function(decision,value) { + checklistService.putChecklistDecision(decision.uuid,{value:value}) + .then(function (response) { + if (response.status === 200) { + switch(vm.data.checklist.state) + { + case 'peer_review': + decision.peer_review_value = value; + break; + case 'review': + decision.review_value = value; + break; + } + vm.formatDecisions(); + } + }); + + }; + + // decice which state change buttons to choose + vm.refreshStateOptions = function () { + var force_break = false; + vm.is_able_to_approve = true; + angular.forEach(vm.data.checklistDecisions, function (section,key) { + if (!force_break) + angular.forEach(section.decisions, function (decision,key) { + if (!force_break){ + // if not all decisions have value only only next_step + if ( decision['view_value'] != 'approved' && decision['view_value'] != 'not_relevant' ) { + vm.is_able_to_approve = false; + force_break=true; + } + } + }); + + }); + }; + + // set state + vm.stateAction = function(action) { + switch(action) + { + case 'approve': + var postData = {}; + postData["description"] = ''; + postData["decline"] = "False"; + checklistService.setState(vm.data.checklist.uuid, postData) + .then(function (response) { + if (response.status === 200) { + $rootScope.$broadcast('onUpdateEngagements',{select:{uuid:engagementUuid,page_type:'overview',sub_id:vm.data.checklist.uuid}}); + } + else { + toastService.setToast(response.error, 'danger'); + $rootScope.ice.loader.show = false; + } + }) + .catch(function (error) { + $log.error(error); + toastService.setToast(error.status + ': Error changing progress!', 'danger'); + }); + break; + case 'reject': + vm.openSetState(action,vm.data.checklist); + break; + case 'next_step': + vm.openNextSteps(vm.data.checklist); + break; + } + }; + + vm.formatDate = function (create_time) { + var region = moment().tz( moment.tz.guess()).format('z'); + var dt = ""; + dt = moment(create_time).local().format('YYYY-MM-DD hh:mm:ss A') + " " + region; + return dt; + }; + + // add decision log + vm.submitDecisionAuditLog = function () { + + var jsonPost = {"description":vm.selected_decision.new_audit_log_description}; + checklistService.createAuditlogDecisionChecklist(vm.selected_decision.uuid, jsonPost) + .then(function (response) { + if (response.status === 200) + { + if (vm.data.decisionAuditLogs[vm.selected_decision.uuid] == undefined) + vm.data.decisionAuditLogs[vm.selected_decision.uuid] = [] + vm.data.decisionAuditLogs[vm.selected_decision.uuid].push(response.data); + vm.selected_decision.new_audit_log_description = "" + } + else + { + toastService.setToast(response.error, 'danger'); + $rootScope.ice.loader.show = false; + } + }) + .catch(function (error) { + toastService.setToast(error.message, 'danger'); + $log.error(error.message); + }); + } + + // choose active decision + vm.selectDecision = function(decision,$event) { + if(vm.selected_decision != decision || vm.selected_decision.selected === undefined) { + // remove status from previos decision + vm.selected_decision.selected = false; + + // populate new decision + vm.selected_decision = decision; + vm.selected_decision.selected = true; + + $scope.$$postDigest(function () { + // Make extended window follow selected decision line + if ($event != undefined) + { + var line_item_bottom_offset = angular.element($event.target).prop('offsetHeight') + angular.element($event.target).prop('offsetTop'); + var extendended_item_height = angular.element("#line-item-extended").prop('offsetHeight'); + var diff_between_elements = line_item_bottom_offset - extendended_item_height; + if (diff_between_elements > 0) + { + angular.element("#line-item-extended").css('margin-top',(20+diff_between_elements) +'px') + } else { + angular.element("#line-item-extended").css('margin-top','') + } + } + }); + } + }; + + // next steps modal + vm.openNextSteps = function(checklist) { + var modalInstance = $uibModal.open( + { + templateUrl: 'main/modals/next-steps/next-steps.html', + controller: 'NextStepsModalController', + controllerAs: 'vm', + size: 'lg', + resolve: { + engagement_team: function () { + return checklist.engagement.engagement_team; + }, + title: function () { + return checklist.name; + }, + associated_files: function () { + return checklist.repo_associated_files; + }, + engagement_uuid: function () { + return checklist.engagement.uuid; + }, + checklist: function () { + return checklist; + }, + nextstep: function () { + return undefined; + } + + } + }); + + modalInstance.result.then(function (data) { + if (data === 200) { + $rootScope.$broadcast('onUpdateEngagements',{select:{uuid:engagementUuid,page_type:'overview',sub_id:checklist.uuid}}); + } + }, function () { + }); + }; + + // set state modal + vm.openSetState = function(action,checklist) { + var modalInstance = $uibModal.open( + { + templateUrl: 'main/modals/checklist/state-approve-or-reject/state-approve-or-reject.html', + controller: 'stateDecisionModalController', + controllerAs: 'vm', + resolve: { + checklist: function () {return checklist}, + action: function () {return action} + } + }); + + modalInstance.result.then(function (data) { + if (data) { + $rootScope.$broadcast('onUpdateEngagements',{select:{uuid:engagementUuid,page_type:'overview',sub_id:checklist.uuid}}); + } + }, function () { + }); + + }; + + vm.openJenkinsLogModal = function () { + var modalInstance = $uibModal.open({ + templateUrl: 'main/modals/general-log-modal/general-log-modal.html', + controller: 'GeneralLogModalController', + controllerAs: 'vm', + size: 'general-log-modal', + resolve: { + modalDetails: function () { + return { + "headline": 'Jenkins log', + "body": vm.data.checklist.jenkins_log, + }; + } + } + }); + }; + + // audit log modal + vm.auditLog = function() { + + var auditLogData = { + name:vm.data.checklist.name, + uuid:vm.data.checklist.uuid, + checklistAuditLogs: vm.data.checklistAuditLogs + + }; + + var modalInstance = $uibModal.open( + { + templateUrl: 'main/modals/audit-log/audit-log.html', + controller: 'AuditLogModalController', + controllerAs: 'vm', + size: 'lg' + + , + resolve: { + wizardData: function () { + return auditLogData; + } + } + }); + + modalInstance.result.then(function (data) { + if (data) { + vm.data.checklistAuditLogs.push(data); + } + }, function () { + $log.debug('Modal dismissed at: ' + new Date()); + }); + }; + + // edit checklist + vm.editChecklist = function() { + var checklistData = { + uuid:vm.data.checklist.uuid, + name:vm.data.checklist.name, + templates:vm.data.checklist.templates, + selectedTemplateUuid:vm.data.checklist.template.uuid, + selectedTemplateName:vm.data.checklist.template.name, + associatedFiles:vm.data.checklist.associated_files, + state:vm.data.checklist.state + }; + + var modalInstance = $uibModal.open({ + templateUrl: 'main/modals/checklist/checklist.html', + controller: 'ChecklistModalController', + controllerAs: 'vm', + size: 'lg' + , + resolve: { + wizardData: function () { + return checklistData; + }, + engagementUuid: function () { + return engagementUuid; + }, + modal_type: function () { + return 'update'; + } + } + }); + modalInstance.result.then(function (data) { + if (data) { + vm.data.checklist.name = data.checklist_name; + vm.data.checklist.associated_files = data.associated_files; + } + }); + }; + + init(); + } +})(); diff --git a/vvp/app/main/dashboard/checklist/checklist.html b/vvp/app/main/dashboard/checklist/checklist.html new file mode 100644 index 00000000..b8da8836 --- /dev/null +++ b/vvp/app/main/dashboard/checklist/checklist.html @@ -0,0 +1,117 @@ + +
+
+ +
+
+

+ + Checklist: + {{vm.data.checklist.name}} +

+
+ +
+ + + +
+
    +
  • Audit Log ({{vm.data.checklistAuditLogs.length}})
  • +
  • Jenkins Log
  • + +
+
+
+ +
+
    +
  • Section {{section.counter}}: {{section.section.name}}

    +
      +
    • + {{decision.counter}} + {{decision.lineitem.name}} + + +
    • +
    +
  • +
+ +
+
diff --git a/vvp/app/main/dashboard/checklist/checklist.less b/vvp/app/main/dashboard/checklist/checklist.less new file mode 100644 index 00000000..5e0d228e --- /dev/null +++ b/vvp/app/main/dashboard/checklist/checklist.less @@ -0,0 +1,826 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.cl-action-button{ + width: 30%; + margin-bottom: 2%; + margin-right: 3%; + &:last-child { + margin-right: 0; + } + +} +#main .popover { + max-width: 330px; +} +// Pop over rules +.popover { + border: 2px solid #15B3E8; + .m_14_r; + z-index:100000; +} + +.popover .popover-title { + background-color: white; + margin-top: 5px; + .a_18_m; + padding: 5px 10px; +} + +.popover .popover-content { + padding: 5px 10px; + .m_16_r; +} +.popover .popover-content ul{ + list-style-type: none;// square; + padding-left:0px; + margin-left:0px; + .m_16_r; + word-wrap: break-word; +} +.cl-action-control { + padding-left:8% +} + +.checkList { + height:100%; + > #checklist-main-section { + height:80% !important; + } + + .blocked-area { + pointer-events: none; + opacity: 0.5; + filter: alpha(opacity=50); + background-color: white; + } + + #modal_header_checklist { + margin-top:0px; + padding: 0 29px; + } + + #modal-header-checklist-15 { + margin-top:0px; + padding: 0 15px; + } + + .rows { + + } + + + .font-deco { + text-decoration-line: underline; + text-decoration-style: dashed; + } + + .lineColor + { + background-color:#F6F3F3; + } + + .font_header + { + .m_18_m; + } + + .font_header_chk_name + { + .m_18_r; + } + + .font_user_name + { + .m_18_m; + } + + .font_date + { + .m_14_r; + } + + .font_line + { + border-bottom: 1px solid grey; + } + + .font_desc + { + .m_16_r; + text-align:left; + } + + .pad0 + { + padding:0px; + } + + .dash + { + border-bottom: dashed 1px; + border-color: @main_color_q; + padding: 0px; + } + + .italic + { + font-style:italic; + } + + + #modal-title { + margin: 0px; + } + + .checkList-form { + max-height: 100%; + //overflow-y: auto; + //overflow-x: hidden; + + #audit-log-lines { + + } + + + #checklist-subject + { + padding:0 15px; + margin-bottom: 0px; + } + + .checklist-modal-multi-select { + margin-top: 1%; + + .btn-group .btn { + .m_14_m; + } + } + + .btn { + width: 100%; + } + + .action-buttons{ + width: 100%; + margin-bottom: 7px; + } + + .col-no-pad + { + padding:0px; + } + + .col-no-top + { + margin:0px 0px 0px 0px; + } + + .text-right + { + text-align:right; + } + + .modal-header { + display: flex; + flex-direction: row; + + h2, h3 { + display: inline-block; + flex-grow: 10; + } + } + + .font_title + { + .a_16_m; + } + + .add-icon { + .sprite; + .sprite.add; + display: inline-block; + } + + + .add-button { + margin-top: 8px; + display: block; + .add-text { + .a_16_m; + vertical-align: top; + margin-left: 6px; + } + + } + + .margin_btm + { + margin-bottom:12px; + } + + .margin_top + { + margin-top:12px; + } + + .margin_btm5 + { + margin-bottom: 5px; + } + + + .personImage + { + .profiles-sprite; + .profiles-sprite.profile-large; + display: block; + } + + .table{ + margin-bottom: 0; + } + + .table-container-flex { + + .data-row-wrapper { + padding: 10px 20px; + } + + .flex-item:nth-child(1) { + padding-left: 0; + flex-grow: 25; + } + + .flex-item:nth-child(2) { + flex-grow: 25; + } + + .flex-item:nth-child(3) { + flex-grow: 25; + } + + .flex-item:nth-child(4) { + flex-grow: 25; + } + + } + + .table-container-flex-a { + + .data-row-wrapper { + padding: 10px 20px; + } + + .flex-item-a:nth-child(1) { + + padding-left: 0; + flex-grow: 40; + width:90%; + float:left; + } + + .flex-item-a:nth-child(2) { + + flex-grow: 25; + width:10%; + float:left; + } + } + //.a_16_m; + + .remove-icon { + cursor: pointer; + vertical-align: text-top; + //.sprite; + //.sprite.delete;//-circle; + .actions-sprite; + .actions-sprite.delete_large; + + display:block; + position:relative; + top:11px; + } + + + + + //.btn-primary-with-margin { + // border: 1px solid #8799A3; + // border-radius: 6px; + // background: #1E79B0; /* For browsers that do not support gradients */ + // background: -webkit-linear-gradient(#1E79B0, #62ADD5); /* For Safari 5.1 to 6.0 */ + // background: -o-linear-gradient(#1E79B0, #62ADD5); /* For Opera 11.1 to 12.0 */ + // background: -moz-linear-gradient(#1E79B0, #62ADD5); /* For Firefox 3.6 to 15 */ + // background: linear-gradient(#1E79B0, #62ADD5); /* Standard syntax (must be last) */ + // margin-bottom:7px; + //} + // + //.btn-primary { + // border: 1px solid #8799A3; + // border-radius: 6px; + // background: #1E79B0; /* For browsers that do not support gradients */ + // background: -webkit-linear-gradient(#1E79B0, #62ADD5); /* For Safari 5.1 to 6.0 */ + // background: -o-linear-gradient(#1E79B0, #62ADD5); /* For Opera 11.1 to 12.0 */ + // background: -moz-linear-gradient(#1E79B0, #62ADD5); /* For Firefox 3.6 to 15 */ + // background: linear-gradient(#1E79B0, #62ADD5); /* Standard syntax (must be last) */ + //} + + + .flex-item-a:nth-child(0) { + padding-left: 0; + flex-grow: 40; + width:80% + } + + .flex-item-a:nth-child(1) { + flex-grow: 25; + width:20%; + } + + //.content { + + .steps-progress-wrapper { + margin-top: 10px; + } + + .fnt + { + font-size:20px; + } + + h1 { + .a_36; + margin: 0 0 30px 0; + } + + h3 { + .m_18_m; + } + h2 { + margin: 0 0 10px 0; + .a_24_m; + position: relative; + .add-people, + .add-step { + .sprite; + .sprite.add; + display: inline-block; + margin-left: 8px; + cursor: pointer; + } + } + + .main-section { + margin-top: 30px; + } + } + + // dashboard css + padding:0 20px; + + #state-bar { + float:none; + height: 5%; + + } + #state-bar > ul { + border-bottom: dashed 1px; + border-color: @main_color_q; + padding-bottom:2px; + } + #state-bar > ul > li { + .m_14_r; + text-transform: uppercase; + text-align: left; + } + #state-bar > ul > li.active { + font-family:@font-omnes-bold; + } + + #state-bar > ul > li > .state-icon { + display: inline-block; + position: relative; + top: 2px; + margin-right:5px; + } + + #cl-header { + height:12%; + padding-top:1%; + } + + #cl-header > #cl-title { + padding-left: 0px; + .a_24; + } + #cl-header > #cl-title > span.bold { + .a_24_m; + } + #cl-header > #cl-title > #edit-checklist { + display: inline-block; + margin-right: 5px; + cursor: pointer; + } + + #cl-side-actions { + list-style: none; + margin-top: 5px; + } + + + #cl-side-actions > li { + display:inline-block; + margin-left:5px; + .n_12_m; + } + + .cl-action-buttons-frame{ + + list-style: none; + text-align: right; + } + + .cl-btn-associated { + border-bottom: 1px solid; + border-color: @main_color_l; + .a_26_m; + } + + .cl-btn-cl-audit { + margin-right: 15%; + border-bottom: 1px solid; + border-color: @main_color_l; + } + + + #state-actions { + display: inline-block; + border-bottom: 1px solid; + border-color: @main_color_q; + padding-bottom: 5px; + } + #state-actions button { + margin-left: 10px; + } + #state-actions button:first-child { + margin-left: 0px; + } + #cl-side-actions span { + cursor: pointer; + border-bottom: 2px solid @main_color_m; + //text-transform: uppercase; + border-bottom: 1px solid; + border-color: @main_color_q; + + } + + + #line-item-list { + list-style: none; + padding-right:15px; + } + + + #line-item-list > li { + margin-bottom: 25px; + } + #line-item-list > li > h2 { + text-transform: capitalize; + border-bottom: 1px solid; + border-color: @main_color_q; + width: 100%; + margin-bottom: 0px; + padding-left: 5px; + .m_24; + } + #line-item-list > li > h2 > span.bold { + .m_24_m; + } + + #line-item-list > li > ul { + list-style: none; + } + #line-item-list > li > ul >li.line-item-row { + border-bottom: 1px solid; + border-color: @main_color_q; + line-height: 30px; + padding: 0px; + vertical-align: middle; + height: 30px; + .m_16_r; + cursor: pointer; + } + + #line-item-list > li > ul >li.line-item-row .value-icon { + padding: 0px; + } + + #line-item-list > li > ul >li.line-item-row .value-icon span { + display: inline-block; + position: relative; + top: 3px; + margin-right: 5px; + margin-left: 3px; + width:15px; + height:15px; + } + + #line-item-list > li > ul >li.line-item-row .auto-icon { + text-align:right; + padding: 0px; + } + + #line-item-list > li > ul >li.line-item-row .auto-icon span { + display: inline-block; + position: relative; + top: 3px; + margin-right: 3px; + } + + #line-item-list > li > ul >li.line-item-row.selected-line { + background-color: @bg_color_a; + border-left: 2px solid; + border-top: 2px solid; + border-bottom: 2px solid; + border-color: @main_color_a; + position:relative; + z-index:1; + top: -1px; + left: -2px; + } + + #line-item-list > li > ul >li.line-item-row.selected-line > .selected-line-connector { + position: absolute; + right: -19px; + width: 20px; + height: 30px; + top: -2px; + background-color: @bg_color_a; + border-top: 2px solid; + border-bottom: 2px solid; + border-color: @main_color_a; + } + #line-item-extended { + background-color: @bg_color_a; + border: 2px solid; + border-color: @main_color_a; + padding:15px; + @media (min-width: 992px) { + max-height: 100%; + overflow-y: auto; + } + } + #line-item-extended >header { + padding: 0 30px; + padding-bottom: 0px; + } + #line-item-extended >header > h2 { + text-transform: capitalize; + padding:0px; + margin:0px; + line-height:32px; + .m_18_r; + } + #line-item-extended > header > h2 > span.bold { + .m_18_m; + } + #line-item-extended >header > #decision-actions { + list-style: none; + text-align: right; + margin:0px; + } + #line-item-extended >header > #decision-actions > li { + display: inline-block; + margin-left: 2px; + .sprite; + } + #line-item-extended >header > #decision-actions.active > li { + cursor:pointer; + } + + #line-item-extended >header > #decision-actions > li.not-relevant-btn { + .sprite.not-relevant-btn; + } + + #line-item-extended >header > #decision-actions.active > li.not-relevant-btn:hover { + .sprite.not-relevant-btn-active; + } + #line-item-extended >header > #decision-actions > li.not-relevant-btn.active { + .sprite.not-relevant-btn-active; + } + #line-item-extended >header > #decision-actions > li.denied-cl-btn { + .sprite.denied-cl-btn; + } + #line-item-extended >header > #decision-actions.active > li.denied-cl-btn:hover { + .sprite.denied-cl-btn-active; + } + #line-item-extended >header > #decision-actions > li.denied-cl-btn.active { + .sprite.denied-cl-btn-active; + } + #line-item-extended >header > #decision-actions > li.approved-cl-btn { + .sprite.approved-cl-btn; + } + #line-item-extended >header > #decision-actions.active > li.approved-cl-btn:hover { + .sprite.approved-cl-btn-active; + } + #line-item-extended >header > #decision-actions > li.approved-cl-btn.active { + .sprite.approved-cl-btn-active; + } + + + #line-item-extended > #line-item-description { + margin: 0 15px; + .m_16_r; + } + + #line-item-extended > #line-item-validation-instructions { + .m_14_r; + background-color: #fff; + border: 1px solid; + border-color: @main_color_a; + padding: 15px; + margin-top: 15px; + } + + #line-item-extended > #line-item-validation-instructions h3 { + text-transform: capitalize; + margin: 0px; + .m_18_m; + } + + #line-item-extended > #line-item-validation-instructions p { + margin-top: 5px; + + } + + #line-item-extended > #line-item-validation-instructions p ul { + padding-left: 15px; + } + + #line-item-extended > #line-item-audit-logs { + padding:0 15px; + } + + #line-item-extended > #line-item-audit-logs > h3 { + text-transform: capitalize; + .m_18_m; + + } + #line-item-extended > #line-item-audit-logs > #audit-log-list { + list-style:none; + + } + #line-item-extended > #line-item-audit-logs > #audit-log-list > li { + margin: 0 15px 10px; + border-bottom: 2px solid; + border-color: @main_color_q; + } + #line-item-extended > #line-item-audit-logs > #audit-log-list > li > .audit-creator { + .m_16_m; + margin:0px; + padding:0px; + } + #line-item-extended > #line-item-audit-logs > #audit-log-list > li > .audit-date { + text-align:right; + .m_14_r; + padding:0px; + } + #line-item-extended > #line-item-audit-logs > #audit-log-list > li > .audit-text { + .m_16_r; + margin-bottom:0px; + padding:0px; + } + + #line-item-extended > #line-item-audit-logs > #new-audit-log-from { + margin: 0 0 15px; + } + + #line-item-extended > #line-item-audit-logs > #new-audit-log-from #new-audit-log-text { + border-color: @main_color_q; + margin-bottom:15px; + } + + .btn-gradient-primary { + font-weight: bold; + color: #FFFFFF; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #37B2E5; + *background-color: #37B2E5; + background-image: -moz-linear-gradient(top, #0079AB, #37B2E5); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0079AB), to(#37B2E5)); + background-image: -webkit-linear-gradient(top, #0079AB, #37B2E5); + background-image: -o-linear-gradient(top, #0079AB, #37B2E5); + background-image: linear-gradient(to bottom, #0079AB, #37B2E5); + background-repeat: repeat-x; + border-color: #37B2E5; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0079AB', endColorstr='#37B2E5', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + } + .btn-sample:hover, + .btn-sample:focus, + .btn-sample:active, + .btn-sample.active, + .btn-sample.disabled, + .btn-sample[disabled] { + color: #FFFFFF; + background-color: #37B2E5; + *background-color: #003bb3; + } + + .btn-gradient-success { + font-weight: bold; + color: #FFFFFF; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #41A02C; + *background-color: #41A02C; + background-image: -moz-linear-gradient(top, #A2E652, #41A02C); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#A2E652), to(#41A02C)); + background-image: -webkit-linear-gradient(top, #A2E652, #41A02C); + background-image: -o-linear-gradient(top, #A2E652, #41A02C); + background-image: linear-gradient(to bottom, #A2E652, #41A02C); + background-repeat: repeat-x; + border-color: #41A02C; + border-color: #888; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#A2E652', endColorstr='#41A02C', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + } + .btn-sample:hover, + .btn-sample:focus, + .btn-sample:active, + .btn-sample.active, + .btn-sample.disabled, + .btn-sample[disabled] { + color: #FFFFFF; + background-color: #41A02C; + *background-color: #003bb3; + } + + .btn-gradient-danger { + font-weight: bold; + color: #FFFFFF; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #AE0020; + *background-color: #AE0020; + background-image: -moz-linear-gradient(top, #F74658, #AE0020); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#F74658), to(#AE0020)); + background-image: -webkit-linear-gradient(top, #F74658, #AE0020); + background-image: -o-linear-gradient(top, #F74658, #AE0020); + background-image: linear-gradient(to bottom, #F74658, #AE0020); + background-repeat: repeat-x; + border-color: #AE0020; + border-color: #888; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#F74658', endColorstr='#AE0020', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + } + .btn-sample:hover, + .btn-sample:focus, + .btn-sample:active, + .btn-sample.active, + .btn-sample.disabled, + .btn-sample[disabled] { + color: #FFFFFF; + background-color: #AE0020; + *background-color: #003bb3; + } + + + + +} diff --git a/vvp/app/main/dashboard/dashboard/dashboard.controller.js b/vvp/app/main/dashboard/dashboard/dashboard.controller.js new file mode 100644 index 00000000..b6183b79 --- /dev/null +++ b/vvp/app/main/dashboard/dashboard/dashboard.controller.js @@ -0,0 +1,235 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + 'use strict'; + angular + .module('ice.dashboard.dashboard',['angularUtils.directives.dirPagination', 'ngFileSaver']) + .controller('DashboardMainController', ["$rootScope", "pageService", "stepsService", "vfService", "usersService", + "iceConstants", "localStorageService", "FileSaver", "Blob", "cmsService", "$uibModal", "$log", dashboardMainController]); + + function dashboardMainController($rootScope, pageService, stepsService, vfService, usersService, iceConstants, + localStorageService, FileSaver, Blob, cmsService, $uibModal, $log) { + var vm = this; + + var init = function () { + pageService.setPage('dashboard'); + cmsService.setAnnouncementToast(); + localStorageService.setJson("ice.settings.eng_uuid",undefined); + vm.stages = iceConstants.stages; + vm.stages.all = 'All'; + vm.search_keyword = ''; + vm.search_stage = 'All'; + vm.statistic_stage_filter = 'All'; + vm.current_starting_offset = "0"; + vm.num_of_returned_items = 0; + vm.pagination_num_of_objects = 8; + vm.me = vm.user = usersService.getUserData(); + vm.isAdminRo = usersService.isUserInRole(iceConstants.roles.admin_ro); + vm.isEngagmentEL = usersService.isUserInRole(iceConstants.roles.el); + vm.isEngagmentLead = usersService.isEngagementEL(vm.team); + vm.isAdmin = usersService.isAdmin(vm.me); + vm.page_num = 1; + vm.searchEngagements(1); + vm.request_statistics_data(); + getUserNextSteps(); + }; + + vm.request_statistics_data = function(){ + vfService.getEngagements(vm.me.uuid) + .then(function (response) { + if (response.status === 200 && response.data && response.data !== '') { + vm.enagements_search_list = response.data; + var vfc_array = undefined; + var vfc_num = 0; + var eng_num = 0; + vm.enagements_search_list.forEach(function (engagement) { + if(vm.statistic_stage_filter == "All") { + eng_num++; + if (engagement.engagement_stage == "Validated" || engagement.engagement_stage == "Completed") { + if (engagement.vfc.length > 1) { + vfc_array = engagement.vfc.split(", ").length; + vfc_num += vfc_array; + } + } + } + else { + if(engagement.engagement_stage == vm.statistic_stage_filter){ + eng_num++; + if (engagement.vfc.length > 1 && (engagement.engagement_stage == "Validated" || engagement.engagement_stage == "Completed")) { + vfc_array = engagement.vfc.split(", ").length; + vfc_num += vfc_array; + } + } + } + + }); + + vm.vfc_num = vfc_num; + vm.eng_num = eng_num; + } + }) + .catch(function (error) { + $rootScope.ice.loader.show = false; + $log.error(error); + }); + + }; + + vm.onStageChange = function() { + vm.page_num = 1; + + vm.searchEngagements(); + }; + + vm.onKeywordChange = function() { + vm.page_num = 1; + + vm.searchEngagements(); + }; + + vm.searchEngagements = function () { + vm.current_starting_offset = (vm.page_num-1)*vm.pagination_num_of_objects; + vm.postData = {'stage': vm.search_stage, 'keyword': vm.search_keyword, 'offset': vm.current_starting_offset, 'limit': vm.pagination_num_of_objects}; + vfService.getExpandedEngagements(vm.postData) + .then(function (response) { + if (response.status === 200 && response.data && response.data !== '') { + vm.vf_search_list = response.data['array']; + vm.num_of_returned_items = response.data['num_of_objects']; + vm.vf_search_list.forEach(function (vf){ + var progress_needed_data = { + enable_edit: false, + completion_date: vf.engagement__target_completion_date, + ecomp_release: vf.ecomp_release__name, + vnf_version: vf.version, + aic_version: vf.deployment_target__version, + aic_instantiation_time:vf.engagement__aic_instantiation_time, + asdc_onboarding_time:vf.engagement__asdc_onboarding_time, + heat_validated_time:vf.engagement__heat_validated_time, + image_scan_time: vf.engagement__image_scan_time, + engagement_uuid: vf.engagement__uuid, + manual_id: vf.engagement__engagement_manual_id, + name: vf.vf__name, + starred: false + }; + vf.progress_needed_data = progress_needed_data; + vf.starred_users.forEach(function (user) { + if (vm.me.uuid == user) { + vf.progress_needed_data.starred = true; + } + }); + + + }); + vm.vf_display_list = vm.vf_search_list; + + addStatusesLoadedAttr(); + } + }) + .catch(function (error) { + $rootScope.ice.loader.show = false; + $log.error(error); + }); + }; + + vm.goToEngagement = function(uuid){ + $rootScope.$broadcast('searchSelectEngagement',uuid); + }; + + vm.exportEngagementCSV = function() { + var stage = vm.search_stage || ""; + var keyword = vm.search_keyword || ""; + $rootScope.ice.loader.show = true; + + vfService.exportEngagementsCSV(stage, keyword) + .then(function(response) { + if(response && response.data) { + var data = new Blob([response.data], {type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'}); + FileSaver.saveAs(data, 'D2Ice.xlsx'); + $rootScope.ice.loader.show = false; + } + }) + .catch(function (error) { + $rootScope.ice.loader.show = false; + $log.error(error); + }); + }; + + vm.openCMSReadMoreModal = function(cmsPost) { + if(cmsPost) { + $uibModal.open({ + templateUrl: 'main/modals/cms-post-modal/cms-post-modal.html', + controller: 'cmsPostModalController', + controllerAs: 'vm', + size: 'cms-post-read-more', + resolve: { + post: function () { + return cmsPost; + } + } + }); + } else { + $log.warn("Cannot open cms post.") + } + }; + + function getUserNextSteps() { + vm.userNextSteps = []; + + stepsService.getByUser() + .then(function(response) { + vm.userNextSteps = response.data.data; + vm.userNextStepsCount = response.data.count; + }) + .catch(function (error) { + $log.error(error); + }); + }; + + function addStatusesLoadedAttr() { + angular.element(document).ready(function () { + var statusesTitleElement = angular.element( document.querySelector('#dashboard-title')); + if(statusesTitleElement && statusesTitleElement.length === 1) { + statusesTitleElement.attr('list-loaded', 'true'); + } + }); + }; + + init(); + } +})(); diff --git a/vvp/app/main/dashboard/dashboard/dashboard.html b/vvp/app/main/dashboard/dashboard/dashboard.html new file mode 100644 index 00000000..c03251b9 --- /dev/null +++ b/vvp/app/main/dashboard/dashboard/dashboard.html @@ -0,0 +1,111 @@ + +
+
+
+

Statuses

+ + Stage + + + +
+ +
+ + +
+ Export to Excel >> + +
+
+ +
diff --git a/vvp/app/main/dashboard/dashboard/dashboard.less b/vvp/app/main/dashboard/dashboard/dashboard.less new file mode 100644 index 00000000..4c824796 --- /dev/null +++ b/vvp/app/main/dashboard/dashboard/dashboard.less @@ -0,0 +1,189 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. + .dashboard .content-container #content { + height: 100%; + overflow-y: auto; + } +.dashboard-view { + padding: 10px; + + .steps-progress-wrapper { + border:none; + background-color: @main_color_p; + } + + + #dashboard-main-panel { + #dashboard-header { + #dashboard-title { + .a_26_m; + margin:0px; + line-height:40px; + } + .search-filters { + text-align: right; + .m_16_m; + line-height:40px; + .search-filter-stage { + margin-left:10px; + display: inline-block; + width: 40%; + } + #search-filter-keyword { + margin-left:10px; + display: inline-block; + width: 40%; + } + + } + } + #search-results { + .progress-bar-row { + padding:0px; + } + + .progress-bar-row:nth-child(even) .steps-progress-wrapper { + background-color: @func_color_r; + } + + #export-to-csv { + text-align : right; + .m_14_m; + text-decoration: underline; + cursor:pointer; + } + #engagements-pagination { + text-align:center; + .pagination { + margin:0px; + } + } + + } + + } + #dashboard-side-panel { + border-left: solid 1px @main_color_gray; + + #assgined-nextsteps { + border: 1px solid @toolbar_background_color; + padding:0px; + + #next-steps-header { + background-color: @toolbar_background_color; + .p_22_m; + padding: 10px 10px 0; + } + #next-steps-list { + list-style:none; + padding: 0 15px; + .next-step-details { + border-bottom: 1px dashed @main_color_a; + padding-bottom:10px; + + .next-step-details-header { + .engagement-title { + cursor:pointer; + .m_14_m; + margin-top: 15px; + margin-bottom: 0px; + .engagement-name { + text-decoration: underline; + } + } + .due-date { + .m_14_m; + margin-top: 10px; + margin-bottom: 0px; + text-align:right; + .due-date-icon { + } + } + } + .next-step-description { + .m_18_r; + margin: 3px 0px; + line-height: 20px; + } + .next-step-creation { + .m_14_r; + } + + } + .next-step-details:last-child { + padding:0px; + border:none; + } + } + } + .line-seperator { + border-bottom: dashed 1px @main_color_gray; + margin: 20px 0; + } + #statistics { + + border: 1px solid @main_color_gray; + padding:15px; + + #statistics-header { + margin-bottom: 10px; + h2 { + .m_24_m; + color: @main_color_gray; + margin: 0px; + } + .search-filters { + text-align: right; + .search-filter-stage { + margin-left:10px; + width:50%; + + } + } + } + #statistics-list { + .statistic-name { + } + .statistic-count { + text-align:right; + } + } + } + } +} diff --git a/vvp/app/main/dashboard/detailed-view/detailed-view.controller.js b/vvp/app/main/dashboard/detailed-view/detailed-view.controller.js new file mode 100644 index 00000000..c8af53f7 --- /dev/null +++ b/vvp/app/main/dashboard/detailed-view/detailed-view.controller.js @@ -0,0 +1,245 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + 'use strict'; + angular + .module('ice.dashboard.main') + .controller('detailedViewController', ["$rootScope", "$stateParams", "vfcService", "dtsiteService", "usersService", + "$uibModal", "vfService", "$log", "_", detailedViewController]); + + function detailedViewController($rootScope, $stateParams, vfcService, dtsiteService, usersService, $uibModal, vfService, $log, _) { + var vm = this; + + var init = function () { + $rootScope.timeGapLocal = moment().format("z");// timeGap(); + $rootScope.ampm = moment().format('A'); + $rootScope.mom = moment().tz(moment.tz.guess()).format('z'); + vm.is_aic_edit_mode = false; + vm.is_ecomp_edit_mode = false; + vm.aic_loaded = false; + vm.ecomp_loaded = false; + + if($stateParams.engagement != undefined) { + vm.engagement = $stateParams.engagement; + } + + if (vm.engagement != undefined) + { + vm.me = usersService.getUserData(); + vfService.getSingleEngagement(vm.me.uuid,vm.engagement.uuid) + .then(function (response) { + $rootScope.ice.loader.show = false; + + if (response.status === 200 && response.data && response.data !== '') { + var vf_data = response.data; + + vm.engagement_manual_id = vf_data.engagement.engagement_manual_id; + vm.vf_name = vf_data.name; + vm.vf_version = vf_data.version; + vm.vf_uuid = vf_data.uuid; + vm.ecomp_release = vf_data.ecomp_release; + vm.target_lab = new Date(vf_data.target_lab_entry_date); + vm.dtversion = vf_data.deployment_target; + vm.selected_dt_uuid = vm.dtversion.uuid; + vm.selected_ecomp_uuid = vm.ecomp_release.uuid; + vm.me = usersService.getUserData(); + vm.name = vm.engagement.name; + vm.isEngagementEL = usersService.isEngagementEL(vf_data.engagement.engagement_team); + vm.isAdmin = usersService.isAdmin(vm.me); + initDTsites(); + initVfcs(); + } + }) + .catch(function (error) { + $rootScope.ice.loader.show = false; + $log.error(error); + }); + + } + }; + + + vm.addVfc = function () { + var modalInstance = $uibModal.open({ + templateUrl: 'main/modals/detailed-view/vfc/detailed-view-vfc-modal.html', + controller: 'detailedViewVFCModalController', + controllerAs: 'vm', + resolve: { + vf_uuid: function () { + return vm.vf_uuid; + }, + } + }); + modalInstance.result.then(function (data) { + if (data) { + initVfcs(); + } + }); + }; + this.personArray = [vm.dtversion,vm.vf_uuid]; + + vm.editValidationDetails = function () { + var modalInstance = $uibModal.open({ + templateUrl: 'main/modals/validation-details/detailed-view-validation-details-modal.html', + controller: 'validationDetailsModalController', + controllerAs: 'vm', + resolve: { + vf_uuid: function () { + return vm.vf_uuid; + } + } + }); + modalInstance.result.then(function (data) { + if (data) { + init(); + } + }); + }; + + vm.addDTS = function () { + if(vm.isEngagementEL || vm.isAdmin) { + var modalInstance = $uibModal.open({ + templateUrl: 'main/modals/detailed-view/dtsite/detailed-view-dtsites-modal.html', + controller: 'detailedViewDtsitesModalController', + controllerAs: 'vm', + resolve: { + vf_uuid: function () { + return vm.vf_uuid; + }, + } + }); + + modalInstance.result.then(function (data) { + if (data) { + if(data === 200) { + initDTsites(); + } + } + }); + } + }; + + + vm.changeTargetLabEntry = function(){ + var modalInstance = $uibModal.open({ + templateUrl: 'main/modals/target-lab-entry/change-lab-entry-date.html', + controller: 'ChangeLabEntryDateModalController', + controllerAs: 'vm', + resolve: { + targetLabDate: function () { + return vm.target_lab; + }, + engagementUuid: function () { + return vm.engagement.uuid; + } + } + }); + modalInstance.result.then(function (data) { + if (!data){ + return; + } + else { + vm.target_lab = new Date(data.target_date); + $log.debug("data.target_date",data.target_date) + $log.debug("vm.target_lab",vm.target_lab) + } + }, function () { + $log.error('Modal dismissed at: ' + new Date()); + }); + }; + //In case user press the delete icon next to a VFC, this function would be activated + vm.deleteVfc = function(vfc_uuid){ + vfcService.delete(vfc_uuid,vm.vf_uuid) + .then(function (response) { + if (response.status === 204) { + initVfcs(); + } + }) + .catch(function (error) { + $log.error(error); + }); + }; + + vm.deleteDTSite = function(vfUuid, dtsUuid){ + dtsiteService.delete(vm.vf_uuid, dtsUuid) + .then(function (response) { + if (response.status === 204) { + initDTsites(); + } + }) + .catch(function (error) { + $log.error(error); + }); + }; + + + var initDTsites = function() { + if(vm.isEngagementEL || vm.isAdmin) { + $rootScope.ice.loader.show = true; + dtsiteService.getVFSites(vm.vf_uuid) + .then(function (response) { + $rootScope.ice.loader.show = false; + if (response.status === 200) { + vm.dtsites = response.data; + } + }) + .catch(function (error) { + $rootScope.ice.loader.show = false; + $log.error(error); + }); + } + }; + + var initVfcs = function() { + $rootScope.ice.loader.show = true; + vfcService.get(vm.vf_uuid) + .then(function (response) { + $rootScope.ice.loader.show = false; + if (response.status === 200) { + vm.vfcs = response.data; + } + }) + .catch(function (error) { + $rootScope.ice.loader.show = false; + $log.error(error); + }); + }; + init(); + } +})(); diff --git a/vvp/app/main/dashboard/detailed-view/detailed-view.html b/vvp/app/main/dashboard/detailed-view/detailed-view.html new file mode 100644 index 00000000..02eb760a --- /dev/null +++ b/vvp/app/main/dashboard/detailed-view/detailed-view.html @@ -0,0 +1,109 @@ + +
+
+

{{vm.engagement_manual_id + ': '}}{{vm.vf_name}}

+
+
+
+
+
+ Validation Details + +
+
+
+
ECOMP Release: {{vm.ecomp_release.name}}
+
+
+
Target AIC Version:{{vm.dtversion.version}}
+
+
+
VF Version: {{vm.vf_version}}
+
+
+
+
+
+ Target Lab Entry + +
+
+

{{vm.target_lab | date:'shortDate'}}

+
+
+
+
+ Deployment Targets + +
+
+
    +
  • + {{dts.name}} + + + + +
  • +
+
+
+
+
+
+
+ Virtual Function Components + +
+
+
    +
  • + {{vfc.name +' (' + vfc.external_ref_id + ')'}} + + + + +
  • +
+
+
+
+
+
diff --git a/vvp/app/main/dashboard/detailed-view/detailed-view.less b/vvp/app/main/dashboard/detailed-view/detailed-view.less new file mode 100644 index 00000000..dbac5c2d --- /dev/null +++ b/vvp/app/main/dashboard/detailed-view/detailed-view.less @@ -0,0 +1,400 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +#detailed-view { + + padding:0px 30px 0px 30px; + + .glyphicon-cursor-detailed-view { + cursor: pointer; + margin-left: 0.5%; + } + + .detailed-view-edit-mode { + cursor: pointer; + margin-left: 0.5%; + display: inline-block; + position: relative; + top: 3px; + .sprite; + .sprite.edit-medium; + } + + .hide-element { + display:none; + } + + .show-select { + display:block; + margin-bottom: 3%; + } + + .row > h1 { + padding: 0px; + margin-bottom: 0px; + + .a_36; + + .bold { + .a_36_m; + } + } + + .remove-button { + height: 10px; + .a_16_m; + cursor: pointer; + + + .remove-icon { + .sprite; + .sprite.delete; + cursor: pointer; + display: block; + position: relative; + } + } + + .steps-progress-wrapper { + margin-top: 10px; + } + + + + h2 { + display: inline-block; + margin: 0 0 10px 0; + .a_24_m; + font-size: 20px; + position: relative; + .add-vfc { + .sprite; + .sprite.add; + display: inline-block; + margin-left: 8px; + cursor: pointer; + position: relative; + top: 3px; + } + } + + .main-section { + margin-top: 30px; + } + + .steps-header { + + .steps-filter { + display: inline-block; + float: right; + .a_16_m; + .todo { + .sprite; + .sprite.todo; + display: inline-block; + cursor: pointer; + } + .completed { + .sprite; + .sprite.pending; + display: inline-block; + cursor: pointer; + } + .confirmed { + .sprite; + .sprite.approved; + display: inline-block; + cursor: pointer; + } + } + } + + .vfc-column { + height: 100%; + padding-right: 20px; + padding-left: 20px; + padding-top: 20px; + + ul { + li.step { + + list-style: none; + position: relative; + padding: 5px 10px 0px 4px; + font-size: 16px; + } + } + } + + .vfc-steps { + border-right: dashed 1px @main_color_a; + height: 100%; + padding-right: 20px; + padding-left: 0px; + padding-top: 20px; + + ul { + li.step { + + list-style: none; + position: relative; + padding: 5px 10px 0px 4px; + font-size: 16px; + &:hover { + background-color: #DEF3FF; + + .details { + .actions { + span { + visibility: visible; + } + } + } + + } + + &.completed { + background-color: #dddddd; + opacity: 0.7; + } + + .description { + + .m_16_r; + border-bottom: dashed 1px @main_color_n; + padding: 10px 0; + + input { + position: absolute; + top: 10px; + left: 0; + margin-right: 20px; + } + + .step-text { + margin-left: 20px; + } + + .step-state { + + position: absolute; + top: 24px; + + &.todo { + .steps-sprite; + .steps-sprite.todo; + display: inline-block; + } + &.confirmed { + .steps-sprite; + .steps-sprite.confirmed; + display: inline-block; + } + &.completed { + .steps-sprite; + .steps-sprite.completed; + display: inline-block; + } + &.completed-non-el { + .steps-sprite; + .steps-sprite.completed-non-el; + display: inline-block; + } + } + + } + .details { + .m_12_r; + margin: 6px 0 10px 0; + + .actions { + float: right; + margin-top: 2px; + + span { + visibility: hidden; + } + + .moveto-confirmed { + .actions-sprite; + .actions-sprite.approve_large; + display: inline-block; + cursor: pointer; + } + .moveto-todo { + .actions-sprite; + .actions-sprite.reject_large; + display: inline-block; + cursor: pointer; + } + .moveto-delete { + .actions-sprite; + .actions-sprite.delete_large; + display: inline-block; + cursor: pointer; + } + } + } + } + } + + } + #deployment-targets { + border: 1px solid @engagement_team_color; + padding:0px; + margin-bottom: 20px; + + #deployment-targets-header { + background-color: @engagement_team_color; + .p_18_m; + padding: 5px 5px 0; + line-height: 35px; + + .edit-target-completion { + font-size: 21px; + vertical-align: middle; + padding-left: 6px; + cursor:pointer; + } + } + + #deployment-targets-content { + .f-type._16_r; + margin: 15px; + } + } + #virtual-function-components { + border: 1px solid @engagement_status_color; + padding:0px; + margin-bottom: 20px; + + #virtual-function-header { + background-color: @engagement_status_color; + .p_18_m; + padding: 5px 5px 0; + line-height: 35px; + + .edit-target-completion { + font-size: 21px; + vertical-align: middle; + padding-left: 6px; + cursor:pointer; + } + } + + #virtual-function-content { + .f-type._16_r; + margin: 15px; + } + } + + #target-lab-entry { + border: 1px solid @target_completion_color; + padding:0px; + margin-bottom: 20px; + + #target-lab-entry-header { + background-color: @target_completion_color; + .p_18_m; + padding: 5px 5px 0; + line-height: 35px; + + .edit-target-completion { + font-size: 21px; + vertical-align: middle; + padding-left: 6px; + cursor:pointer; + } + } + + #target-lab-entry-content { + .f-type._16_r; + margin: 15px; + } + } + #validation-details { + border: 1px solid #4990E2; + padding:0px; + margin-bottom: 20px; + + #validation-details-header { + background-color: #4990E2; + .p_18_m; + padding: 5px 5px 0; + line-height: 35px; + + .edit-target-completion { + font-size: 21px; + vertical-align: middle; + padding-left: 6px; + cursor:pointer; + } + } + + #validation-details-content { + .f-type._16_r; + margin: 15px; + } + } + .team-and-logs { + height: 100%; + padding-left: 20px; + padding-top: 20px; + margin-left: -1px; + border-left: dashed 1px @main_color_a; + + .line{ + margin-bottom: 10px; + } + + } + + .add-next-step-form { + .ice-wysiwyg { + height: 200px; + .wysiwyg-menu > div { + background-color: #f1f1f1; + padding: 2px; + } + } + } + + .vfc-main-section { + margin-top: 0px; + } +} diff --git a/vvp/app/main/dashboard/get-started-modal/get-started-modal.directive.js b/vvp/app/main/dashboard/get-started-modal/get-started-modal.directive.js new file mode 100644 index 00000000..3676e51c --- /dev/null +++ b/vvp/app/main/dashboard/get-started-modal/get-started-modal.directive.js @@ -0,0 +1,308 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + 'use strict'; + angular + .module('ice.dashboard.get-started-modal') + .directive('getStartedModal', function () { + return { + restrict: 'AEC', + scope: {}, + link: function (scope, elm, attrs) { + scope.$emit('openGettingStartedWizardLoaded'); + }, + controller: ['$rootScope', '$scope', '$uibModal', 'toastService', '$log', + function ($rootScope, $scope, $uibModal, toastService, $log) { + + var gm = this; + gm.data = {}; + + gm.openModal = function () { + toastService.clearToast(); + var modalInstance = $uibModal.open({ + templateUrl: 'main/dashboard/get-started-modal/wizard/wizard-container.html', + controller: 'ModalCtrl', + controllerAs: 'wizard', + resolve: { + wizardData: function () { + return gm.wizardData; + } + }, + backdrop: 'static' + }); + }; + + $scope.$on('openGettingStartedWizard', function (event, args) { + + gm.wizardData = args; + gm.openModal(); + }); + }], + controllerAs: 'gm' + }; + }) + .controller('ModalCtrl', ['$rootScope', '$scope', '$uibModalInstance', 'vfService', 'usersService', 'localStorageService', 'wizardData', 'toastService', '$log', '$i18next', + function ($rootScope, $scope, $uibModalInstance, vfService, usersService, localStorageService, wizardData, toastService, $log, $i18next) { + + var wizard = this; + wizard.steps = []; + wizard.data = {}; + wizard.user = wizardData.user; + wizard.is_service_provider_internal = wizardData.is_service_provider_internal; + wizard.eng_uuid = wizardData.eng_uuid; + wizard.requiredStep = wizardData.requiredStep; + + var serviceProviderName = $i18next.t('serviceProvider.name'); + + var availableSteps = { + addVF: {name: 'addVF', title: 'Add a VF'}, + addSponsor: { + name: 'addContact', + title: 'Add ' + serviceProviderName +' Sponsor', + mode: 'sponsor', + submitButton: 'Add ' + serviceProviderName + ' Sponsor' + }, + addVendor: { + name: 'addContact', + title: 'Add Vendor Contact', + mode: 'vendor', + submitButton: 'Add Vendor Cotact', + }, + inviteMembers: {name: 'inviteMembers', title: 'Invite Team Members'}, + addSSH: {name: 'addSSH', title: 'Add SSH Key'} + }; + + wizard.setStep = function (step) { + wizard.currentStep = step + wizard.title = step.title; + step.completed = true; + }; + + function initWizard() { + + $rootScope.ice.loader.show = true; + + if (wizardData.showActivationMessage) { + toastService.setToast('You have successfully activated your account!', 'success', {displayFor: 'modal'}); + } + + wizard.stepIndex = 0; + + if (wizard.requiredStep) { + wizard.steps.push(availableSteps[wizard.requiredStep]); + wizard.setStep(wizard.steps[wizard.stepIndex]); + $rootScope.ice.loader.show = false; + return; + } + + if (!wizard.eng_uuid || wizard.eng_uuid === "") { + wizard.steps.push(availableSteps.addVF); + } + if (wizard.user.is_service_provider_contact === true && !wizard.is_service_provider_internal) { + wizard.steps.push(availableSteps.addVendor); + } else if (!wizard.user.is_service_provider_contact) { + wizard.steps.push(availableSteps.addSponsor); + } + + getCompanies(); + + wizard.steps.push(availableSteps.inviteMembers); + + var userData = usersService.getUserData() || {}; + var ssh_public_key = userData.ssh_public_key; + if ((wizard.user.ssh_public_key === "" || wizard.user.ssh_public_key === null) && + (ssh_public_key === "" || ssh_public_key === null)) { + wizard.steps.push(availableSteps.addSSH); + } + + $rootScope.ice.loader.show = false; + wizard.setStep(wizard.steps[wizard.stepIndex]); + } + + initWizard(); + + wizard.getCurrentStep = function () { + return wizard.currentStep.name; + }; + + wizard.nextStep = function () { + wizard.clearMessage(); + wizard.stepIndex++; + + if (wizard.stepIndex === (wizard.steps.length)) { + wizard.closeWizard(); + return; + } + + wizard.setStep(wizard.steps[wizard.stepIndex]); + }; + + wizard.closeWizard = function () { + wizard.clearMessage(); + $uibModalInstance.close(); + + }; + + wizard.clearMessage = function () { + toastService.clearToast(); + }; + + wizard.onAddContactSubmit = function () { + $rootScope.ice.loader.show = true; + wizard.data.addContact.eng_uuid = wizard.eng_uuid; + + if (wizard.user.is_main_vendor_contact === true && !wizard.is_service_provider_internal) { + wizard.data.addContact.company = wizard.data.addContact.company; + } else if (!wizard.user.is_main_vendor_contact) { + wizard.data.addContact.company = wizard.data.attCompanyUuid; + } + + usersService.addVendorContact(wizard.data.addContact) + .then(function (response) { + if (response.status === 200) { + $rootScope.ice.loader.show = false; + wizard.nextStep(); + } + }, function (error) { + toastService.setToast(error.message, 'danger', {displayFor: 'modal'}); + $log.error(error.message); + $rootScope.ice.loader.show = false; + }) + .catch(function (error) { + wizard.Msg = error.status + " : " + error.statusText; + wizard.bgColor = "#FFEBEB"; // RED #FFEBEB green DFF0D9 + $log.error(error); + $rootScope.ice.loader.show = false; + }); + }; + + wizard.onInviteSubmit = function () { + $rootScope.ice.loader.show = true; + var is_service_provider_internal; + var jsonInviteMembers = []; + angular.forEach(wizard.inviteMembers.choices, function (value, key) { + wizard.item = []; + var jsonItem = new Object(); + jsonItem.email = value.email; + jsonItem.eng_uuid = wizard.eng_uuid; + jsonInviteMembers.push(jsonItem); + }); + + vfService.inviteMembers(JSON.stringify(jsonInviteMembers)) + .then(function (response) { + if (response.status === 200) { + wizard.nextStep(); + } + $rootScope.ice.loader.show = false; + }) + .catch(function (error) { + toastService.setToast(error.message.detail, 'danger', {displayFor: 'modal'}); + $rootScope.ice.loader.show = false; + $log.error(error.message); + }); + }; + + wizard.inviteMembers = { + choices: [ + { + email: '', + eng_uuid: '' + }] + }; + + wizard.addNewChoice = function () { + var newItemNo = wizard.inviteMembers.choices.length + 1; + wizard.inviteMembers.choices.push({'id': newItemNo}); + }; + + wizard.removeChoice = function () { + var lastItem = wizard.inviteMembers.choices.length - 1; + wizard.inviteMembers.choices.splice(lastItem); + }; + + wizard.onAddSSHSubmit = function () { + $rootScope.ice.loader.show = true; + usersService.setSSHKey(wizard.user.uuid, wizard.data.addSSH) + .then(function (response) { + if (response.status === 200) { + usersService.getIceUser() + .then(function (response) { + if (response.status === 200 && response.data && response.data !== '') { + wizard.user = response.data; + $rootScope.ice.loader.show = false; + $scope.$emit('onUpdateEngagements'); + } + }); + wizard.nextStep(); + } + + }).catch(function (error) { + toastService.setToast(error.message.detail, 'danger', {displayFor: 'modal'}); + $rootScope.ice.loader.show = false; + $log.error(error.message.detail); + }); + }; + + $scope.$on('moveWizardNextStep', function (event, args) { + wizard.is_service_provider_internal = args.is_service_provider_internal; + wizard.eng_uuid = args.engagement.uuid; + wizard.nextStep(); + }); + + function getCompanies() { + vfService.getCompanies() + .then(function (response) { + if (response.status === 200) { + wizard.companies = response.data; + if(wizard.companies!=undefined){ + for(var i=0; i diff --git a/vvp/app/main/dashboard/get-started-modal/get-started-modal.less b/vvp/app/main/dashboard/get-started-modal/get-started-modal.less new file mode 100644 index 00000000..81381198 --- /dev/null +++ b/vvp/app/main/dashboard/get-started-modal/get-started-modal.less @@ -0,0 +1,47 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. + +.getting-started-wizard { + + ul.step-indication { + li { + display: inline; + } + } +} diff --git a/vvp/app/main/dashboard/get-started-modal/get-started-modal.module.js b/vvp/app/main/dashboard/get-started-modal/get-started-modal.module.js new file mode 100644 index 00000000..6e54399a --- /dev/null +++ b/vvp/app/main/dashboard/get-started-modal/get-started-modal.module.js @@ -0,0 +1,48 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. + +(function () { + + 'use strict'; + + angular + .module('ice.dashboard.get-started-modal', ['ngAnimate', 'ui.bootstrap', 'ice.activation.addVf']); + + +})(); diff --git a/vvp/app/main/dashboard/get-started-modal/wizard/wizard-container.html b/vvp/app/main/dashboard/get-started-modal/wizard/wizard-container.html new file mode 100644 index 00000000..97628a62 --- /dev/null +++ b/vvp/app/main/dashboard/get-started-modal/wizard/wizard-container.html @@ -0,0 +1,192 @@ + + +
+ + + + + +
diff --git a/vvp/app/main/dashboard/get-started-modal/wizard/wizard.less b/vvp/app/main/dashboard/get-started-modal/wizard/wizard.less new file mode 100644 index 00000000..4398d975 --- /dev/null +++ b/vvp/app/main/dashboard/get-started-modal/wizard/wizard.less @@ -0,0 +1,255 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.dev-button { + position: absolute; + top: 0; + left: 0; +} + +.reject_large { + .actions-sprite; + .actions-sprite.reject_large; + cursor: pointer; +} + +.modal-content { + .getting-started-wizard { + .modal-header { + display: flex; + flex-direction: row; + + h2, h3 { + display: inline-block; + flex-grow: 10; + } + } + + .modal-body { + .btn { + width: 100%; + } + + .btn-primary { + border: 1px solid #8799A3; + border-radius: 6px; + background: #1E79B0; /* For browsers that do not support gradients */ + background: -webkit-linear-gradient(#1E79B0, #62ADD5); /* For Safari 5.1 to 6.0 */ + background: -o-linear-gradient(#1E79B0, #62ADD5); /* For Opera 11.1 to 12.0 */ + background: -moz-linear-gradient(#1E79B0, #62ADD5); /* For Firefox 3.6 to 15 */ + background: linear-gradient(#1E79B0, #62ADD5); /* Standard syntax (must be last) */ + } + } + } +} + +.getting-started-wizard { + + + + + + md-datepicker.btn.datepicker_btn { + .md-datepicker-input { + width: 100%; + text-align: center; + line-height: 32px; + } + } + #vf-name-title { + font-size: 16px; + } + #title-key-metadata{ + font-size: 16px; + position: relative; + top: 20px; + left: 30px; + background: white; + padding: 0 20px; + margin-top: -15px; + } + .fields_key_metadata{ + border:1px solid #ccc; + padding: 26px 10px; + + } + /* Override addVf pages styles */ + .container { + width: auto; + + .col-md-2 { width: 0; } + .col-md-8 { width: 100%; } + + .table-container-flex .flex-item { + padding: 5px 5px; + } + + .remove-button { + display: none; + } + } + + .table-container-flex { + + .flex-item:nth-child(1) { + padding-left: 0; + flex-grow: 33; + } + + .flex-item:nth-child(2) { + flex-grow: 33; + } + + .flex-item:nth-child(3) { + flex-grow: 33; + } + + } + + ul.step-indication { + list-style: none; + display: inline-block; + + li { + display: inline-block; + background-color: #DDDDDD; + width: 30px; + height: 30px; + margin-right: 10px; + padding: 6px 11px; + .m_14_m; + + &.selected { + .p_14_m; + background-color: #1370A3; + } + + &:last-child { + margin-right: 0; + } + } + } + + .addVendorContact-form { + padding: 20px 0 0 0; + + button { + margin-top: 10px; + } + } + + .inviteMembers-form { + padding: 20px 0 0 0; + + button { + margin-top: 10px; + } + + .add-button { + margin-top: 8px; + display: block; + .add-text { + .a_16_m; + vertical-align: top; + margin-left: 6px; + } + .add-icon { + .sprite; + .sprite.add; + display: inline-block; + } + } + + .remove-button { + vertical-align:middle; + .a_16_m; + cursor: pointer; + + .remove-icon { + display: inline-block; + vertical-align: text-top; + margin-right: 6px; + .sprite; + .sprite.delete-circle; + cursor: pointer; + } + } + + + .remove-button { + vertical-align:middle; + .a_16_m; + cursor: pointer; + + .reject-large { + display: inline-block; + vertical-align: text-top; + margin-right: 6px; + .sprite; + .sprite.delete-circle; + cursor: pointer; + } + } + + .input-wrapper { + margin-bottom: 10px; + } + + } + + .addVf-form { + padding: 0; + } + + .addSsh-form { + padding: 0; + + .form-group { + margin-top: 20px; + } + + button { + margin-top: 10px; + } + + textarea { + min-height: 80px; + } + } + +} diff --git a/vvp/app/main/dashboard/main.module.js b/vvp/app/main/dashboard/main.module.js new file mode 100644 index 00000000..01a34a84 --- /dev/null +++ b/vvp/app/main/dashboard/main.module.js @@ -0,0 +1,107 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular + .module('ice.dashboard.main', ['ice.dashboard.get-started-modal']) + .config(config); + + function config($stateProvider) { + + $stateProvider + .state('app.dashboard', { + abstract: true, + views: { + 'navigation@app': { + templateUrl: 'core/navigation/layouts/horizontal-navigation/navigation.html', + controller: 'NavigationController as vm' + } + }, + bodyClass: 'dashboard' + }). + state('app.dashboard.dashboard', { + url: '/dashboard/dashboard', + views: { + 'content@app': { + templateUrl: 'main/dashboard/dashboard/dashboard.html', + controller: 'DashboardMainController as vm' + }, + }, + params: {engagement_uuid: null,engagement:null,messagePass: null}, + bodyClass: 'dashboard' + }). + state('app.dashboard.overview', { + url: '/dashboard/overview', + views: { + 'content@app': { + templateUrl: 'main/dashboard/overview/overview.html', + controller: 'OverviewMainController as vm' + }, + }, + params: {engagement_uuid: null,engagement:null,messagePass: null}, + bodyClass: 'dashboard' + }). + state('app.dashboard.detailedview', { + url: '/dashboard/detailedview', + views: { + 'content@app': { + templateUrl: 'main/dashboard/detailed-view/detailed-view.html', + controller: 'detailedViewController as vm' + }, + }, + params: {engagement_uuid: null,engagement:null}, + bodyClass: 'dashboard' + }). + state('app.dashboard.checklist', { + url: '/dashboard/checklist', + views: { + 'content@app': { + templateUrl: 'main/dashboard/checklist/checklist.html', + controller: 'DashboardChecklistController as vm' + }, + }, + params: {engagement_uuid: null,sub_id:null,engagement:null}, + bodyClass: 'dashboard' + }); + + } + +})(); diff --git a/vvp/app/main/dashboard/main/main.html b/vvp/app/main/dashboard/main/main.html new file mode 100644 index 00000000..f768619e --- /dev/null +++ b/vvp/app/main/dashboard/main/main.html @@ -0,0 +1,172 @@ + +
+ + +
+
+ +

{{vm.name}}

+
+ GIT: {{vm.git_repo_url}} +
+ +
+ +
+
+
+
+

Next Steps

+ + Files + + States + + +
+
    +
  • +
    + +
    +
    + + {{step.last_updater && step.last_updater.full_name || step.creator.full_name}} +  {{step.last_update_type}}:  + + {{(step.last_update_time) | date2: 'EEEE MMMM doo yyyy'}} at {{(step.last_update_time) | date: 'hh:mm' : timeGapLocal }} {{ampm}} {{mom}} +
    +
    +
    +
    +
    + {{(step['due_date']) | date2: 'EEEE MMMM doo yyyy'}} + + +
      + +
    • +
    • +
    + Associated Files ({{step.files.length}}) + +
    +
    +
  • +
+
+
+ +
+

Current Status

+ + Last updated {{(vm.status.update_time) | date2: 'EEEE MMMM doo yyyy'}} at {{(vm.status.update_time) | date: 'hh:mm' : timeGapLocal }} {{ampm}} {{mom}} + by {{vm.status.creator.full_name}} + +

{{vm.status.description == undefined && 'No status update has been provided yet.' || vm.status.description }}

+
+ +
+

Team Members

+
    +
  • + +
  • +
+
+ +
+

Activity Log

+
    +
  • + +
  • +
+
+ +
+ +
+
diff --git a/vvp/app/main/dashboard/overview/overview.controller.js b/vvp/app/main/dashboard/overview/overview.controller.js new file mode 100644 index 00000000..19d9839f --- /dev/null +++ b/vvp/app/main/dashboard/overview/overview.controller.js @@ -0,0 +1,833 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { +//test + 'use strict'; + + angular + .module('ice.dashboard.overview',[]) + .controller('OverviewMainController', ["$scope","$rootScope", "_","$stateParams", "statusService", "stepsService", "vfService", "usersService", "iceConstants", "$uibModal", "cmsService", "toastService", "$state", "$log", overviewMainController]); + + function overviewMainController($scope,$rootScope,_, $stateParams, statusService, stepsService, vfService, usersService, iceConstants, $uibModal, cmsService, toastService, $state, $log) { + var vm = this; + + vm.sortableOptions = { + handle: ' .order-nextstep', + axis: 'y', + update: function(e, ui) { + stepsService.order_next_steps(vm.engagement.uuid, vm.steps) + .then(function (response) { + if (response.status === 200) { + $log.debug('updated'); + } + }) + .catch(function (error) { + $log.error(error); + }); + } + }; + + var init = function () { + cmsService.setAnnouncementToast(); + $rootScope.timeGapLocal = moment().format("z");// timeGap(); + $rootScope.ampm = moment().format('A'); + $rootScope.mom =moment().tz( moment.tz.guess()).format('z'); + + vm.engagement = $stateParams.engagement; + + if (vm.engagement != undefined) + { + vm.me = usersService.getUserData(); + vfService.getSingleEngagement(vm.me.uuid,vm.engagement.uuid) + .then(function (response) { + $rootScope.ice.loader.show = false; + + if (response.status === 200 && response.data && response.data !== '') { + vm.vf = response.data; + vm.is_service_provider_internal = vm.vf.is_service_provider_internal; + vm.name = vm.vf.name; + vm.manual_id = vm.vf.engagement.engagement_manual_id; + if(!vm.vf.git_repo_url || vm.vf.git_repo_url==-1){ + vm.git_repo_url = false; + } + else { + vm.git_repo_url = vm.vf.git_repo_url; + } + vm.storage_bucket_url = vm.manual_id + '_' + vm.name.toLowerCase(); + vm.team = vm.vf.engagement.engagement_team; + vm.me = usersService.getUserData(); + vm.stages = iceConstants.stages; + vm.stage = vm.vf.engagement.engagement_stage; + vm.stage_num = 0; + vm.set_stage_num(vm.stage); + vm.in_overview_page = true; + vm.uuid = vm.engagement.uuid; + vm.progress = vm.vf.engagement.progress; + vm.completion_date = vm.vf.engagement.target_completion_date; + vm.starred = false; + vm.isEngagmentLead = usersService.isUserInRole('el'); + vm.isEngagementEL = usersService.isEngagementEL(vm.team); + vm.isAdmin = usersService.isAdmin(vm.me); + vm.does_user_role_allow_action_array = [vm.isAdmin, vm.isEngagementEL]; + vm.unremoveable_users_from_eng_team_array = [vm.vf.engagement.reviewer.uuid, vm.vf.engagement.peer_reviewer.uuid, + vm.vf.engagement.creator.uuid] + if (vm.vf.engagement.contact_user != null) { + vm.unremoveable_users_from_eng_team_array.push(vm.vf.engagement.contact_user.uuid); + } + vm.states = iceConstants.states; + vm.states_select = serializeStates(iceConstants.states); + vm.selected_state_filter = getSelectedStatesByUserType(); + vm.steps = []; + vm.vf_name = vm.vf.name; + vm.vf.engagement.starred_engagement.forEach(function(user) { + if (vm.me.uuid == user.uuid) + vm.starred = true; + }); + vm.all_states = false; + vm.all_files = true; + initSteps(); + vm.initActivityLogs(); + vm.files = vm.vf.files; + vm.files_filter_options = []; + vm.files_filter_options = vm.files_filter_options.concat(vm.files); + vm.files_filter_options.push("Any file"); + vm.chosen_files_filter = ["Any file"]; + vm.show_step = true; + vm.status = false; + statusService.get(vm.uuid) + .then(function (response) { + if (response.status === 200) + { + vm.status = response.data; + } else + { + $log.error(response); + } + }) + .catch(function (error) { + vm.status = false; + $log.error(error.message); + }); + vm.progress_needed_data = getEngagementProgressData(); + } + }) + .catch(function (error) { + $rootScope.ice.loader.show = false; + $log.error(error); + }); + + } + }; + + vm.set_stage_num = function(state) { + switch (state) { + case 'Intake': + vm.stage_num = 1; + break; + case 'Active': + vm.stage_num = 2; + break; + case 'Validated': + vm.stage_num = 3; + break; + case 'Completed': + vm.stage_num = 4; + break; + }; + }; + + vm.checkIfAdmin = function(user){ + return usersService.isAdmin(user); + }; + + + vm.is_user_allowed = function(){ + if(_.includes(vm.does_user_role_allow_action_array, true) == true){ + return true; + } + else { + return false; + } + } + + + vm.is_able_to_delete = function(requested_user){ + if(vm.is_user_allowed() && !_.includes(vm.unremoveable_users_from_eng_team_array, requested_user.uuid) + && !vm.checkIfAdmin(requested_user)) { + return true; + } + else { + return false; + } + }; + + + vm.remove_user_from_eng = function(requested_user){ + if(vm.is_able_to_delete(requested_user)) { + var modalInstance = $uibModal.open({ + templateUrl: 'main/modals/general-prompt-modal/general-prompt-modal.html', + controller: 'generalPromptModalController', + controllerAs: 'vm', + resolve: { + modalDetails: function () { + return { + "upper_headline": 'Remove user from engagement team: ', + "upper_headline_value": requested_user.full_name, + "headline": 'Are you sure you would like to remove the user out of the team members?', + "is_message":false, + "message": '', + "approve": 'Yes', + "cancelText": 'No', + "is_close_modal_button":true + }; + } + } + }); + //in order to close the ui-popover before opening the confirmation modal. + angular.element('body').click(); + + modalInstance.result.then(function (approve_deletion) { + if(approve_deletion) { + var data = {'eng_uuid': vm.vf.engagement.uuid, 'user_uuid': requested_user.uuid} + vfService.remove_user_from_eng(data).then(function (response) { + $rootScope.ice.loader.show = false; + if (response.status === 204) { + $rootScope.$broadcast('onUpdateEngagements',{select : {uuid:vm.engagement.uuid,page_type:'overview',sub_id:undefined}}); + } + }) + .catch(function (error) { + $rootScope.ice.loader.show = false; + $log.error(error); + }); + } + }); + } + else { + toastService.setToast('Action is not allowed.', 'danger'); + $rootScope.ice.loader.show = false; + return; + } + }; + + + $scope.is_match_both_filters = function () { + return function (step) { + + var result = false; + + if(vm.all_files && vm.all_states) { + result = true; + } + else if (vm.all_states && vm.is_contain_files(step)){ + result = true; + } + else if (vm.all_files && vm.is_same_state(step.state)){ + result = true; + } + else if (vm.is_contain_files(step) && vm.is_same_state(step.state)){ + result = true; + } + + if (result) { + return step; + } + return false; + } + } + + vm.is_all_files = function() { + vm.all_files = vm.chosen_files_filter.indexOf("Any file") !== -1; + } + + vm.is_contain_files = function(step) { + if (step.files) { + for (var i = 0; i < step.files.length; i++) { + if (vm.chosen_files_filter.indexOf(step.files[i]) !== -1) { + return true; + } + } + } + + return false; + }; + + vm.is_same_state = function(step_state){ + return vm.selected_state_filter.indexOf(step_state) !== -1; + }; + + vm.update_next_steps_choice = function(){ + if(vm.selected_state_filter.indexOf("All") !== -1){ + vm.all_states = true; + } + else { + vm.all_states = false; + } + }; + + vm.editStatus = function () { + var modalInstance = $uibModal.open({ + templateUrl: 'main/modals/status/status.html', + controller: 'StatusModalController', + controllerAs: 'vm', + size: 'lg', + resolve: { + + engagement_uuid: function () { + return vm.engagement.uuid; + }, + action: function () { + return 'edit'; + } + } + }); + + // Update the progress after modal closed. + modalInstance.result.then(function (data) { + if (data) { + vm.status = data; + } + }, function () { + $log.debug('Modal dismissed at: ' + new Date()); + }); + }; + + vm.addStatus = function () { + var modalInstance = $uibModal.open({ + templateUrl: 'main/modals/status/status.html', + controller: 'StatusModalController', + controllerAs: 'vm', + size: 'lg', + resolve: { + + engagement_uuid: function () { + return vm.engagement.uuid; + }, + action: function () { + return 'add'; + } + } + }); + + // Update the progress after modal closed. + modalInstance.result.then(function (data) { + if (data) { + vm.status = data; + } + }, function () { + $log.debug('Modal dismissed at: ' + new Date()); + }); + }; + + vm.deleteStep = function(step_uuid){ + var modalInstance = $uibModal.open({ + templateUrl: 'main/modals/general-prompt-modal/general-prompt-modal.html', + controller: 'generalPromptModalController', + controllerAs: 'vm', + resolve: { + modalDetails: function () { + return { + "headline": 'Delete Step', + "is_message":true, + "message": 'Are you sure you want to delete this step?', + "approve": 'Delete Step', + "is_close_modal_button":true + }; + } + } + }); + + modalInstance.result.then(function (deletionApproved) { + if(deletionApproved) { + stepsService.delete(step_uuid) + .then(function (response) { + if (response.status === 204) { + initSteps(); + initActivityLogs(); + } + }) + .catch(function (error) { + $log.error(error); + }); + } + }); + }; + + // next steps modal + vm.editStep = function (nextstep) { + var modalInstance = $uibModal.open({ + templateUrl: 'main/modals/next-steps/next-steps.html', + controller: 'NextStepsModalController', + controllerAs: 'vm', + size: 'lg', + resolve: { + + engagement_team: function () { + return vm.team; + }, + title: function () { + return vm.engagement.name; + }, + associated_files: function () { + return vm.files; + }, + engagement_uuid: function () { + return vm.engagement.uuid; + }, + checklist: function () { + return undefined; + }, + nextstep: function () { + return nextstep; + } + } + }); + + // Update the progress after modal closed. + modalInstance.result.then(function (data) { + if (data) { + initSteps(); + } + }, function () { + $log.debug('Modal dismissed at: ' + new Date()); + }); + }; + + vm.addStep = function () { + var modalInstance = $uibModal.open({ + templateUrl: 'main/modals/next-steps/next-steps.html', + controller: 'NextStepsModalController', + controllerAs: 'vm', + size: 'lg', + resolve: { + engagement_team: function () { + return vm.team; + }, + title: function () { + return vm.engagement.name; + }, + associated_files: function () { + return vm.files; + }, + engagement_uuid: function () { + return vm.engagement.uuid; + }, + checklist: function () { + return undefined; + }, + nextstep: function () { + return undefined; + } + } + }); + + // Update the progress after modal closed. + modalInstance.result.then(function (data) { + if (data) { + data.forEach(function (step) { + step['creator'] = vm.me; + vm.steps.push(step); + }); + initSteps(); + } + }, function () { + $log.debug('Modal dismissed at: ' + new Date()); + }); + }; + + $rootScope.$on('onUpdateNextSteps', function (event, args) { + if(args.eng_uuid && args.stage){ + vm.uuid = args.eng_uuid; + vm.stage = args.stage; + } + else{ + $log.error("onUpdateNextStep expecting args"); + return; + } + initSteps(); + }); + + vm.starEngagement = function () { + + vfService.putStarredEngagements(vm.engagement.uuid) + .then(function (response) { + $rootScope.ice.loader.show = false; + if (response.status === 200 && response.data && response.data !== '') { + if (vm.starred == true) + vm.starred = false + else + vm.starred = true + $rootScope.$broadcast('onUpdateEngagements',{select : {uuid:vm.engagement.uuid,page_type:'overview',sub_id:undefined}}); + + } + }) + .catch(function (error) { + $rootScope.ice.loader.show = false; + $log.error(error); + }); + } + + vm.updateStep = function (stepUuid, stepState) { + var data = {"state":stepState}; + stepsService.update(stepUuid, data) + .then(function (response) { + if (response.status === 200) { + var step = getStepByUuid(stepUuid); + if (step){ + initSteps(); + vm.initActivityLogs(); + } + } + }) + .catch(function (error) { + $log.error(error); + }); + }; + + vm.toggleCompleted = function (stepUuid) { + var step = getStepByUuid(stepUuid); + if (step){ + if(step.state == vm.states.incomplete){ + vm.updateStep(stepUuid, iceConstants.states.completed); + }else if(step.state == vm.states.completed){ + vm.updateStep(stepUuid, iceConstants.states.incomplete); + } + + } + }; + + vm.updateProgress = function(data) { + if (data && data.progress){ + vm.progress = data.progress; + } else if (data && data.target_date){ + vm.completion_date = data.target_date; + vm.target_completion_date = data.target_date; + } + }; + + vm.addPeople = function () { + + var args = { + user: vm.me, + eng_uuid: vm.engagement.uuid, + is_service_provider_internal: vm.is_service_provider_internal, + requiredStep: 'inviteMembers' + }; + + $rootScope.$broadcast('openGettingStartedWizard', args); + }; + + var initSteps = function() { + $rootScope.ice.loader.show = true; + stepsService.get(vm.uuid, vm.stage) + .then(function (response) { + $rootScope.ice.loader.show = false; + if (response.status === 200) { + vm.steps = []; + response.data.forEach(function (step) { + vm.steps.push(step); + }); + } + }) + .catch(function (error) { + $rootScope.ice.loader.show = false; + $log.error(error); + }); + }; + + vm.initActivityLogs = function() { + $rootScope.ice.loader.show = true; + vfService.getActivities(vm.uuid) + .then(function (response) { + $rootScope.ice.loader.show = false; + if (response.status === 200) { + vm.activities = response.data; + + } + }) + .catch(function (error) { + $rootScope.ice.loader.show = false; + $log.error(error); + }); + }; + + var getStepByUuid = function(stepUuid) { + var foundStep; + if (vm.steps) { + vm.steps.forEach(function (step) { + if (step.uuid === stepUuid) { + foundStep = step; + } + }); + } + return foundStep; + }; + + var serializeStates = function(states) { + var result = [] + for(var key in states) { + result.push(states[key]) + } + + return result; + }; + + var getSelectedStatesByUserType = function() { + var result = []; + +// if(vm.isEngagementEL || vm.isAdmin) { +// result.push("All","Completed","Incomplete"); +// } else { //For normal users: + result.push("Incomplete") +// } + + return result; + }; + + var getEngagementProgressData = function() { + var result = { + "enable_edit": ((vm.isEngagementEL || vm.isAdmin) && vm.in_overview_page), + "completion_date":vm.vf.engagement.target_completion_date, + "ecomp_release": vm.vf.ecomp_release.name, + "vnf_version": vm.vf.version, + "aic_version":vm.vf.deployment_target.version, + "aic_instantiation_time":vm.vf.engagement.aic_instantiation_time, + "asdc_onboarding_time":vm.vf.engagement.asdc_onboarding_time, + "heat_validated_time":vm.vf.engagement.heat_validated_time, + "image_scan_time":vm.vf.engagement.image_scan_time, + "engagement_uuid": vm.uuid, manual_id: vm.manual_id + }; + + return result; + }; + + vm.archiveEngagement = function() { + var modalInstance = $uibModal.open({ + templateUrl: 'main/modals/archive-engagement-modal/archive-engagement-modal.html', + controller: 'archiveEngagementModalController', + controllerAs: 'vm', + resolve: { + engagementDetails: function () { + return { + "manual_id": vm.manual_id, + "name": vm.name, + "engagement": vm.engagement + }; + } + } + }); + + modalInstance.result.then(function (archiveReason) { + if(archiveReason && vm.engagement && vm.engagement.uuid) { + vfService.archiveEngagement(vm.engagement.uuid, archiveReason) + .then(function() { + $state.go('app.dashboard.dashboard'); + toastService.setToast("Engagement '" + vm.engagement.name + "' archived successfully.", 'success'); + }) + .catch (function(error) { + toastService.setToast("Server failed archiving engagement.", 'danger'); + $rootScope.ice.loader.show = false; + $log.error(error); + }); + } else { + toastService.setToast("No reason was supplied, therefor engagement cannot be archived.", 'danger'); + } + }); + }; + + vm.changeReviewer = function() { + var modalInstance = $uibModal.open({ + templateUrl: 'main/modals/select-el-modal/select-el-modal.html', + controller: 'selectELModalController', + controllerAs: 'vm', + resolve: { + // We are not allow the reviewer and peer reviewer to be the same: + excludeUuids: function () { + return [vm.engagement.peer_reviewer_uuid]; + }, + selectedOption: function() { + return vm.engagement.reviewer_uuid; + } + } + }); + + modalInstance.result.then(function (userUuid) { + if(vm.engagement && vm.engagement.uuid) { + + if (userUuid == vm.engagement.peer_reviewer_uuid) { + vfService.switchEngagementReviewers(vm.engagement.uuid, userUuid, vm.engagement.reviewer_uuid) + .then(function (response) { + vm.engagement.reviewer_uuid = response.data.reviewer; + vm.engagement.peer_reviewer_uuid = response.data.peerreviewer; + toastService.setToast("Reviewer and peer reviewer updated successfully.", 'success'); + }) + .catch(function (error) { + toastService.setToast("Server failed to update engagement reviewers.", 'danger'); + $rootScope.ice.loader.show = false; + $log.error(error); + }); + } else { + vfService.updateEngagementReviewer(vm.engagement.uuid, userUuid) + .then(function(response){ + _.remove(vm.team, function(user) {return user.uuid === vm.engagement.reviewer_uuid;}); + vm.team.push(response.data); + vm.engagement.reviewer_uuid = response.data.uuid; + toastService.setToast("Reviewer updated successfully.", 'success'); + }) + .catch(function(error) { + toastService.setToast("Server failed to update engagement reviewer.", 'danger'); + $rootScope.ice.loader.show = false; + $log.error(error); + }); + }} else { + toastService.setToast("Problem occurred while updating reviewer - missing engagement uuid.", 'danger'); + } + }) + }; + + vm.changePeerReviewer = function() { + var modalInstance = $uibModal.open({ + templateUrl: 'main/modals/select-el-modal/select-el-modal.html', + controller: 'selectELModalController', + controllerAs: 'vm', + resolve: { + // We are not allow the reviewer and peer reviewer to be the same: + excludeUuids: function () { + return [vm.engagement.reviewer_uuid]; + }, + selectedOption: function() { + return vm.engagement.peer_reviewer_uuid; + } + } + }); + + modalInstance.result.then(function (userUuid) { + if(vm.engagement && vm.engagement.uuid) { + + if (userUuid == vm.engagement.reviewer_uuid) { + vfService.switchEngagementReviewers(vm.engagement.uuid, vm.engagement.peer_reviewer_uuid, userUuid) + .then(function (response) { + vm.engagement.reviewer_uuid = response.data.reviewer; + vm.engagement.peer_reviewer_uuid = response.data.peerreviewer; + toastService.setToast("Peer reviewer and reviewer updated successfully.", 'success'); + }) + .catch(function (error) { + toastService.setToast("Server failed to update engagement reviewers.", 'danger'); + $rootScope.ice.loader.show = false; + $log.error(error); + }); + } else { + vfService.updateEngagementPeerReviewer(vm.engagement.uuid, userUuid) + .then(function(response) { + $log.debug("vm.team", vm.team); + _.remove(vm.team, function(user) {return user.uuid === vm.engagement.peer_reviewer_uuid;}); + vm.team.push(response.data); + vm.engagement.peer_reviewer_uuid = response.data.uuid; + toastService.setToast("Peer reviewer updated successfully.", 'success'); + }) + .catch(function(error) { + toastService.setToast("Server failed to update engagement peer reviewer.", 'danger'); + $rootScope.ice.loader.show = false; + $log.error(error); + }); + }} else { + toastService.setToast("Problem occurred while updating peer reviewer - missing engagement uuid.", 'danger'); + } + }) + }; + + vm.updateEngagementStatus = function() { + vm.vf.engagement.progress = parseInt(vm.progress); + var modalInstance = $uibModal.open({ + templateUrl: 'main/modals/update-engagement-status-modal/update-engagement-status-modal.html', + controller: 'updateEngagementStatusModalController', + controllerAs: 'vm', + resolve: { + engagement: function () { + // We will deliver a copy of the engagement so if the user hit 'Cancel' we won't change the original: + return angular.copy(vm.vf.engagement); + } + } + }); + + modalInstance.result.then(function (result) { + vfService.updateEngagement(result.engagement, result.status) + .then(function(response) { + vm.vf.engagement = result.engagement; + vm.progress = vm.vf.engagement.progress; + vm.progress_needed_data = getEngagementProgressData(); + vm.status = response.data; + toastService.setToast("Engagement status updated successfully.", 'success'); + }) + .catch(function(error){ + toastService.setToast("Server failed to update engagement status.", 'danger'); + $rootScope.ice.loader.show = false; + $log.error(error); + }); + }) + }; + + vm.changeTargetCompletion = function(){ + var modalInstance = $uibModal.open({ + templateUrl: 'main/modals/change-date/change-date.html', + controller: 'ChangeDateModalController', + controllerAs: 'vm', + resolve: { + completionDate: function () { + return vm.vf.engagement.target_completion_date; + }, + engagementUuid: function () { + return vm.engagement.uuid; + } + } + }); + + modalInstance.result.then(function (data) { + if (!data){ + return; + } + vm.completion_date = data.target_date || vm.vf.engagement.target_completion_date; + vm.vf.engagement.target_completion_date = vm.completion_date; + }, function () { + $log.debug('Modal dismissed at: ' + new Date()); + }); + }; + + init(); + } +})(); diff --git a/vvp/app/main/dashboard/overview/overview.html b/vvp/app/main/dashboard/overview/overview.html new file mode 100644 index 00000000..d1b3fc40 --- /dev/null +++ b/vvp/app/main/dashboard/overview/overview.html @@ -0,0 +1,212 @@ + +
+ +
+ + +
+
+ +

+ {{vm.manual_id}}: {{vm.name}} +

+ + + +
+
+ GIT: {{vm.git_repo_url}} + + STORAGE BUCKET: {{vm.storage_bucket_url}} +
+
+ +
+ + +
+ +
+
+
+

Next Steps

+ + Files + + States + + +
+
    +
  • + +
    + +
    +
    + + + {{step.engagement ? (step.last_updater && step.last_updater.full_name || step.creator.full_name) : "System Next Step"}} +  {{step.last_update_type}}:  + + {{(step.last_update_time) | date2: 'EEEE MMMM doo yyyy'}} at {{(step.last_update_time) | date: 'hh:mm' : timeGapLocal }} {{ampm}} {{mom}} +
    +
    +
    +
    +
    + {{(step['due_date']) | date2: 'EEEE MMMM doo yyyy'}} +
      +
    • +
    • +
    + Associated Files + +
    +
    +
  • +

    No next steps matching filtered results.

    +
+
+
+
+
+ Target Completion + +
+
+

{{vm.completion_date | date:'shortDate'}}

+
+
+
+
+ Current Status + +
+
+ +
+
+
+
+ Team Members + +
+ +
+ +
+
Activity Log
+
    +
  • + +
  • +
+
+
+
+
diff --git a/vvp/app/main/dashboard/overview/overview.less b/vvp/app/main/dashboard/overview/overview.less new file mode 100644 index 00000000..48f76a47 --- /dev/null +++ b/vvp/app/main/dashboard/overview/overview.less @@ -0,0 +1,575 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.dashboard { + + .remove-user-from-eng { + .x_16_r; + float: right; + cursor: pointer; + .remove-icon { + .sprite; + .sprite.red-delete; + display: inline-block; + margin-left: 8px; + position: relative; + top: 3px; + } + } + + .popover-title-name { + .a_18_m; + } + + .popover-title-company { + .a_18_r; + } + + .popover-role-title { + .n_16_i; + } + + .popover-details { + .popover-details-topic { + .m_16_m; + } + .popover-details-detail { + word-wrap: break-word; + + .m_16_r; + } + } + + .content-container #content .main-wrapper { + height: 100%; + overflow-y: auto; + overflow-x: hidden; + padding: 10px ; + } + + .no-display-text{ + .a_36_m; + } + + .no-display{ + display: none; + } + + .overview { + #engagement-title { + color: @toolbar_background_color; + } + .manual-id { + .m_36_m; + color: @toolbar_background_color; + } + + .filter-wrapper { + text-align: right; + padding:0px; + span { + padding: 0px; + margin-left: 5px; + + } + .form-control-main-view{ + margin-left: 5px; + display: inline; + padding: 6px; + font-size: 14px; + line-height: 1.42857143; + color: #555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 4px; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + } + } + + .state-filter { + button { + padding: 0px 5px 0px 8px; + margin-bottom: 1px; + } + + span { + right: 6px !important; + top: 9px !important; + } + + a { + font-size: 14px; + } + } + + .steps-progress-wrapper { + margin-top: 10px; + } + + h1 { + display: inline-block; + .a_36; + margin: 0 0 30px 0; + } + + h2 { + display: inline-block; + margin: 0 0 10px 0; + .a_24_m; + position: relative; + .add-people, + .add-step { + display: inline-block; + margin-left: 8px; + cursor: pointer; + position: relative; + top: 2px; + } + } + + .main-section { + margin-top: 30px; + } + + .steps-header { + background-color: @toolbar_background_color; + color: @main_color_p; + padding: 10px 0px 0px 0px; + margin: 0px 0px 0px -5px; + + h2 { + font-size: 20px; + color: @main_color_p; + } + + .steps-filter { + display: inline-block; + float: right; + .a_16_m; + .todo { + .sprite; + .sprite.todo; + display: inline-block; + cursor: pointer; + } + .completed { + .sprite; + .sprite.pending; + display: inline-block; + cursor: pointer; + } + .confirmed { + .sprite; + .sprite.approved; + display: inline-block; + cursor: pointer; + } + } + } + + #engagement-target-completion { + border: 1px solid @target_completion_color; + padding:0px; + margin-bottom: 20px; + + #target-completion-header { + background-color: @target_completion_color; + .p_18_m; + padding: 5px 5px 0; + line-height: 35px; + + .edit-target-completion { + font-size: 21px; + vertical-align: middle; + padding-left: 6px; + cursor:pointer; + } + } + + .target-completion-content { + .f-type._16_r; + margin: 15px; + } + } + + #engagement-status { + border: 1px solid @engagement_status_color; + padding:0px; + margin-bottom: 20px; + + #engagement-status-header { + background-color: @engagement_status_color; + .p_18_m; + padding: 5px 5px 0; + line-height: 35px; + + .add-engagement-status { + font-size: 21px; + vertical-align: middle; + padding-left: 6px; + cursor:pointer; + } + } + + .engagement-status-content { + .f-type._16_r; + margin: 15px; + + #status-update-details { + display:block; + .m_12_r; + } + + #status-description { + margin: 3px 0px 0px 0px; + .m_16_r; + } + + .edit-engagement-status { + font-size: 21px; + padding-left: 6px; + cursor:pointer; + color: @main_color_m; + } + } + } + + #engagement-team { + border: 1px solid @engagement_team_color; + padding:0px; + margin-bottom: 20px; + + #engagement-team-header { + background-color: @engagement_team_color; + .p_18_m; + padding: 5px 5px 0; + line-height: 35px; + + .add-team-member { + font-size: 21px; + vertical-align: middle; + padding-left: 6px; + cursor:pointer; + } + } + + .engagement-team-content { + .f-type._16_r; + margin: 15px; + + ul.team-avatars { + li.team-member-avatar { + font-size: 40px; + cursor:pointer; + color: @engagement_team_color; + } + + li { + list-style: none; + display: inline-block; + margin-right: 10px; + } + } + } + } + + #star-engagement-action { + display: inline-block; + cursor:pointer; + position: relative; + bottom: 3px; + margin-right: 5px; + } + + #star-engagement-action.not_starred{ + .sprite.starred; + } + + #star-engagement-action.is_starred { + .sprite.starred-selected; + } + + #star-engagement-action.not_starred:hover{ + .sprite.starred-selected; + } + + #star-engagement-action.is_starred:hover { + .sprite.starred; + } + + .steps { + padding-bottom: 140px; + padding-right: 20px; + padding-left: 20px; + + ul { + li.step { + border-bottom: dashed 1px @main_color_n; + .step-wrapper { + border-left: 2px solid transparent; + margin: 7px 0px 7px 1px; + &:hover { + border-left: 2px solid @main_color_a; + background-color: #DEF3FF; + + .description { + .step-state { + &.incomplete { + color: @main_color_d; + opacity: 0.7; + } + } + } + } + } + .next-step-actions { + display:none; + height: 100%; + width: 20px; + position: relative; + padding-top: 10px; + float: left; + left: -18px; + margin-right: -20px; + + > span { + margin-bottom: 3px; + cursor: pointer; + display:block; + } + .order-nextstep { + color: @main_color_o; + cursor:pointer; + } + .edit-next-step { + cursor:pointer; + color: @main_color_o; + } + .moveto-confirmed { + .actions-sprite; + .actions-sprite.approve_large; + + } + .moveto-todo { + .actions-sprite; + .actions-sprite.reject_large; + } + .moveto-delete { + cursor:pointer; + color: @main_color_o; + } + + } + &:hover { + .next-step-actions { + display:block; + } + .details { + .actions { + span { + visibility: visible; + } + } + } + } + + div.completed { + opacity: 0.7; + } + div.confirmed { + opacity: 0.7; + } + + .details { + text-align: right; + .next-step-due-date { + color: @main_color_m; + font-weight: bold; + + .icon { + display: inline-block; + margin-right: 5px; + position: relative; + } + } + + .associated-files { + color: @main_color_m; + font-weight: bold; + cursor: pointer; + } + + ul.next-step-team-mates { + li { + list-style: none; + display: inline-block; + font-size: 27px; + padding-left: 5px; + color: @engagement_team_color; + + &.me { + color: @main_color_a; + } + } + + } + + } + list-style: none; + position: relative; + + .description { + .m_16_r; + + padding:5px; + + input { + position: absolute; + top: 10px; + left: 0; + margin-right: 20px; + } + + .step-text { + margin-left: 35px; + } + .last-action-details { + .m_12_r; + .name { + font-weight: bold; + .m_12_m; + + } + } + .step-state { + position: absolute; + top: 25px; + font-size: 25px; + + &.incomplete { + color: @main_color_o; + display: inline-block; + } + &.completed { + color: @main_color_d; + display: inline-block; + } + } + } + } + } + } + + .team-and-logs { + border-left: dashed 1px @main_color_a; + padding-left: 20px; + padding-right: 20px; + + .activity-log { + + border: 1px solid @engagement_team_color; + padding:0px; + margin-bottom: 20px; + + #activity-log-header { + background-color: @engagement_team_color; + .p_18_m; + padding: 5px 5px 0; + line-height: 35px; + } + ul.activity-log-details { + margin:15px; + li { + list-style: none; + position: relative; + margin: 0 0 10px; + + } + } + } + + } + + .admin-actions-dropdown { + .sprite.admin-dropdown; + color: @main_color_a; + font-size: 20px; + vertical-align: 4px; + margin-left: 5px; + cursor: pointer; + display: inline-block; + } + } + + .add-next-step-form { + .ice-wysiwyg { + height: 200px; + .wysiwyg-menu > div { + background-color: #f1f1f1; + padding: 2px; + } + } + } + + .git-repo-url{ + text-align: left; + .m_16_m; + } + + .storage-bucket-url{ + text-align: left; + .m_16_m; + } + + .line-separator { + border-bottom: solid thin; + margin-top: 5px; + margin-bottom: 7px; + align-items: left; + } +} + +.intl-tel-input { + width: 100%; +} + +.iti-flag { + background-image: url(images/flags.png); +} diff --git a/vvp/app/main/documentation/documentation.controller.js b/vvp/app/main/documentation/documentation.controller.js new file mode 100644 index 00000000..6e3ebb27 --- /dev/null +++ b/vvp/app/main/documentation/documentation.controller.js @@ -0,0 +1,74 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular + .module('ice.documentation') + .controller('documentationController', ["cmsService", "$stateParams", "$log", documentationController]); + + function documentationController(cmsService, $stateParams, $log) { + var vm = this; + + var init = function() + { + loadPageData(); + }; + + function loadPageData() { + if($stateParams.page_id) { + cmsService.getPage($stateParams.page_id) + .then(function(response) { + if(response && response.data) { + vm.pageId = $stateParams.page_id; + vm.pageTitle = response.data["title"]; + vm.pageContent = response.data["content"]; + vm.publishDate = response.data["publish_date"]; + } + }) + .catch(function(error) { + $log.error(error); + }); + } + } + + init(); + } +})(); diff --git a/vvp/app/main/documentation/documentation.html b/vvp/app/main/documentation/documentation.html new file mode 100644 index 00000000..44b7c0d8 --- /dev/null +++ b/vvp/app/main/documentation/documentation.html @@ -0,0 +1,47 @@ + + +
+
+

{{vm.pageTitle}}

+ Updated at {{vm.publishDate | date2: 'EEEE MMMM doo yyyy'}} +
+
+
+ diff --git a/vvp/app/main/documentation/documentation.less b/vvp/app/main/documentation/documentation.less new file mode 100644 index 00000000..7b7f188b --- /dev/null +++ b/vvp/app/main/documentation/documentation.less @@ -0,0 +1,96 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.documentation-container { + .page-title { + .a_26_m; + margin:0px; + } + + .page-publish { + .f-type._14_m; + + bottom: 10px; + } + + .page-content{ + .f-type._16_r; + margin-top: 10px; + + ul { + padding-left: 30px; + } + + h1 { + font-weight: bold; + } + + h2 { + font-weight: bold; + } + + h3 { + font-weight: bold; + } + + table { + border-right: 1px solid @main_color_c; + border-left: 1px solid @main_color_c; + + tr { + border-bottom: 1px solid @main_color_c; + border-top: 1px solid @main_color_c; + border-collapse: collapse; + + td { + padding: 0 0 0 7px; + } + } + + thead { + background-color: @main_color_c; + color: @main_color_p; + font-weight: bold; + } + } + } +} + +#documentation-side-panel { + border-left: dashed 1px @main_color_a; +} diff --git a/vvp/app/main/documentation/documentation.module.js b/vvp/app/main/documentation/documentation.module.js new file mode 100644 index 00000000..fb944e0d --- /dev/null +++ b/vvp/app/main/documentation/documentation.module.js @@ -0,0 +1,74 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular + .module('ice.documentation') + .config(config); + + function config($stateProvider) { + $stateProvider + .state('app.documentation', { + views: { + 'navigation@app': { + templateUrl: 'core/navigation/layouts/documentation-navigation/navigation.html', + controller: 'documentationNavigationController as vm' + }, + 'sidebar@app': { + templateUrl: 'main/documentation/sidebar/documentation.sidebar.html' + } + }, + bodyClass: 'documentation', + params: {displaySidebar: true} + }) + .state('app.documentation.page', { + url: '/documentation', + views: { + 'content@app': { + templateUrl: 'main/documentation/documentation.html', + controller: 'documentationController as vm' + } + }, + bodyClass: 'documentation', + params: {displaySidebar: true, page_id: undefined} + }); + } +})(); diff --git a/vvp/app/main/documentation/sidebar/documentation.sidebar.html b/vvp/app/main/documentation/sidebar/documentation.sidebar.html new file mode 100644 index 00000000..c6381a7d --- /dev/null +++ b/vvp/app/main/documentation/sidebar/documentation.sidebar.html @@ -0,0 +1,41 @@ + + diff --git a/vvp/app/main/documentation/sidebar/documentation.sidebar.less b/vvp/app/main/documentation/sidebar/documentation.sidebar.less new file mode 100644 index 00000000..51694fe9 --- /dev/null +++ b/vvp/app/main/documentation/sidebar/documentation.sidebar.less @@ -0,0 +1,61 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +#documentation-side-panel { + .tooltip-title { + font-size: 18px; + } + + #tooltip-description { + font-size: 16px; + } + + #news-and-announcements-header { + font-size: 18px; + } + + #news-and-announcements-list { + .news-and-announcements-details { + .news-and-announcements-details-header { + .news-and-announcements-details-title { + font-size: 16px; + } + } + } + } +} diff --git a/vvp/app/main/errors/404.html b/vvp/app/main/errors/404.html new file mode 100644 index 00000000..1841b41f --- /dev/null +++ b/vvp/app/main/errors/404.html @@ -0,0 +1,190 @@ + + + + + + Page Not Found :( + + + +
+

Not found :(

+

Sorry, but the page you were trying to view does not exist.

+

It looks like this was the result of either:

+
    +
  • a mistyped address
  • +
  • an out-of-date link
  • +
+ + +
+ + diff --git a/vvp/app/main/main.controller.js b/vvp/app/main/main.controller.js new file mode 100644 index 00000000..9c91aae9 --- /dev/null +++ b/vvp/app/main/main.controller.js @@ -0,0 +1,60 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + 'use strict'; + + angular + .module('ice.main',[]) + .controller('MainController', MainController)//; + .config(function($mdDateLocaleProvider) { + $mdDateLocaleProvider.formatDate = function (date) { + return date ? moment(date).format('MMMM Do YYYY') : ''; + }; + + $mdDateLocaleProvider.parseDate = function (dateString) { + var m = moment(dateString, 'YYYY-MM-DD', true); + return m.isValid() ? m.toDate() : new Date(NaN); + }; + }); + + function MainController($scope, $rootScope) { + + } + +})(); \ No newline at end of file diff --git a/vvp/app/main/modals/archive-engagement-modal/archive-engagement-modal.controller.js b/vvp/app/main/modals/archive-engagement-modal/archive-engagement-modal.controller.js new file mode 100644 index 00000000..3c1226cb --- /dev/null +++ b/vvp/app/main/modals/archive-engagement-modal/archive-engagement-modal.controller.js @@ -0,0 +1,66 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. + +(function () { + 'use strict'; + + angular + .module('ice.modals') + .controller('archiveEngagementModalController', ['$uibModalInstance','engagementDetails',archiveEngagementModalController]); + + function archiveEngagementModalController($uibModalInstance, engagementDetails) { + + var vm = this; + var init = function () { + if(engagementDetails) { + vm.engagement = engagementDetails; + } + }; + + vm.closeModal = function () { + $uibModalInstance.dismiss(); + }; + + vm.archiveEngagement = function() { + $uibModalInstance.close(vm.reason); + }; + + init(); + } +})(); diff --git a/vvp/app/main/modals/archive-engagement-modal/archive-engagement-modal.html b/vvp/app/main/modals/archive-engagement-modal/archive-engagement-modal.html new file mode 100644 index 00000000..7d4b5b07 --- /dev/null +++ b/vvp/app/main/modals/archive-engagement-modal/archive-engagement-modal.html @@ -0,0 +1,56 @@ + +
+ + +
diff --git a/vvp/app/main/modals/archive-engagement-modal/archive-engagement-modal.less b/vvp/app/main/modals/archive-engagement-modal/archive-engagement-modal.less new file mode 100644 index 00000000..da2f8503 --- /dev/null +++ b/vvp/app/main/modals/archive-engagement-modal/archive-engagement-modal.less @@ -0,0 +1,54 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.archive-engagement-modal { + padding: 0px 15px 0px 15px; + + .archive-engagement-title { + .a_24_m;; + } + + .archive-engagement-reason { + .m_16_r; + } + + .modal-body { + top: 10px; + } +} + diff --git a/vvp/app/main/modals/audit-log/audit-log.controller.js b/vvp/app/main/modals/audit-log/audit-log.controller.js new file mode 100644 index 00000000..84e7fbc6 --- /dev/null +++ b/vvp/app/main/modals/audit-log/audit-log.controller.js @@ -0,0 +1,95 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + 'use strict'; + + angular + .module('ice.modals') + .controller('AuditLogModalController', ['$rootScope', '$uibModalInstance', 'checklistService', 'wizardData', + 'toastService', '$log', AuditLogModalController]); + + function AuditLogModalController($rootScope, $uibModalInstance, checklistService, wizardData, toastService, $log) { + var vm = this; + + var init = function() + { + var arr = []; + var i; + var region = moment().tz( moment.tz.guess()).format('z'); + var dt = ""; + vm.name = wizardData.name; + vm.checklistAuditLogs = wizardData.checklistAuditLogs; + vm.checklistAuditLogs.forEach(function (cl) + { + dt = moment(cl.create_time).local().format('YYYY-MM-DD hh:mm:ss A') + " " + region; + arr.push({"name":cl.creator.full_name,"dt":dt,"desc":cl.description}); + }); + vm.checklistAuditLogs = arr; + } + + init(); + + vm.submitForm = function () + { + var jsonPost = {"description":vm.description}; + checklistService.createAuditlogChecklist(wizardData.uuid, jsonPost) + .then(function (response) { + if (response.status === 200) + { + $uibModalInstance.close(response.data); + vm.closeModal(); + } + else + { + toastService.setToast(response.error, 'danger', {displayFor: 'modal'}); + $rootScope.ice.loader.show = false; + } + }) + .catch(function (error) { + toastService.setToast(error.message, 'danger', {displayFor: 'modal'}); + $log.error(error.message); + }); + }; + + vm.closeModal = function(){ + toastService.clearToast(); + $uibModalInstance.close(); + }; + } +})(); diff --git a/vvp/app/main/modals/audit-log/audit-log.html b/vvp/app/main/modals/audit-log/audit-log.html new file mode 100644 index 00000000..a4ad06f7 --- /dev/null +++ b/vvp/app/main/modals/audit-log/audit-log.html @@ -0,0 +1,76 @@ + + + + + + diff --git a/vvp/app/main/modals/audit-log/audit-log.less b/vvp/app/main/modals/audit-log/audit-log.less new file mode 100644 index 00000000..7ba728e6 --- /dev/null +++ b/vvp/app/main/modals/audit-log/audit-log.less @@ -0,0 +1,49 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.auditlog { + + .audit-log-items { + border-bottom: 1px solid; + margin-bottom: 5px; + } + + .textarea-checklist-audit { + resize: none; + } +} diff --git a/vvp/app/main/modals/change-date/change-date.controller.js b/vvp/app/main/modals/change-date/change-date.controller.js new file mode 100644 index 00000000..35290c99 --- /dev/null +++ b/vvp/app/main/modals/change-date/change-date.controller.js @@ -0,0 +1,75 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular + .module('ice.modals') + .controller('ChangeDateModalController', ["$uibModalInstance", "completionDate", "engagementUuid", "vfService", "$rootScope", "toastService", changeDateModalController]); + + function changeDateModalController($uibModalInstance, completionDate, engagementUuid, vfService, $rootScope, toastService) { + + var vm = this; + //vm.completionDate = new Date(completionDate); + vm.completionDate = completionDate; + + vm.dateOptions = { + minDate: new Date(), + showWeeks: true + }; + + vm.closeModal = function(){ + $uibModalInstance.close(); + }; + + vm.submitForm = function(){ + var postData={"target_date": moment(vm.completionDate).format("YYYY-MM-DD")}; + vfService.updateDaysLeft(engagementUuid, postData) + .then(function (response) { + if (response.status === 200) { + $uibModalInstance.close(postData); + } + }) + .catch(function (error) { + toastService.setToast(error.status + ': Error changing completion date!', 'danger'); + }); + }; + } +})(); diff --git a/vvp/app/main/modals/change-date/change-date.html b/vvp/app/main/modals/change-date/change-date.html new file mode 100644 index 00000000..4d3e0b59 --- /dev/null +++ b/vvp/app/main/modals/change-date/change-date.html @@ -0,0 +1,62 @@ + +
+ + + +
diff --git a/vvp/app/main/modals/change-progress/change-progress.controller.js b/vvp/app/main/modals/change-progress/change-progress.controller.js new file mode 100644 index 00000000..e28b2528 --- /dev/null +++ b/vvp/app/main/modals/change-progress/change-progress.controller.js @@ -0,0 +1,71 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular + .module('ice.modals',[]) + .controller('ChangeProgressModalController', ["$uibModalInstance", "progress", "engagementUuid", "vfService", + "$log", "toastService", ChangeProgressModalController]); + + function ChangeProgressModalController($uibModalInstance, progress, engagementUuid, vfService, $log, toastService) { + + var vm = this; + vm.progress = progress; + + vm.closeModal = function(){ + $uibModalInstance.close(); + }; + + vm.submitForm = function(){ + var postData={"progress": vm.progress}; + vfService.updateProgress(engagementUuid, postData) + .then(function (response) { + if (response.status === 202) { + $uibModalInstance.close(postData); + } + }) + .catch(function (error) { + $log.error(error); + toastService.setToast(error.status + ': Error changing progress!', 'danger'); + }); + }; + } +})(); diff --git a/vvp/app/main/modals/change-progress/change-progress.html b/vvp/app/main/modals/change-progress/change-progress.html new file mode 100644 index 00000000..adfb7e7a --- /dev/null +++ b/vvp/app/main/modals/change-progress/change-progress.html @@ -0,0 +1,65 @@ + +
+ + + + +
diff --git a/vvp/app/main/modals/checklist/checklist.controller.js b/vvp/app/main/modals/checklist/checklist.controller.js new file mode 100644 index 00000000..4a20b53d --- /dev/null +++ b/vvp/app/main/modals/checklist/checklist.controller.js @@ -0,0 +1,238 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + 'use strict'; + + angular + .module('ice.modals') + .controller('ChecklistModalController', ['toastService', '$rootScope', '$uibModalInstance', 'checklistService', + 'engagementUuid', 'modal_type', 'wizardData', '$log', ChecklistModalController]); + + function ChecklistModalController(toastService, $rootScope, $uibModalInstance, checklistService, engagementUuid, + modal_type, wizardData, $log) { + var vm = this; + vm.checkListAssociatedFiles = []; + vm.selectedCheckListAssociatedFiles = []; + vm.isDisabled = false; + + var init = function() { + switch(modal_type) { + case 'create': + vm.create = true; + vm.createUpadeTitle = "Create"; + vm.modalType = 'create'; + vm.modalTitle = "Create"; + checklistService.getDataForCreateChecklist(engagementUuid) + .then(function (response) { + if (response.status === 200) { + vm.checkListTemplatesLists = []; + vm.checkListTemplates = response.data.checkListTemplates; + angular.forEach(response.data.checkListAssociatedFiles, function (value, key) { + vm.checkListAssociatedFiles.push({File: value}); + }); + $rootScope.ice.loader.show = false; + } + }) + .catch(function (error) { + toastService.setToast(error.message, 'danger', {displayFor: 'modal'}); + $rootScope.ice.loader.show = false; + $log.error(error.message); + }); + break; + case 'update': + vm.update = true; + vm.createUpadeTitle = "Update"; + vm.modalType = 'udpate'; + vm.modalTitle = "Update"; + vm.checklistUuid = wizardData.uuid; + vm.checkListName = wizardData.name; + checklistService.getDataForCreateChecklist(engagementUuid) + .then(function (response) { + if (response.status === 200) { + vm.checkListAssociatedFiles = [] + angular.forEach(response.data.checkListAssociatedFiles, function (value, key) { + vm.checkListAssociatedFiles.push({File: value}); + }); + $rootScope.ice.loader.show = false; + + vm.selectedCheckListAssociatedFiles =[] + + angular.forEach(wizardData.associatedFiles, function(val, key1) { + vm.selectedCheckListAssociatedFiles.push({File: val}); + }); + + } + }) + .catch(function (error) { + toastService.setToast(error.message, 'danger', {displayFor: 'modal'}); + $rootScope.ice.loader.show = false; + $log.error(error.message); + }); + vm.selectedTemplateUuid = wizardData.selectedTemplateUuid; + vm.selectedTemplateName = wizardData.selectedTemplateName; + + break; + } + } + init(); + + vm.addFile = function () + { + var newItemNo = vm.selectedCheckListAssociatedFiles.length + 1; + vm.selectedCheckListAssociatedFiles.push({'id': newItemNo}); + }; + + vm.removeFile = function (index) + { + vm.selectedCheckListAssociatedFiles.splice(index,1); + }; + + vm.closeModal = function(){ + toastService.clearToast(); + $rootScope.$emit('onChecklistUpdate'); + $uibModalInstance.close(vm.checkListName); + $uibModalInstance.close(); + }; + + + vm.submitForm = function () + { + vm.isDisabled = true; + var checklist_files = []; + switch(modal_type){ + case 'create': + angular.forEach(vm.selectedCheckListAssociatedFiles, function(val, key1) { + checklist_files.push(val.File); + }); + var jsonPost = { + "checkListAssociatedFiles": checklist_files, + "checkListName": vm.checkListName, + "checkListTemplateUuid" : vm.selectedTemplateUuid + }; + + checklistService.createChecklist(engagementUuid, jsonPost) + .then(function (response) { + if (response.status === 200) { + $uibModalInstance.close(response.data); + $rootScope.ice.loader.show = false; + vm.closeModal(); + } + }) + .catch(function (error) { + toastService.setToast(error.message || 'Error creating check list.', 'danger', {displayFor: 'modal'}); + $rootScope.ice.loader.show = false; + vm.isDisabled = false; + $log.error(error.message); + }); + break; + case 'update': + + var updated_file_list = []; + angular.forEach(vm.selectedCheckListAssociatedFiles, function(val, key1) { + updated_file_list.push(val.File); + }); + $log.debug("update", updated_file_list); + var jsonPut = { + "checklistUuid": vm.checklistUuid, + "checkListAssociatedFiles": updated_file_list, + "checkListName": vm.checkListName, + "checkListTemplateUuid" : vm.selectedTemplateUuid + }; + checklistService.putDataForChecklist(vm.checklistUuid, jsonPut) + .then(function (response) { + if (response.status === 200) { + $rootScope.$broadcast('onUpdateEngagements',{select:{uuid: engagementUuid, view_type : 'checklist', sub_id: vm.checklistUuid}}); + $rootScope.ice.loader.show = false; + + var response_data = {}; + response_data.checklist_name = vm.checkListName; + response_data.associated_files = updated_file_list; + var array1 = vm.checkListAssociatedFiles.sort(); + var array2 = updated_file_list.sort(); + + var is_same_files = (array1.length == array2.length) && array1.every(function(element, index) { + return element === array2[index]; + }); + // if file list changed reject checklist + if (!is_same_files && wizardData.state != 'pending') + { + var postData = {}; + postData["description"] = "Rejected due to file list change"; + postData["decline"] = "True"; + + checklistService.setState(vm.checklistUuid, postData) + .then(function (response) { + if (response.status === 200) { + $rootScope.$broadcast('onUpdateEngagements'); + } + else { + toastService.setToast(response.error, 'danger', {displayFor: 'modal'}); + $rootScope.ice.loader.show = false; + vm.isDisabled = false; + return; + } + }) + .catch(function (error) { + $log.error(error); + toastService.setToast(error.status + ': Error changing progress!', 'danger'); + vm.isDisabled = false; + return; + }); + } + + $uibModalInstance.close(response_data); + vm.closeModal(); + } + }) + .catch(function (error) { + toastService.setToast(error.message, 'danger', {displayFor: 'modal'}); + $rootScope.ice.loader.show = false; + $log.error(error.message); + vm.isDisabled = false; + + }); + break; + default: + $log.debug('no submit action found'); + vm.isDisabled = false; + break; + } + } + } +})(); diff --git a/vvp/app/main/modals/checklist/checklist.html b/vvp/app/main/modals/checklist/checklist.html new file mode 100644 index 00000000..d308c9d2 --- /dev/null +++ b/vvp/app/main/modals/checklist/checklist.html @@ -0,0 +1,107 @@ + + + + + + + diff --git a/vvp/app/main/modals/checklist/state-approve-or-reject/state-approve-or-reject.controller.js b/vvp/app/main/modals/checklist/state-approve-or-reject/state-approve-or-reject.controller.js new file mode 100644 index 00000000..160b57cc --- /dev/null +++ b/vvp/app/main/modals/checklist/state-approve-or-reject/state-approve-or-reject.controller.js @@ -0,0 +1,105 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. + +(function () { + 'use strict'; + + angular + .module('ice.modals') + .controller('stateDecisionModalController', ['$rootScope','$uibModalInstance', 'checklistService', + 'toastService', 'action', 'checklist', '$log', stateDecisionModalController]); + + function stateDecisionModalController($rootScope, $uibModalInstance, checklistService, toastService, action, + checklist, $log) { + + var vm = this; + + var init = function () { + vm.description = null; + vm.checklist_name = checklist.name; + vm.state = checklist.state; + vm.action = action; + vm.modalText = (vm.state == 'pending') ? "Are you sure you want to move the checklist state to Automation?": + "Please use the button below to either approve or reject the " + + "checklist.
You can also add a log entry comment."; + }; + + vm.submitForm = function(decision) { + var postData = {}; + if (vm.description != null) { + postData["description"] = vm.description; + } + else{ + postData["description"] = ''; + } + + if (decision === true) { + postData["decline"] = "False"; + } + else { + postData["decline"] = "True"; + } + + + + checklistService.setState(checklist.uuid, postData) + .then(function (response) { + if (response.status === 200) { + $uibModalInstance.close(response.data); + vm.closeModal(); + } + else { + toastService.setToast(response.error, 'danger'); + $rootScope.ice.loader.show = false; + } + }) + .catch(function (error) { + $log.error(error); + toastService.setToast(error.status + ': Error changing progress!', 'danger'); + }); + + }; + + vm.closeModal = function () { + $uibModalInstance.close(); + }; + + init(); + } +})(); diff --git a/vvp/app/main/modals/checklist/state-approve-or-reject/state-approve-or-reject.html b/vvp/app/main/modals/checklist/state-approve-or-reject/state-approve-or-reject.html new file mode 100644 index 00000000..4db81b1f --- /dev/null +++ b/vvp/app/main/modals/checklist/state-approve-or-reject/state-approve-or-reject.html @@ -0,0 +1,58 @@ + + +
+ +
+ +
+ +
+
+ Inserted text should not include any special chars such as: \%_*." +
+ +
diff --git a/vvp/app/main/modals/checklist/state-approve-or-reject/state-approve-or-reject.less b/vvp/app/main/modals/checklist/state-approve-or-reject/state-approve-or-reject.less new file mode 100644 index 00000000..08bf14e9 --- /dev/null +++ b/vvp/app/main/modals/checklist/state-approve-or-reject/state-approve-or-reject.less @@ -0,0 +1,173 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.modal-open .modal { + z-index: 30000 !important; +} + +#approve-or-reject-state { + + .modal-title { + .a_22_m; + } + + .decision-modal-body { + margin-bottom: 8px; + margin-top: 10px; + } + + .decision-comment { + .m_14_r;; + } + + .modal_buttons { + .custom-button { + position: relative; + width: 30%; + float: left; + display: inline-block; + } + .custom-space { + position: relative; + width: 5%; + float: left; + min-height: 1px; + } + } + + .state-title .bold { + .m_18_m; + } + .state-title { + .m_18_r; + } + .state-title-border { + border-bottom: dashed 1px; + border-color: @main_color_q; + margin-left: 0px; + } + + .comment-textarea { + resize: vertical; + } + + .btn-gradient-success { + font-weight: bold; + color: #FFFFFF; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #41A02C; + *background-color: #41A02C; + background-image: -moz-linear-gradient(top, #A2E652, #41A02C); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#A2E652), to(#41A02C)); + background-image: -webkit-linear-gradient(top, #A2E652, #41A02C); + background-image: -o-linear-gradient(top, #A2E652, #41A02C); + background-image: linear-gradient(to bottom, #A2E652, #41A02C); + background-repeat: repeat-x; + border-color: #41A02C; + border-color: #888; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#A2E652', endColorstr='#41A02C', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + } + .btn-sample:hover, + .btn-sample:focus, + .btn-sample:active, + .btn-sample.active, + .btn-sample.disabled, + .btn-sample[disabled] { + color: #FFFFFF; + background-color: #41A02C; + *background-color: #003bb3; + } + + .btn-gradient-danger { + font-weight: bold; + color: #FFFFFF; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #AE0020; + *background-color: #AE0020; + background-image: -moz-linear-gradient(top, #F74658, #AE0020); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#F74658), to(#AE0020)); + background-image: -webkit-linear-gradient(top, #F74658, #AE0020); + background-image: -o-linear-gradient(top, #F74658, #AE0020); + background-image: linear-gradient(to bottom, #F74658, #AE0020); + background-repeat: repeat-x; + border-color: #AE0020; + border-color: #888; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#F74658', endColorstr='#AE0020', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + } + .btn-sample:hover, + .btn-sample:focus, + .btn-sample:active, + .btn-sample.active, + .btn-sample.disabled, + .btn-sample[disabled] { + color: #FFFFFF; + background-color: #AE0020; + *background-color: #003bb3; + } + + .btn-gradient-default { + font-weight: bold; + color: #B3B3B3; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #D0D0D0; + *background-color: #D0D0D0; + background-image: -moz-linear-gradient(top, #FCFCFC, #D0D0D0); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#FCFCFC), to(#D0D0D0)); + background-image: -webkit-linear-gradient(top, #FCFCFC, #D0D0D0); + background-image: -o-linear-gradient(top, #FCFCFC, #D0D0D0); + background-image: linear-gradient(to bottom, #FCFCFC, #D0D0D0); + background-repeat: repeat-x; + border-color: #D0D0D0; + border-color: #888; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FCFCFC', endColorstr='#D0D0D0', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + } + .btn-sample:hover, + .btn-sample:focus, + .btn-sample:active, + .btn-sample.active, + .btn-sample.disabled, + .btn-sample[disabled] { + color: #FFFFFF; + background-color: #D0D0D0; + *background-color: #003bb3; + } + +} diff --git a/vvp/app/main/modals/cms-post-modal/cms-post-modal.controller.js b/vvp/app/main/modals/cms-post-modal/cms-post-modal.controller.js new file mode 100644 index 00000000..09773283 --- /dev/null +++ b/vvp/app/main/modals/cms-post-modal/cms-post-modal.controller.js @@ -0,0 +1,92 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + 'use strict'; + + angular + .module('ice.modals') + .controller('cmsPostModalController', ['$uibModalInstance', 'cmsService','post', '$log', cmsPostModalController]); + + function cmsPostModalController($uibModalInstance, cmsService, post, $log) { + + var vm = this; + var init = function () { + if(post) { + vm.post = post; + } else { + cmsService.getLastAnnouncementPost() + .then(function(response) { + if(response && response.data && response.data.length === 1) { + vm.post = response.data[0]; + } + }) + .catch(function(error) { + $log.error(error); + }); + } + + loadRecentPosts(); + }; + + vm.closeModal = function (bool) { + $uibModalInstance.close(bool); + }; + + vm.loadSelectedPostData = function(post) { + if(post) { + vm.post = post; + } + }; + + function loadRecentPosts() { + var limit = 5; + var fromLastDays = ""; + + cmsService.getPosts(limit, fromLastDays, ['Announcement', 'News']) + .then(function(response) { + vm.recentPosts = response.data; + }) + .catch(function(error) { + $log.error(error); + }); + } + + init(); + } +})(); diff --git a/vvp/app/main/modals/cms-post-modal/cms-post-modal.html b/vvp/app/main/modals/cms-post-modal/cms-post-modal.html new file mode 100644 index 00000000..cd51c5e3 --- /dev/null +++ b/vvp/app/main/modals/cms-post-modal/cms-post-modal.html @@ -0,0 +1,55 @@ + +
+ + +
+
+ Most recent news & announcements +
    +
  • + {{post.title}}Posted at {{post.publish_date | date2: 'EEEE MMMM doo yyyy'}} by {{post.user.username}} +
  • +
+
+
diff --git a/vvp/app/main/modals/cms-post-modal/cms-post-modal.less b/vvp/app/main/modals/cms-post-modal/cms-post-modal.less new file mode 100644 index 00000000..832ef012 --- /dev/null +++ b/vvp/app/main/modals/cms-post-modal/cms-post-modal.less @@ -0,0 +1,106 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.toast-read-more-container { + padding: 0 20px; + word-wrap: break-word; + + .recent-cms-posts-container { + .line-separator { + border-bottom: solid 1px @main_color_m; + margin: 20px 0; + } + + .recent-cms-posts-title { + .a_16_m; + + } + + ul.recent-cms-posts { + margin-top: 3px; + + li { + .f-type._16_m; + list-style: none; + position: relative; + line-height: 28px; + cursor: pointer; + + .post-creation { + .f-type._12_r; + } + + &:before { + content: ''; + display: inline-block; + position: absolute; + top: 0; + } + } + + li.selected { + background-color: @func_color_r; + } + } + } +} + +.toast-read-more-title { + .a_26_m; + line-height: 26px; +} + +.toast-read-more-creation { + display: block; +} + +.toast-read-more-content { + .m_18_r; + line-height: 20px; + padding: 10px 20px 0; +} + +.modal-cms-post-read-more { + width: 70%; + margin: 0px auto; + height: 100%; + + .modal-content { + height: 100%; + } +} diff --git a/vvp/app/main/modals/detailed-view/dtsite/detailed-view-dtsites-modal.controller.js b/vvp/app/main/modals/detailed-view/dtsite/detailed-view-dtsites-modal.controller.js new file mode 100644 index 00000000..e14a9f88 --- /dev/null +++ b/vvp/app/main/modals/detailed-view/dtsite/detailed-view-dtsites-modal.controller.js @@ -0,0 +1,100 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + 'use strict'; + + angular + .module('ice.modals') + .controller('detailedViewDtsitesModalController', ["$rootScope", "$uibModalInstance", "$stateParams", + "dtsiteService", "toastService", "vf_uuid", "$log", detailedViewDtsitesModalController]); + + function detailedViewDtsitesModalController($rootScope, $uibModalInstance, $stateParams, dtsiteService, toastService, + vf_uuid, $log) { + + var vm = this; + + var init = function () { + if($stateParams.engagement != undefined) { + vm.vf = $stateParams.engagement.vf; + } + getDTsites(); + + }; + + vm.closeModal = function(){ + $uibModalInstance.close(); + }; + + vm.json = ''; + + vm.submitForm = function(){ + var postData={ + "name": vm.json, + "vf_uuid": vf_uuid + }; + + dtsiteService.add(postData) + .then(function (response) { + $uibModalInstance.close(response.status); + }) + .catch(function (error) { + $log.error(error); + toastService.setToast(error.status + ': Error changing progress!', 'danger'); + }); + }; + + var getDTsites = function() { + $rootScope.ice.loader.show = true; + dtsiteService.get() + .then(function (response) { + $rootScope.ice.loader.show = false; + if (response.status === 200) { + vm.dtsites = response.data; + } + }) + .catch(function (error) { + $rootScope.ice.loader.show = false; + $log.error(error); + }); + }; + + init(); + } + +})(); diff --git a/vvp/app/main/modals/detailed-view/dtsite/detailed-view-dtsites-modal.html b/vvp/app/main/modals/detailed-view/dtsite/detailed-view-dtsites-modal.html new file mode 100644 index 00000000..901cd624 --- /dev/null +++ b/vvp/app/main/modals/detailed-view/dtsite/detailed-view-dtsites-modal.html @@ -0,0 +1,62 @@ + +
+ + + + + +
diff --git a/vvp/app/main/modals/detailed-view/vfc/detailed-view-vfc-modal.controller.js b/vvp/app/main/modals/detailed-view/vfc/detailed-view-vfc-modal.controller.js new file mode 100644 index 00000000..983d8d99 --- /dev/null +++ b/vvp/app/main/modals/detailed-view/vfc/detailed-view-vfc-modal.controller.js @@ -0,0 +1,124 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + + 'use strict'; + + angular + .module('ice.modals') + .controller('detailedViewVFCModalController', ["$rootScope", "$uibModalInstance", "vfcService", "toastService", + "vf_uuid", "usersService", "$log", detailedViewVFCModalController]); + + function detailedViewVFCModalController($rootScope, $uibModalInstance, vfcService, toastService, vf_uuid, usersService, $log) { + + var vm = this; + + var init = function () { + vm.me = usersService.getUserData(); + + getVendors() + }; + + vm.vfcs = [{name:'',external_ref_id:'',company:''}]; + vm.companies = []; + + vm.closeModal = function(){ + $uibModalInstance.close(); + }; + + vm.addNewChoice = function () { + var newItemNo = vm.vfcs.length + 1; + vm.vfcs.push({'id': newItemNo}); + }; + + vm.removeChoice = function (index) { + vm.vfcs.splice(index,1); + }; + + vm.submitForm = function(){ + var jsonAddVfc = []; + angular.forEach(vm.vfcs, function (value, key) { + vm.item = []; + var jsonItem = new Object(); + jsonItem.name = value.name; + jsonItem.external_ref_id = value.external_ref_id; + jsonItem.company = value.company; + jsonAddVfc.push(jsonItem); + }); + + var postData={ + "vfcs": jsonAddVfc, + "vf_uuid": vf_uuid, + "creator": vm.me, + }; + + vfcService.add(postData) + .then(function (response) { + if (response.status === 200) { + $uibModalInstance.close(response.status); + } + }) + .catch(function (error) { + $log.error(error); + toastService.setToast(error.status + ': Error changing progress!', 'danger'); + }); + }; + + var getVendors = function() { + $rootScope.ice.loader.show = true; + vfcService.getCompanies() + .then(function (response) { + $rootScope.ice.loader.show = false; + if (response.status === 200) { + vm.companies = response.data; + if(vm.companies.length === 0 ){ + console.warn("No vendors pulled, request was successfull") + } + } + }) + .catch(function (error) { + $rootScope.ice.loader.show = false; + $log.error(error); + }); + }; + + init(); + } +})(); diff --git a/vvp/app/main/modals/detailed-view/vfc/detailed-view-vfc-modal.html b/vvp/app/main/modals/detailed-view/vfc/detailed-view-vfc-modal.html new file mode 100644 index 00000000..7ac2097f --- /dev/null +++ b/vvp/app/main/modals/detailed-view/vfc/detailed-view-vfc-modal.html @@ -0,0 +1,100 @@ + + + + + diff --git a/vvp/app/main/modals/detailed-view/vfc/detailed-view-vfc-modal.less b/vvp/app/main/modals/detailed-view/vfc/detailed-view-vfc-modal.less new file mode 100644 index 00000000..5ce9098d --- /dev/null +++ b/vvp/app/main/modals/detailed-view/vfc/detailed-view-vfc-modal.less @@ -0,0 +1,68 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.vfc-remove-button { + width: 20px; + height: 40px; + float: right; + .a_16_m; + cursor: pointer; + margin: 14px 0 0 0; + + .remove-icon { + .sprite; + .sprite.delete-circle; + cursor: pointer; + display: block; + } +} + +.modal-add-vfc { + margin-top: 8px; + display: block; + .add-text { + .a_16_m; + vertical-align: top; + margin-left: 6px; + } + .add-icon { + .sprite; + .sprite.add; + display: inline-block; + } +} diff --git a/vvp/app/main/modals/feedback/feedback.controller.js b/vvp/app/main/modals/feedback/feedback.controller.js new file mode 100644 index 00000000..acee617b --- /dev/null +++ b/vvp/app/main/modals/feedback/feedback.controller.js @@ -0,0 +1,82 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + 'use strict'; + + angular + .module('ice.modals') + .controller('FeedbackModalController', ['$rootScope','$uibModalInstance', 'feedbackService', + 'action', 'toastService', '$log', FeedbackModalController]); + + function FeedbackModalController($rootScope, $uibModalInstance, feedbackService, action, toastService, $log) { + var vm = this; + + var init = function() { + vm.action = action; + vm.feedback_modal_description = ''; + }; + + init(); + + vm.submitForm = function () + { + var feedbackPostData = {"description":vm.feedback_modal_description}; + if (action == 'add') { + feedbackService.add(feedbackPostData) + .then(function (response) { + if (response.status === 200) { + $uibModalInstance.close(response.data); + toastService.setToast('Feedback was sent successfully.', 'success'); + } else { + toastService.setToast(response.error, 'danger'); + $rootScope.ice.loader.show = false; + } + }) + .catch(function (error) { + toastService.setToast(error.message, 'danger'); + $log.error(error.message); + }); + } + }; + + vm.closeModal = function(){ + $uibModalInstance.close(); + }; + } +})(); diff --git a/vvp/app/main/modals/feedback/feedback.html b/vvp/app/main/modals/feedback/feedback.html new file mode 100644 index 00000000..88912c84 --- /dev/null +++ b/vvp/app/main/modals/feedback/feedback.html @@ -0,0 +1,57 @@ + + + + + diff --git a/vvp/app/main/modals/feedback/feedback.less b/vvp/app/main/modals/feedback/feedback.less new file mode 100644 index 00000000..5d7fd8b3 --- /dev/null +++ b/vvp/app/main/modals/feedback/feedback.less @@ -0,0 +1,44 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.feedback-modal-body { + .feedback-modal-description { + border-color: @main_color_q; + margin-bottom:15px; + } +} diff --git a/vvp/app/main/modals/general-log-modal/general-log-modal.controller.js b/vvp/app/main/modals/general-log-modal/general-log-modal.controller.js new file mode 100644 index 00000000..98fb2c14 --- /dev/null +++ b/vvp/app/main/modals/general-log-modal/general-log-modal.controller.js @@ -0,0 +1,63 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + 'use strict'; + + angular + .module('ice.modals') + .controller('GeneralLogModalController', ['$uibModalInstance', 'modalDetails', GeneralLogModalController]); + + function GeneralLogModalController($uibModalInstance, modalDetails) { + + var vm = this; + + var init = function() { + if(modalDetails) { + vm.headline = modalDetails.headline || 'General log modal'; + vm.body = modalDetails.body || 'There is no body'; + } + }; + + init(); + + vm.closeModal = function(){ + $uibModalInstance.close(); + }; + } +})(); diff --git a/vvp/app/main/modals/general-log-modal/general-log-modal.html b/vvp/app/main/modals/general-log-modal/general-log-modal.html new file mode 100644 index 00000000..f87a8ac7 --- /dev/null +++ b/vvp/app/main/modals/general-log-modal/general-log-modal.html @@ -0,0 +1,45 @@ + +
+ + +
diff --git a/vvp/app/main/modals/general-log-modal/general-log-modal.less b/vvp/app/main/modals/general-log-modal/general-log-modal.less new file mode 100644 index 00000000..e48ed525 --- /dev/null +++ b/vvp/app/main/modals/general-log-modal/general-log-modal.less @@ -0,0 +1,72 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. + + +.general-log-containter { + height: inherit; + padding: 0 20px 30px; + word-wrap: break-word; + + .general-log-subtitle { + padding-bottom: 10px; + } + + .general-log-body { + height: inherit; + overflow:scroll; + padding: 0px 20px 0; + .m_18_r; + line-height: 20px; + } +} + +.general-log-modal-title { + .a_26_m; + line-height: 26px; +} + +.modal-general-log-modal { + width: 70%; + margin: 0px auto; + height: 100%; + + .modal-content { + height: 100%; + } +} diff --git a/vvp/app/main/modals/general-prompt-modal/general-prompt-modal.controller.js b/vvp/app/main/modals/general-prompt-modal/general-prompt-modal.controller.js new file mode 100644 index 00000000..f887a5ee --- /dev/null +++ b/vvp/app/main/modals/general-prompt-modal/general-prompt-modal.controller.js @@ -0,0 +1,74 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. + +(function () { + 'use strict'; + + angular + .module('ice.modals') + .controller('generalPromptModalController', ['$uibModalInstance','modalDetails',generalPromptModalController]); + + function generalPromptModalController($uibModalInstance, modalDetails) { + + var vm = this; + var init = function () { + if(modalDetails) { + vm.upper_headline = modalDetails.upper_headline; + vm.upper_headline_value = modalDetails.upper_headline_value; + vm.headline = modalDetails.headline || 'D2ICE'; + vm.message = modalDetails.message || 'Are you sure?'; + vm.closeCallback = modalDetails.closeCallback; + vm.approveText = modalDetails.approve || 'Approve'; + vm.cancelText = modalDetails.cancel || 'Cancel'; + vm.is_close_modal_button = modalDetails.is_close_modal_button; + vm.is_message = modalDetails.is_message; + } + }; + + vm.closeModal = function (bool) { + if(vm.closeCallback) { + vm.closeCallback(bool); + } + + $uibModalInstance.close(bool); + }; + + init(); + } +})(); diff --git a/vvp/app/main/modals/general-prompt-modal/general-prompt-modal.html b/vvp/app/main/modals/general-prompt-modal/general-prompt-modal.html new file mode 100644 index 00000000..3bd31887 --- /dev/null +++ b/vvp/app/main/modals/general-prompt-modal/general-prompt-modal.html @@ -0,0 +1,52 @@ + + + diff --git a/vvp/app/main/modals/general-prompt-modal/general-prompt-modal.less b/vvp/app/main/modals/general-prompt-modal/general-prompt-modal.less new file mode 100644 index 00000000..d367cdaa --- /dev/null +++ b/vvp/app/main/modals/general-prompt-modal/general-prompt-modal.less @@ -0,0 +1,151 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.general-prompt-text-details { + .l_14_r; + padding: 3% 0% 3% 0%; +} + +.general-prompt-upper-headline { + .l_14_m; +} +.general-prompt-upper-dash { + border-bottom: dashed 1px #5a5a5a; + margin-bottom: 15px; +} +.upper-headline-value{ + .l_14_i; +} + +.general-prompt-body{ + margin: 0px; +} + +.general-prompt-title { + .m_18_r; + + .bold { + .a_18_m; + } + +} + + +.btn-gradient-success { + font-weight: bold; + color: #FFFFFF; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #41A02C; + *background-color: #41A02C; + background-image: -moz-linear-gradient(top, #A2E652, #41A02C); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#A2E652), to(#41A02C)); + background-image: -webkit-linear-gradient(top, #A2E652, #41A02C); + background-image: -o-linear-gradient(top, #A2E652, #41A02C); + background-image: linear-gradient(to bottom, #A2E652, #41A02C); + background-repeat: repeat-x; + border-color: #41A02C; + border-color: #888; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#A2E652', endColorstr='#41A02C', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} +.btn-sample:hover, +.btn-sample:focus, +.btn-sample:active, +.btn-sample.active, +.btn-sample.disabled, +.btn-sample[disabled] { + color: #FFFFFF; + background-color: #41A02C; + *background-color: #003bb3; +} + +.btn-gradient-danger { + font-weight: bold; + color: #FFFFFF; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #AE0020; + *background-color: #AE0020; + background-image: -moz-linear-gradient(top, #F74658, #AE0020); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#F74658), to(#AE0020)); + background-image: -webkit-linear-gradient(top, #F74658, #AE0020); + background-image: -o-linear-gradient(top, #F74658, #AE0020); + background-image: linear-gradient(to bottom, #F74658, #AE0020); + background-repeat: repeat-x; + border-color: #AE0020; + border-color: #888; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#F74658', endColorstr='#AE0020', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} +.btn-sample:hover, +.btn-sample:focus, +.btn-sample:active, +.btn-sample.active, +.btn-sample.disabled, +.btn-sample[disabled] { + color: #FFFFFF; + background-color: #AE0020; + *background-color: #003bb3; +} + +.btn-gradient-default { + font-weight: bold; + color: #B3B3B3; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #D0D0D0; + *background-color: #D0D0D0; + background-image: -moz-linear-gradient(top, #FCFCFC, #D0D0D0); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#FCFCFC), to(#D0D0D0)); + background-image: -webkit-linear-gradient(top, #FCFCFC, #D0D0D0); + background-image: -o-linear-gradient(top, #FCFCFC, #D0D0D0); + background-image: linear-gradient(to bottom, #FCFCFC, #D0D0D0); + background-repeat: repeat-x; + border-color: #D0D0D0; + border-color: #888; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FCFCFC', endColorstr='#D0D0D0', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} +.btn-sample:hover, +.btn-sample:focus, +.btn-sample:active, +.btn-sample.active, +.btn-sample.disabled, +.btn-sample[disabled] { + color: #FFFFFF; + background-color: #D0D0D0; + *background-color: #003bb3; +} diff --git a/vvp/app/main/modals/next-steps/next-steps.controller.js b/vvp/app/main/modals/next-steps/next-steps.controller.js new file mode 100644 index 00000000..b90921ff --- /dev/null +++ b/vvp/app/main/modals/next-steps/next-steps.controller.js @@ -0,0 +1,278 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + 'use strict'; + + angular + .module('ice.modals') + .controller('NextStepsModalController', ['$rootScope', '$uibModalInstance', 'stepsService', 'engagement_team', + 'title', 'associated_files', 'engagement_uuid', 'checklist', 'nextstep', 'toastService', '$log', NextStepsModalController]); + + function NextStepsModalController($rootScope, $uibModalInstance, stepsService, engagement_team, title, + associated_files, engagement_uuid, checklist, nextstep, toastService, $log) { + + var vm = this; + vm.nextSteps = [{assigneesUuids: '',description: '', files: '', duedate: ''}]; + + var init = function() { + + vm.myDate = new Date(); + vm.minDate = new Date( + vm.myDate.getFullYear(), + vm.myDate.getMonth(), + vm.myDate.getDate()); + vm.maxDate = new Date( + vm.myDate.getFullYear() + 2, + vm.myDate.getMonth(), + vm.myDate.getDate()); + vm.onlyWeekendsPredicate = function (date) { + var day = date.getDay(); + return day === 0 || day === 6; + }; + + vm.wysiwyg_menu = [ + ['bold', 'italic', 'strikethrough', 'underline'], + ['unordered-list', 'ordered-list', 'outdent', 'indent'] + ]; + vm.select_str = {File: 'Select All'}; + vm.select_all_flag = false; + vm.associated_files = []; + vm.associated_files.push( vm.select_str); + vm.assigness = []; + vm.title = title; + if (checklist == undefined) + { + vm.checklist = {}; + vm.checklist.uuid = undefined; + } else { + vm.checklist = checklist; + } + + var unique_files = []; + angular.forEach(associated_files, function (value, key) { + if (unique_files.indexOf(value) == -1) { + unique_files.push(value); + vm.associated_files.push({File: value}); + } + }); + angular.forEach(engagement_team, function (value, key) { + vm.assigness.push({name: value.full_name, id: value.uuid}); + }); + vm.edit = false; + + if (nextstep != undefined) + { + vm.edit = true; + var current = {}; + current.description = nextstep.description; + current.files = []; + current.duedate = new Date(nextstep.due_date); + var unique_files = []; + angular.forEach(nextstep.files, function(val, key1) { + if (unique_files.indexOf(value) == -1) { + unique_files.push(value); + current.files.push({File: val}); + } + }); + + current.assigneesUuids = []; + angular.forEach(nextstep.assignees, function(val, key1) { + current.assigneesUuids.push({name : val.full_name, id :val.uuid}); + + }); + vm.nextSteps = [current]; + } + }; + + init(); + + vm.get_chosen_files_num = function(ns){ + if (ns.files.length == associated_files.length+1) { + return ns.files.length - 1; + } + return ns.files.length + } + + vm.add_all_associated_files = function (ns , choose_option){ + if (choose_option == true) { + ns.files = []; + ns.files.push({File: 'Select All'}); + _.forEach(associated_files, function (value, key) { + ns.files.push({File: value}); + }); + } + else { + vm.select_all_flag = false; + ns.files = []; + } + return; + } + + vm.pull_select_all_from_list = function(ns){ + var shortened_files_list = []; + _.forEach(ns.files, function(item) { + if (!_.isEqual(item, vm.select_str)) { + shortened_files_list.push(item); + } + }); + ns.files = shortened_files_list; + } + + vm.verify_files_choice = function(ns){ + _.forEach(ns.files, function(item) { + if (ns.files.length == associated_files.length && vm.select_all_flag) { + if (item === vm.select_str) { + vm.select_all_flag = false; + vm.pull_select_all_from_list(ns); + } + else { + vm.add_all_associated_files(ns, false) + } + } + else if (ns.files.length == associated_files.length && !vm.select_all_flag) { + ns.files.push({File: 'Select All'}); + vm.select_all_flag = true; + } + else if (item === vm.select_str) { + vm.select_all_flag = true; + vm.add_all_associated_files(ns, true) + } + }) + } + + vm.addNewStep = function () { + var newItemNo = vm.nextSteps.length + 1; + vm.nextSteps.push({'id': newItemNo}); + }; + + vm.removeStep = function (index) { + vm.nextSteps.splice(index,1); + }; + + vm.closeModal = function(){ + $rootScope.ice.loader.show = false; + toastService.clearToast(); + $uibModalInstance.close(); + }; + + vm.submitForm = function () { + + var jsonNextSteps = []; + + var objDate; + var strDate; + angular.forEach(vm.nextSteps, function(value, key) { + var next_step = {}; + next_step.files = []; + if (value.files.length > associated_files.length) { + vm.pull_select_all_from_list(value); + } + angular.forEach(value.files, function(val, key1) { + next_step.files.push(val.File); + }); + next_step.assigneesUuids = []; + angular.forEach(value.assigneesUuids, function(val, key1) { + next_step.assigneesUuids.push(val.id); + }); + + // TODO exho correct format in one command + objDate = new Date(Date.parse((value.duedate) + moment().format("z"))); + next_step.duedate = objDate.getFullYear() + "-" + addZero(objDate.getMonth()+1) + "-" + addZero(objDate.getDate()); + next_step.description = value.description; + jsonNextSteps.push(next_step); + }); + var checklist_uuid = vm.checklist.uuid; + var engUuid = engagement_uuid; + if (vm.edit){ + stepsService.edit(engagement_uuid, nextstep.uuid,jsonNextSteps[0]) + .then(function (response) { + if (response.status === 202) { + $uibModalInstance.close(response.data); + } + }) + .catch(function (error) { + $log.error(error); + toastService.setToast(error.status + ': Error adding next step!', 'danger', {displayFor: 'modal'}); + }); + } else if (vm.checklist.uuid == undefined) { + + stepsService.add(engagement_uuid, jsonNextSteps) + .then(function (response) { + if (response.status === 200) { + $uibModalInstance.close(response.data); + } + }) + .catch(function (error) { + $log.error(error); + toastService.setToast(error.status + ': Error adding next step!', 'danger', {displayFor: 'modal'}); + }); + } else { + stepsService.createChecklistNextStep(checklist_uuid, engUuid, jsonNextSteps) + .then(function (response) { + if (response.status === 200) { + $uibModalInstance.close(response.status); + vm.closeModal(); + } + else + { + toastService.setToast(error.message, 'danger', {displayFor: 'modal'}); + $rootScope.ice.loader.show = false; + $log.error(error); + } + }) + .catch(function (error) { + toastService.setToast(error.message, 'danger', {displayFor: 'modal'}); + $rootScope.ice.loader.show = false; + $log.error(error); + }); + } + }; + + var addZero = function(x) + { + if (x<10) + { + return("0"+x); + } else + { + return(x); + } + } + } +})(); diff --git a/vvp/app/main/modals/next-steps/next-steps.html b/vvp/app/main/modals/next-steps/next-steps.html new file mode 100644 index 00000000..588247e8 --- /dev/null +++ b/vvp/app/main/modals/next-steps/next-steps.html @@ -0,0 +1,138 @@ + + + + diff --git a/vvp/app/main/modals/next-steps/next-steps.less b/vvp/app/main/modals/next-steps/next-steps.less new file mode 100644 index 00000000..faf3eb9e --- /dev/null +++ b/vvp/app/main/modals/next-steps/next-steps.less @@ -0,0 +1,307 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.md-datepicker-calendar-pane { + z-index:30001; +} +md-datepicker.btn { + width:100%; + padding: 0px; + position: relative; + + .md-button.md-icon-button.md-datepicker-button { + float:left; + min-height: 0px; + height: 32px; + z-index: 2; + width: 100%; + padding: 0px; + margin: 0px; + md-icon { + display:none; + } + } + + .md-datepicker-input-container{ + + line-height: 28px; + border-bottom:none; + margin-left: 0px; + position: absolute; + left: 0px; + padding-left: 0px; + width: 100% + } + + .md-datepicker-input { + width: 100%; + text-align: left; + line-height: 32px; + padding-left: 10px; + margin: 0px; + } + .md-datepicker-input::-webkit-input-placeholder { + color: #555; + } + .md-datepicker-triangle-button { + top: 7px; + } + .md-datepicker-triangle-button .md-datepicker-expand-triangle { + border-left: 4px solid transparent; + border-right: 4px solid transparent; + border-top: 4px solid transparent; + border-bottom: 4px solid transparent; + } + + .md-datepicker-triangle-button .md-datepicker-expand-triangle:before { + position: absolute; + top: -13px; + left: -3px; + display: inline-block; + border-left: 3.8px solid transparent; + border-right: 3.8px solid transparent; + border-top: 7px solid transparent; + border-bottom: 5.9px solid #555555; + content: ''; + } + + .md-datepicker-triangle-button .md-datepicker-expand-triangle:after { + position: absolute; + top: 1px; + left: -3px; + display: inline-block; + border-left: 3.8px solid transparent; + border-right: 3.8px solid transparent; + border-top: 5.9px solid #555555; + border-bottom: 7px solid transparent; + content: ''; + } + +} + +.dropdown-menu li[data-ng-if="modelValue().length > 0"] { + display:none; +} +.next-steps +{ + md-datepicker .md-datepicker-input { + text-align: center; + } + +} + +.next-steps { + + .checklist-name + { + padding-left:0px; + border-bottom:1px dashed; + } + + .addNextSteps + { + + margin-bottom:10px;margin-top:10px; + } + + .repeaterNextStep + { + + margin-bottom:10px; + padding-left:10px; + padding-right:10px; + padding-left:10px; + padding-top:10px; + padding-bottom:10px; + border:1px solid; + border-color:#CCCCCC; + } + + .padTop4 + { + padding-top:4px; + } + + .padTop10 + { + padding-top:10px; + } + + .padLeft0 + { + padding-left:0px; + } + + .add-header + { + .a_16_m; + } + + .ice-wysiwyg { + height: 200px; + .wysiwyg-menu > div { + background-color: #f1f1f1; + padding: 2px; + } + } + + .font-deco { + text-decoration-line: underline; + text-decoration-style: dashed; + } + + .text-right + { + text-align:right; + } + + .font_header + { + margin_top:0px; + .m_18_m; + } + + .font_header_add_next + { + .a_24_m; + } + + .font_header_chk_name + { + .m_18_r; + } + + .margin_btm + { + margin-bottom:12px; + } + + .ms + { + background-color:yellow; + } + + multiselect > .btn-group + { + width:100%; + } + multiselect > .btn-group > .btn + { + width:100%; + } + multiselect > .btn-group > .dropdown-menu + { + width:100%; + } + + form > .lineColor + { + background-color:#F6F3F3; + } + + .add-icon { + .sprite; + .sprite.add; + display: inline-block; + } + + .add-button { + margin-top: 8px; + display: block; + .add-text { + .a_16_m; + vertical-align: top; + margin-left: 6px; + } + } + + .remove-icon { + cursor: pointer; + vertical-align: text-top; + //.sprite; + //.sprite.delete;//-circle; + .actions-sprite; + .actions-sprite.delete_large; + + display:block; + position:relative; + top:11px; + } + + .posRelative + { + position:relative; + } + + .posAbsDelBtn + { + position:absolute; + top:10px; + right:20px; + z-index:40000; + } + + #btn-submit { + width: 100%; + } + + .btn-primary { + border: 1px solid #8799A3; + border-radius: 6px; + background: #1E79B0; /* For browsers that do not support gradients */ + background: -webkit-linear-gradient(#1E79B0, #62ADD5); /* For Safari 5.1 to 6.0 */ + background: -o-linear-gradient(#1E79B0, #62ADD5); /* For Opera 11.1 to 12.0 */ + background: -moz-linear-gradient(#1E79B0, #62ADD5); /* For Firefox 3.6 to 15 */ + background: linear-gradient(#1E79B0, #62ADD5); /* Standard syntax (must be last) */ + } + + + + .datepickerdemoBasicUsage { + /** Demo styles for mdCalendar. */ } + .datepickerdemoBasicUsage md-content { + padding-bottom: 200px; } + .datepickerdemoBasicUsage .validation-messages { + font-size: 12px; + color: #dd2c00; + margin-left: 15px; } + + + + +} diff --git a/vvp/app/main/modals/select-el-modal/select-el-modal.controller.js b/vvp/app/main/modals/select-el-modal/select-el-modal.controller.js new file mode 100644 index 00000000..9b73e706 --- /dev/null +++ b/vvp/app/main/modals/select-el-modal/select-el-modal.controller.js @@ -0,0 +1,78 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. + +(function () { + 'use strict'; + + angular + .module('ice.modals') + .controller('selectELModalController', ['$uibModalInstance', 'excludeUuids', 'selectedOption', 'usersService', + '_', '$log', selectELModalController]); + + function selectELModalController($uibModalInstance, excludeUuids, selectedOption, usersService, _, $log) { + var vm = this; + vm.show_warning = false; + var init = function () { + usersService.getEngagementLeads() + .then(function(response) { + vm.engagementLeads = _.filter(response.data, function(el) { + return el.uuid; + }); + + vm.selectedUserUuid = _.find(vm.engagementLeads, ['uuid', selectedOption]); + }) + .catch(function(error) { + $log.error(error); + vm.closeModal(); + }); + }; + + vm.closeModal = function () { + $uibModalInstance.dismiss(); + }; + + vm.onUserSelect = function() { + if(vm.selectedUserUuid) { + $uibModalInstance.close(vm.selectedUserUuid); + } + }; + + init(); + } +})(); diff --git a/vvp/app/main/modals/select-el-modal/select-el-modal.html b/vvp/app/main/modals/select-el-modal/select-el-modal.html new file mode 100644 index 00000000..fa285a6d --- /dev/null +++ b/vvp/app/main/modals/select-el-modal/select-el-modal.html @@ -0,0 +1,56 @@ + +
+ + +
diff --git a/vvp/app/main/modals/select-el-modal/select-el-modal.less b/vvp/app/main/modals/select-el-modal/select-el-modal.less new file mode 100644 index 00000000..6371cf7e --- /dev/null +++ b/vvp/app/main/modals/select-el-modal/select-el-modal.less @@ -0,0 +1,54 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.select-engagement-lead-modal { + padding: 0px 15px 0px 15px; + + .select-engagement-lead-title { + .a_24_m;; + } + + .select-engagement-lead-description { + .m_16_r; + } + + .modal-body { + top: 10px; + } +} + diff --git a/vvp/app/main/modals/set-eng-stage/set-eng-stage-modal.controller.js b/vvp/app/main/modals/set-eng-stage/set-eng-stage-modal.controller.js new file mode 100644 index 00000000..3824870d --- /dev/null +++ b/vvp/app/main/modals/set-eng-stage/set-eng-stage-modal.controller.js @@ -0,0 +1,63 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. + +(function () { + 'use strict'; + + angular + .module('ice.modals') + .controller('setEngStageModalController', ['$rootScope','$uibModalInstance','stage','eng_name','current_stage', setEngStageModalController]); + + function setEngStageModalController($rootScope, $uibModalInstance,stage, eng_name, current_stage) { + + var vm = this; + var init = function () { + vm.stage = stage; + vm.current_stage = current_stage; + vm.modalText = "Are you sure you want to set the Engagement's stage to "+vm.stage+"?"; + vm.eng_name = eng_name; + } + + vm.closeModal = function (bool) { + $uibModalInstance.close(bool); + }; + + init(); + } +})(); diff --git a/vvp/app/main/modals/set-eng-stage/set-eng-stage-modal.html b/vvp/app/main/modals/set-eng-stage/set-eng-stage-modal.html new file mode 100644 index 00000000..362eb93b --- /dev/null +++ b/vvp/app/main/modals/set-eng-stage/set-eng-stage-modal.html @@ -0,0 +1,49 @@ + + + diff --git a/vvp/app/main/modals/set-eng-stage/set-eng-stage-modal.less b/vvp/app/main/modals/set-eng-stage/set-eng-stage-modal.less new file mode 100644 index 00000000..af7d5ba1 --- /dev/null +++ b/vvp/app/main/modals/set-eng-stage/set-eng-stage-modal.less @@ -0,0 +1,135 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.set-stage-modal-text-details { + .m_18_r; + padding: 3% 0% 3% 0%; +} + +.set-stage-title { + .m_18_r; + + .bold { + .a_18_m; + } + +} + +.btn-gradient-success { + font-weight: bold; + color: #FFFFFF; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #41A02C; + *background-color: #41A02C; + background-image: -moz-linear-gradient(top, #A2E652, #41A02C); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#A2E652), to(#41A02C)); + background-image: -webkit-linear-gradient(top, #A2E652, #41A02C); + background-image: -o-linear-gradient(top, #A2E652, #41A02C); + background-image: linear-gradient(to bottom, #A2E652, #41A02C); + background-repeat: repeat-x; + border-color: #41A02C; + border-color: #888; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#A2E652', endColorstr='#41A02C', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} +.btn-sample:hover, +.btn-sample:focus, +.btn-sample:active, +.btn-sample.active, +.btn-sample.disabled, +.btn-sample[disabled] { + color: #FFFFFF; + background-color: #41A02C; + *background-color: #003bb3; +} + +.btn-gradient-danger { + font-weight: bold; + color: #FFFFFF; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #AE0020; + *background-color: #AE0020; + background-image: -moz-linear-gradient(top, #F74658, #AE0020); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#F74658), to(#AE0020)); + background-image: -webkit-linear-gradient(top, #F74658, #AE0020); + background-image: -o-linear-gradient(top, #F74658, #AE0020); + background-image: linear-gradient(to bottom, #F74658, #AE0020); + background-repeat: repeat-x; + border-color: #AE0020; + border-color: #888; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#F74658', endColorstr='#AE0020', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} +.btn-sample:hover, +.btn-sample:focus, +.btn-sample:active, +.btn-sample.active, +.btn-sample.disabled, +.btn-sample[disabled] { + color: #FFFFFF; + background-color: #AE0020; + *background-color: #003bb3; +} + +.btn-gradient-default { + font-weight: bold; + color: #B3B3B3; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #D0D0D0; + *background-color: #D0D0D0; + background-image: -moz-linear-gradient(top, #FCFCFC, #D0D0D0); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#FCFCFC), to(#D0D0D0)); + background-image: -webkit-linear-gradient(top, #FCFCFC, #D0D0D0); + background-image: -o-linear-gradient(top, #FCFCFC, #D0D0D0); + background-image: linear-gradient(to bottom, #FCFCFC, #D0D0D0); + background-repeat: repeat-x; + border-color: #D0D0D0; + border-color: #888; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FCFCFC', endColorstr='#D0D0D0', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} +.btn-sample:hover, +.btn-sample:focus, +.btn-sample:active, +.btn-sample.active, +.btn-sample.disabled, +.btn-sample[disabled] { + color: #FFFFFF; + background-color: #D0D0D0; + *background-color: #003bb3; +} diff --git a/vvp/app/main/modals/set-eng-stage/set_eng_stage_modal.html b/vvp/app/main/modals/set-eng-stage/set_eng_stage_modal.html new file mode 100644 index 00000000..adf81be3 --- /dev/null +++ b/vvp/app/main/modals/set-eng-stage/set_eng_stage_modal.html @@ -0,0 +1,58 @@ + + +
+ + + +
+ +
+
+ + +
diff --git a/vvp/app/main/modals/status/status.controller.js b/vvp/app/main/modals/status/status.controller.js new file mode 100644 index 00000000..9a90ec52 --- /dev/null +++ b/vvp/app/main/modals/status/status.controller.js @@ -0,0 +1,125 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + 'use strict'; + + angular + .module('ice.modals') + .controller('StatusModalController', ['$rootScope', '$uibModalInstance', 'statusService', 'engagement_uuid', + 'action', 'toastService', '$log', StatusModalController]); + + function StatusModalController($rootScope, $uibModalInstance, statusService, engagement_uuid, action, toastService, $log) { + var vm = this; + + var init = function() { + vm.engagement_uuid = engagement_uuid; + vm.action = action; + if (action == 'edit') { + statusService.get(engagement_uuid) + .then(function (response) { + if (response.status === 200) + { + vm.status = response.data; + vm.status_modal_description = vm.status.description; + vm.eng_status_uuid = vm.status.uuid; + } else + { + $log.error(response); + } + }) + .catch(function (error) { + vm.status = false; + $log.error(error.message); + }); + } else { + vm.status_modal_description = ''; + } + }; + + init(); + + vm.submitForm = function () + { + var jsonPost = {"description":vm.status_modal_description}; + if (action == 'edit') { + jsonPost.eng_status_uuid = vm.eng_status_uuid; + statusService.update(vm.engagement_uuid, jsonPost) + .then(function (response) { + if (response.status === 200) + { + $uibModalInstance.close(response.data); + vm.closeModal(); + } + else + { + toastService.setToast(response.error, 'danger'); + $rootScope.ice.loader.show = false; + } + }) + .catch(function (error) { + toastService.setToast(error.message, 'danger'); + $log.error(error.message); + }); + } else { + statusService.add(vm.engagement_uuid, jsonPost) + .then(function (response) { + if (response.status === 200) + { + + $uibModalInstance.close(response.data); + vm.closeModal(); + } + else + { + toastService.setToast(response.error, 'danger'); + $rootScope.ice.loader.show = false; + } + }) + .catch(function (error) { + toastService.setToast(error.message, 'danger'); + $log.error(error.message); + }); + } + }; + + vm.closeModal = function(){ + $uibModalInstance.close(); + }; + } +})(); diff --git a/vvp/app/main/modals/status/status.html b/vvp/app/main/modals/status/status.html new file mode 100644 index 00000000..83c50d2b --- /dev/null +++ b/vvp/app/main/modals/status/status.html @@ -0,0 +1,59 @@ + + + + + diff --git a/vvp/app/main/modals/status/status.less b/vvp/app/main/modals/status/status.less new file mode 100644 index 00000000..ae5f7945 --- /dev/null +++ b/vvp/app/main/modals/status/status.less @@ -0,0 +1,44 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.status-modal-body { + .status-modal-description { + border-color: @main_color_q; + margin-bottom:15px; + } +} diff --git a/vvp/app/main/modals/target-lab-entry/change-lab-entry-date.controller.js b/vvp/app/main/modals/target-lab-entry/change-lab-entry-date.controller.js new file mode 100644 index 00000000..a300d3da --- /dev/null +++ b/vvp/app/main/modals/target-lab-entry/change-lab-entry-date.controller.js @@ -0,0 +1,78 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular + .module('ice.modals') + .controller('ChangeLabEntryDateModalController', ["$uibModalInstance", "targetLabDate", "engagementUuid", "vfService", "$rootScope", "toastService", changeLabEntryDateModalController]); + + function changeLabEntryDateModalController($uibModalInstance, targetLabDate, engagementUuid, vfService, $rootScope, toastService) { + + var vm = this; + //vm.completionDate = new Date(completionDate); + vm.targetLabDate = targetLabDate; + vm.dateOptions = { + minDate: new Date(), + showWeeks: true + }; + + vm.closeModal = function(){ + $uibModalInstance.close(); + }; + + vm.myDate = new Date(); + vm.minDate = moment(vm.myDate).format("YYYY-MM-DD") + vm.maxDate = moment(vm.myDate).add(2, 'years').format("YYYY-MM-DD"); + + vm.submitForm = function(){ + var postData={"target_date": moment(vm.targetLabDate).format("YYYY-MM-DD")}; + vfService.updateLabEntryDaysLeft(engagementUuid, postData) + .then(function (response) { + if (response.status === 200) { + $uibModalInstance.close(postData); + } + }) + .catch(function (error) { + toastService.setToast(error.status + ': Error changing completion date!', 'danger'); + }); + }; + } +})(); diff --git a/vvp/app/main/modals/target-lab-entry/change-lab-entry-date.html b/vvp/app/main/modals/target-lab-entry/change-lab-entry-date.html new file mode 100644 index 00000000..cfd30f79 --- /dev/null +++ b/vvp/app/main/modals/target-lab-entry/change-lab-entry-date.html @@ -0,0 +1,55 @@ + +
+ + +
+ + diff --git a/vvp/app/main/modals/target-lab-entry/change-lab-entry-date.less b/vvp/app/main/modals/target-lab-entry/change-lab-entry-date.less new file mode 100644 index 00000000..8aa6f3be --- /dev/null +++ b/vvp/app/main/modals/target-lab-entry/change-lab-entry-date.less @@ -0,0 +1,49 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. + .edit-target-lab-date-modal { + .md-datepicker-input-container { + .md-datepicker-input { + width: 100%; + text-align: left; + line-height: 32px; + padding-left: 95px; + margin: 0px; + } + } + } \ No newline at end of file diff --git a/vvp/app/main/modals/update-engagement-status-modal/update-engagement-status-modal.controller.js b/vvp/app/main/modals/update-engagement-status-modal/update-engagement-status-modal.controller.js new file mode 100644 index 00000000..f9afa320 --- /dev/null +++ b/vvp/app/main/modals/update-engagement-status-modal/update-engagement-status-modal.controller.js @@ -0,0 +1,73 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. + +(function () { + 'use strict'; + + angular + .module('ice.modals') + .controller('updateEngagementStatusModalController', ['$uibModalInstance', 'engagement', updateEngagementStatusModalController]); + + function updateEngagementStatusModalController($uibModalInstance, engagement) { + var vm = this; + var init = function () { + vm.engagement = engagement; + formatDates(); + }; + + vm.closeModal = function () { + $uibModalInstance.dismiss(); + }; + + vm.updateEngagement = function() { + formatDates(); + $uibModalInstance.close({"engagement": vm.engagement, "status": vm.status}); + }; + + var formatDates = function() { + if(vm.engagement.target_completion_date){ vm.engagement.target_completion_date = new Date(vm.engagement.target_completion_date); } + if(vm.engagement.heat_validated_time){ vm.engagement.heat_validated_time = new Date(vm.engagement.heat_validated_time); } + if(vm.engagement.image_scan_time){ vm.engagement.image_scan_time = new Date(vm.engagement.image_scan_time); } + if(vm.engagement.aic_instantiation_time){ vm.engagement.aic_instantiation_time = new Date(vm.engagement.aic_instantiation_time); } + if(vm.engagement.asdc_onboarding_time){ vm.engagement.asdc_onboarding_time = new Date(vm.engagement.asdc_onboarding_time); } + }; + + init(); + } +})(); diff --git a/vvp/app/main/modals/update-engagement-status-modal/update-engagement-status-modal.html b/vvp/app/main/modals/update-engagement-status-modal/update-engagement-status-modal.html new file mode 100644 index 00000000..29abb24e --- /dev/null +++ b/vvp/app/main/modals/update-engagement-status-modal/update-engagement-status-modal.html @@ -0,0 +1,97 @@ + +
+ + +
diff --git a/vvp/app/main/modals/update-engagement-status-modal/update-engagement-status-modal.less b/vvp/app/main/modals/update-engagement-status-modal/update-engagement-status-modal.less new file mode 100644 index 00000000..8bce9da3 --- /dev/null +++ b/vvp/app/main/modals/update-engagement-status-modal/update-engagement-status-modal.less @@ -0,0 +1,61 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.update-engagement-status-modal { + padding: 0px 15px 0px 15px; + + .update-engagement-status-title { + .a_24_m;; + } + + .update-engagement-status-description { + .m_16_r; + } + + .form-field-title{ + .m_16_r; + } + + .modal-body { + top: 10px; + } + + .md-datepicker-input { + max-width: none; + } +} diff --git a/vvp/app/main/modals/validation-details/detailed-view-validation-details-modal.controller.js b/vvp/app/main/modals/validation-details/detailed-view-validation-details-modal.controller.js new file mode 100644 index 00000000..1370e367 --- /dev/null +++ b/vvp/app/main/modals/validation-details/detailed-view-validation-details-modal.controller.js @@ -0,0 +1,202 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + + 'use strict'; + + angular + .module('ice.modals') + .controller('validationDetailsModalController', ["$rootScope", "$uibModalInstance", "vfcService", "vfService", "$stateParams", "toastService", "vf_uuid", "usersService", "$log", "_", validationDetailsModalController]); + + function validationDetailsModalController($rootScope, $uibModalInstance, vfcService,vfService, $stateParams,toastService, vf_uuid, usersService,$log,_) { + + var vm = this; + var init = function () { + if($stateParams.engagement) { + vm.engagement = $stateParams.engagement; + } + vm.me = usersService.getUserData(); + vfService.getSingleEngagement(vm.me.uuid,vm.engagement.uuid) + .then(function (response) { + $rootScope.ice.loader.show = false; + + if (response.status === 200 && response.data && response.data !== '') { + var vf_data = response.data; + vm.engagement_manual_id = vf_data.engagement.engagement_manual_id; + vm.vf_name = vf_data.name; + vm.vf_uuid = vf_data.uuid; + vm.ecomp_release = vf_data.ecomp_release; + vm.target_lab = new Date(vf_data.target_lab_entry_date); + vm.dtversion = vf_data.deployment_target; + vm.selected_dt_uuid = vm.dtversion.uuid; + vm.selected_ecomp_uuid = vm.ecomp_release.uuid; + vm.me = usersService.getUserData(); + vm.name = vm.engagement.name; + vm.isEngagementEL = usersService.isEngagementEL(vf_data.engagement.engagement_team); + vm.isAdmin = usersService.isAdmin(vm.me); + vm.choices = [{TargetLab: '', TargetAic: ''}]; + getDeployTargets(); + getECOMPReleases(); + getVFVersion(); + } + }) + .catch(function (error) { + $rootScope.ice.loader.show = false; + $log.error(error); + }); + }; + + vm.closeModal = function(){ + $uibModalInstance.close(); + }; + + vm.addNewChoice = function () { + var newItemNo = vm.choices.length + 1; + vm.choices.push({'id': newItemNo}); + }; + + function getDeployTargets() { + vfService.getDeployTargets() + .then(function (response) { + $rootScope.ice.loader.show = false; + if (response.status === 200) { + vm.deployTargets = response.data; + if (_.filter(vm.deployTargets, {'uuid': vm.dtversion.uuid}).length === 0) { + vm.dtversion.disabled = true; + vm.deployTargets.push(vm.dtversion); + } + } + }).catch(function (error) { + $rootScope.ice.loader.show = false; + $log.error(error); + }); + } + function getECOMPReleases(){ + vfService.getECOMPReleases() + .then(function (response) { + if (response.status === 200) { + vm.ECOMPReleases = response.data; + if (_.filter(vm.ECOMPReleases, {'uuid':vm.ecomp_release.uuid}).length === 0) { + vm.ecomp_release.disabled = true; + vm.ECOMPReleases.push(vm.ecomp_release); + } + } + }).catch(function (error) { + $rootScope.ice.loader.show = false; + $log.error(error); + }); + } + function getVFVersion(){ + vfService.getVFVersion(vf_uuid) + .then(function (response) { + $rootScope.ice.loader.show = false; + if (response.status === 200) { + vm.VFVersion = response.data; + } + }).catch(function (error) { + $rootScope.ice.loader.show = false; + $log.debug(error); + }); + } + vm.removeChoice = function (index) { + vm.choices.splice(index,1); + }; + + vm.submitForm = function(){ + var validationDetailsSelection = { + "vf_uuid": vm.vf_uuid, + "version": vm.VFVersion, + "target_aic_uuid": vm.TargetAic, + "ecomp_release": vm.ECOMPRelease + }; + + vfService.updateVfs(validationDetailsSelection,vm.vf_uuid) + .then(function (response) { + if (response.status === 200) { + $uibModalInstance.close(response.status); + } + }) + .catch(function (error) { + $log.error(error); + toastService.setToast(error.status + ': Error changing progress!', 'danger'); + }); + }; + + vm.update_deployment_target = function(){ + if(vm.dtversion.uuid == vm.selected_dt_uuid){ + return + } + angular.forEach(vm.dt_AIC_versions, function (value, key) { + if (value.uuid === vm.selected_dt_uuid) { + vm.dtversion = value; + }; + }); + vfService.updateDeployTargets(vm.engagement.uuid, vm.selected_dt_uuid) + .then(function (response) { + $rootScope.ice.loader.show = false; + }).catch(function (error) { + $rootScope.ice.loader.show = false; + $log.error(error); + }); + vm.set_edit_mode('aic'); + }; + vm.update_ECOMP_release = function(){ + if( vm.ecomp_release.uuid == vm.selected_ecomp_uuid){ + return; + } + _.each(vm.ECOMPReleases, function (value, key) { + if (value.uuid === vm.selected_ecomp_uuid) { + vm.ecomp_release = value; + }; + }); + vfService.updateECOMPReleases(vm.engagement.uuid, vm.selected_ecomp_uuid) + .then(function (response) { + $rootScope.ice.loader.show = false; + }).catch(function (error) { + $rootScope.ice.loader.show = false; + $log.error(error); + }); + vm.set_edit_mode('ecomp'); + }; + + init(); + } + +})(); diff --git a/vvp/app/main/modals/validation-details/detailed-view-validation-details-modal.html b/vvp/app/main/modals/validation-details/detailed-view-validation-details-modal.html new file mode 100644 index 00000000..48e3fe2a --- /dev/null +++ b/vvp/app/main/modals/validation-details/detailed-view-validation-details-modal.html @@ -0,0 +1,101 @@ + + + diff --git a/vvp/app/main/modals/validation-details/detailed-view-validation-details-modal.less b/vvp/app/main/modals/validation-details/detailed-view-validation-details-modal.less new file mode 100644 index 00000000..08fd5ea8 --- /dev/null +++ b/vvp/app/main/modals/validation-details/detailed-view-validation-details-modal.less @@ -0,0 +1,49 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +#validation-details-form { + #edit-validation-setails-save-button { + margin-top: 15px; + } + + .field-title { + .m_16_m; + margin-bottom: 2px; + margin-top: 5px; + } +} diff --git a/vvp/app/robots.txt b/vvp/app/robots.txt new file mode 100644 index 00000000..d7bb81b6 --- /dev/null +++ b/vvp/app/robots.txt @@ -0,0 +1,42 @@ +# +# ============LICENSE_START========================================== +# org.onap.vvp/portal +# =================================================================== +# Copyright © 2017 AT&T Intellectual Property. All rights reserved. +# =================================================================== +# +# Unless otherwise specified, all software contained herein is licensed +# under the Apache License, Version 2.0 (the “License”); +# you may not use this software except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# +# +# Unless otherwise specified, all documentation contained herein is licensed +# under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +# you may not use this documentation except in compliance with the License. +# You may obtain a copy of the License at +# +# https://creativecommons.org/licenses/by/4.0/ +# +# Unless required by applicable law or agreed to in writing, documentation +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# ============LICENSE_END============================================ +# +# ECOMP is a trademark and service mark of AT&T Intellectual Property. +# robotstxt.org + +User-agent: * +Disallow: diff --git a/vvp/app/services/cache.service.js b/vvp/app/services/cache.service.js new file mode 100644 index 00000000..6897e785 --- /dev/null +++ b/vvp/app/services/cache.service.js @@ -0,0 +1,89 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular + .module('ice.services.cacheService', []) + .service('cacheService', function () { + + var data = {}; + + this.get = function (key) { + return data[key]; + }; + + this.delete = function (key) { + return data[key] = undefined; + }; + + this.deleteAll = function () { + return data = {}; + }; + + this.set = function (key, value) { + if (data[key] === undefined) { + data[key] = value; + } else { + data[key] = $.extend({}, value, data[key]); + } + }; + + this.toString = function() { + return data; + }; + + }) + + .factory('pageService', function () { + var page = ''; + return { + getPage: function () { + return page; + }, + setPage: function (new_page) { + page = new_page; + } + }; + }); + + + +})(); diff --git a/vvp/app/services/checklist.service.js b/vvp/app/services/checklist.service.js new file mode 100644 index 00000000..c2aae9ee --- /dev/null +++ b/vvp/app/services/checklist.service.js @@ -0,0 +1,213 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + var current_checklist; + + angular.module('ice.services.checklist', []) + + .factory('checklistService', ['$rootScope', '$http', '$q', 'cacheService', '$log', + function ($rootScope,$http, $q, cacheService, $log) { + + var urls = cacheService.get("configuration").urls; + + var vm = this; + + this.setState = function (clUuid, postData) { + var deferred = $q.defer(); + $http.put(urls.checklist.state.put.replace('@cl_uuid',clUuid) ,postData). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.createChecklist = function (engUuid, postData) { + var deferred = $q.defer(); + $http.post(urls.checklist.createChecklist.replace("@engUuid", engUuid), postData). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.getDataForCreateChecklist = function (engUuid) { + var deferred = $q.defer(); + $http.get(urls.checklist.getDataForChecklist.replace('@engUuid',engUuid)). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.getChecklist = function (checklistUuid) { + var deferred = $q.defer(); + $http.get(urls.checklist.getChecklist.replace('@checklistUuid',checklistUuid)). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.putDataForChecklist = function (checklist_uuid,putData) { + var deferred = $q.defer(); + $http.put(urls.checklist.putDataForChecklist.replace('@checklist_uuid',checklist_uuid),putData). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + this.putChecklistDecision = function (decisionUuid, putData) { + var deferred = $q.defer(); + $http.put(urls.checklist.checklistDecision.replace('@decisionUuid',decisionUuid),putData). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.createAuditlogChecklist = function (checklist_uuid, postData) { + var deferred = $q.defer(); + $http.post(urls.checklist.createAuditlogChecklist.replace('@checklist_uuid',checklist_uuid),postData). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.createAuditlogDecisionChecklist = function (decision_uuid,postData) { + var deferred = $q.defer(); + $http.post(urls.checklist.createAuditlogDecisionChecklist.replace('@decision_uuid',decision_uuid),postData). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + + this.setChecklistExitEntity = function(checklist_data) { + current_checklist = checklist_data; + $log.debug("set checklist"); + } + + + this.callChecklistExit = function(page_view) { + if (current_checklist != undefined && page_view == 'checklist') { + + var modal_type = 'set_state'; + angular.forEach(current_checklist.data.checklistDecisions, function (section,key) { + angular.forEach(section.decisions, function (decision,key) { + if (decision['view_value'] != 'approved' && decision['view_value'] != 'not_relevant' || decision['view_value'] == '') { + modal_type = 'next_step'; + } + }); + }); + if (modal_type == 'next_step') + this.openNextSteps(); + else if (modal_type == 'set_state') + this.openSetState(); + } + } + + this.getChecklistTemplates = function () { + var deferred = $q.defer(); + $http.get(urls.checklist.getChecklistTemplates). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.getChecklistTemplate = function (templateUuid) { + var deferred = $q.defer(); + $http.get(urls.checklist.getChecklistTemplate.replace('@templateUuid', templateUuid)). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.saveChecklistTemplate = function (putData) { + var deferred = $q.defer(); + $http.put(urls.checklist.saveChecklistTemplate, putData). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + return this; + + }]); + +})(); diff --git a/vvp/app/services/cms.service.js b/vvp/app/services/cms.service.js new file mode 100644 index 00000000..15a3ac32 --- /dev/null +++ b/vvp/app/services/cms.service.js @@ -0,0 +1,162 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +/** + * Created by almog on 17/01/2017. + */ +(function () { + 'use strict'; + + angular.module('ice.services.cms', []) + .service('cmsService', ['$http', '$q', 'cacheService', 'localStorageService', '$uibModal', '$rootScope', '$log', cmsService]); + + function cmsService($http, $q, cacheService, localStorageService, $uibModal, $rootScope, $log) { + var urls = cacheService.get("configuration").urls; + var lastAnnouncementStorageKey = 'lastAnnouncement'; + var lastAnnouncementMessage; + + this.getPosts = function(limit, fromLastDays, categories) { + var deferred = $q.defer(); + var categoriesParam = categories && categories instanceof Array ? categories.join() : ''; + + $http.get(urls.cms.posts.get.replace('@limit',limit).replace('@offset',0).replace('@fromLastDays',fromLastDays).replace('@category',categoriesParam)). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + + return deferred.promise; + }; + + this.getLastAnnouncementPost = function() { + var deferred = $q.defer(); + var limit = 1; + + $http.get(urls.cms.posts.get.replace('@limit', limit).replace('@offset',0).replace('@fromLastDays','').replace('@category','Announcement')). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + + return deferred.promise; + }; + + this.setAnnouncementToast = function() { + var openCMSPostModal = function() { + $uibModal.open({ + templateUrl: 'main/modals/cms-post-modal/cms-post-modal.html', + controller: 'cmsPostModalController', + controllerAs: 'vm', + size: 'cms-post-read-more', + resolve: { + post: function () { + return undefined; + } + } + }); + }; + + this.getLastAnnouncementPost() + .then(function(response) { + if(response && response.data && response.data.length === 1) { + var lastAnnouncement = localStorageService.getJson(lastAnnouncementStorageKey); + if(!lastAnnouncement || lastAnnouncement.id != response.data[0].id || !lastAnnouncement.closed) { + localStorageService.setJson(lastAnnouncementStorageKey, {"id": response.data[0].id, "closed": false}); + var toastMessage = "Important announcement: " + response.data[0].title + "."; + lastAnnouncementMessage = {message: toastMessage, readMore: openCMSPostModal, type: 'warning', show: true, displayFor: 'all', publishDate: response.data[0].publish_date}; + $rootScope.showAnnouncement = !$rootScope.showAnnouncement; + } + } + }) + .catch(function(error) { + $log.error(error); + }); + }; + + this.getAnnouncement = function() { + return lastAnnouncementMessage; + }; + + this.getPages = function(title) { + var deferred = $q.defer(); + + if(!title) { title = ''; } + $http.get(urls.cms.pages.get.replace('@title',title)) + .success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }) + .error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + + return deferred.promise; + }; + + this.getPage = function(id) { + var deferred = $q.defer(); + + $http.get(urls.cms.pages.getById.replace('@id',id)) + .success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }) + .error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + + return deferred.promise; + }; + + this.searchPages = function(keyword) { + var deferred = $q.defer(); + + $http.get(urls.cms.pages.search.replace('@keyword',keyword)) + .success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }) + .error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + + return deferred.promise; + } + }; +})(); diff --git a/vvp/app/services/dtsite.service.js b/vvp/app/services/dtsite.service.js new file mode 100644 index 00000000..26fca386 --- /dev/null +++ b/vvp/app/services/dtsite.service.js @@ -0,0 +1,100 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular.module('ice.services.dtsite', []) + + .service('dtsiteService', ['$http', '$q', 'cacheService', function ($http, $q, cacheService) { + + var urls = cacheService.get("configuration").urls; + + + this.getVFSites = function (vfUuid) { + var deferred = $q.defer(); + $http.get(urls.dtsite.getVFSites.replace('@vfUuid',vfUuid)). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.get = function () { + var deferred = $q.defer(); + $http.get(urls.dtsite.get). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.delete = function (vfUuid, dtsUuid) { + var deferred = $q.defer(); + $http.delete(urls.dtsite.delete.replace('@vfUuid',vfUuid).replace('@dtsUuid',dtsUuid)). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.add = function (postData) { + var deferred = $q.defer(); + $http.post(urls.dtsite.add ,postData). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + }]); + +})(); diff --git a/vvp/app/services/feedback.service.js b/vvp/app/services/feedback.service.js new file mode 100644 index 00000000..4d8e8ae7 --- /dev/null +++ b/vvp/app/services/feedback.service.js @@ -0,0 +1,63 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular.module('ice.services.feedback', []) + + .service('feedbackService', ['$http', '$q', 'cacheService', function ($http, $q, cacheService) { + + var urls = cacheService.get("configuration").urls; + + this.add = function ( postData) { + var deferred = $q.defer(); + $http.post(urls.feedback.add.replace(), postData). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + }]); + +})(); \ No newline at end of file diff --git a/vvp/app/services/localstorage.service.js b/vvp/app/services/localstorage.service.js new file mode 100644 index 00000000..f17d8009 --- /dev/null +++ b/vvp/app/services/localstorage.service.js @@ -0,0 +1,63 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +'use strict'; + +angular.module('ice.services.localStorage', []) + + .service('localStorageService', function ($window) { + + this.setJson = function (key, val) { + $window.localStorage && $window.localStorage.setItem(key, JSON.stringify(val)); + return this; + }; + + this.getJson = function (key) { + var val = $window.localStorage && $window.localStorage.getItem(key); + var returnVal; + try { + returnVal = val ? JSON.parse(val) : undefined; + } catch(err){} + return returnVal; + }; + + this.delete = function (key) { + return $window.localStorage && $window.localStorage.removeItem(key); + }; + + }); diff --git a/vvp/app/services/sessionStorage.service.js b/vvp/app/services/sessionStorage.service.js new file mode 100644 index 00000000..da3a91de --- /dev/null +++ b/vvp/app/services/sessionStorage.service.js @@ -0,0 +1,65 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + 'use strict'; + + angular.module('ice.services.sessionStorage', []) + .service('sessionStorageService', ['$window', sessionStorageService]); + + function sessionStorageService($window) { + this.setJson = function (key, val) { + $window.sessionStorage && $window.sessionStorage.setItem(key, JSON.stringify(val)); + return this; + }; + + this.getJson = function (key) { + var val = $window.sessionStorage && $window.sessionStorage.getItem(key); + var returnVal; + try { + returnVal = val ? JSON.parse(val) : undefined; + } catch (err) { + } + return returnVal; + }; + + this.delete = function (key) { + return $window.sessionStorage && $window.sessionStorage.removeItem(key); + }; + } +})(); diff --git a/vvp/app/services/status.service.js b/vvp/app/services/status.service.js new file mode 100644 index 00000000..985b1898 --- /dev/null +++ b/vvp/app/services/status.service.js @@ -0,0 +1,87 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular.module('ice.services.status', []) + + .service('statusService', ['$http', '$q', 'cacheService', function ($http, $q, cacheService) { + + var urls = cacheService.get("configuration").urls; + + this.get = function (engagement) { + var deferred = $q.defer(); + $http.get(urls.status.get.replace('@engagement',engagement)). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.update = function (engagement, postData) { + var deferred = $q.defer(); + $http.put(urls.status.update.replace('@engagement',engagement), postData). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.add = function (engagement, postData) { + var deferred = $q.defer(); + $http.post(urls.status.update.replace('@engagement',engagement), postData). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + }]); + +})(); \ No newline at end of file diff --git a/vvp/app/services/steps.service.js b/vvp/app/services/steps.service.js new file mode 100644 index 00000000..eef4dc99 --- /dev/null +++ b/vvp/app/services/steps.service.js @@ -0,0 +1,162 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular.module('ice.services.steps', []) + + .service('stepsService', ['$http', '$q', 'cacheService', function ($http, $q, cacheService) { + + var urls = cacheService.get("configuration").urls; + + this.getByUser = function() { + var deferred = $q.defer(); + + $http.get(urls.steps.getByUser) + .success(function(data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }) + .error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + + return deferred.promise; + }; + + this.get = function (engagement, progress) { + var deferred = $q.defer(); + $http.get(urls.steps.get.replace('@engagement',engagement).replace('@progress',progress)). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.update = function (stepUuid, postData) { + var deferred = $q.defer(); + $http.put(urls.steps.update.replace('@stepUuid',stepUuid), postData). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.delete = function (stepUuid) { + var deferred = $q.defer(); + $http.delete(urls.steps.delete.replace('@stepUuid',stepUuid)). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.add = function (engagement, postData) { + var deferred = $q.defer(); + $http.post(urls.steps.add.replace('@engagement',engagement), postData). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.edit = function (engagement_uuid, nextstep_uuid,postData) { + var deferred = $q.defer(); + $http.put(urls.steps.edit.replace('@stepUuid',nextstep_uuid).replace('@engUuid',engagement_uuid), postData). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.order_next_steps = function (engagement_uuid, postData) { + var deferred = $q.defer(); + $http.put(urls.steps.order_next_steps.replace('@engUuid',engagement_uuid), postData). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.createNextStep = function (checklist_uuid, engUuid, postData) { + var deferred = $q.defer(); + $http.post(urls.steps.createNextStep.replace('@engUuid',engUuid),postData). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.createChecklistNextStep = function (checklist_uuid, engUuid, postData) { + var deferred = $q.defer(); + $http.post(urls.steps.createChecklistNextStep.replace('@checkListUuid',checklist_uuid).replace('@engUuid',engUuid),postData). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + + }]); + +})(); diff --git a/vvp/app/services/toast.service.js b/vvp/app/services/toast.service.js new file mode 100644 index 00000000..15c2e12a --- /dev/null +++ b/vvp/app/services/toast.service.js @@ -0,0 +1,92 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + 'use strict'; + + angular.module('ice.services.toast', []) + .service('toastService', ['$rootScope', function ($rootScope) { + var message; + var messageType; + var sticky; + var showMessage = false; + var readMore; + var displayFor = 'all'; + + var setToast = function(incomingMessage, incomingType, options) { + if (incomingMessage && incomingMessage.detail != undefined) + incomingMessage = incomingMessage.detail + if(incomingMessage && incomingType) { + message = incomingMessage; + messageType = incomingType; + sticky = options && options.sticky ? options.sticky : false; + readMore = options && options.readMoreCallback ? options.readMoreCallback : undefined; + displayFor = options && options.displayFor ? options.displayFor : 'all'; + showMessage = true; + $rootScope.showToast = true; + } else { + throw "You must provide both message an type in order to set new message toast" + } + }; + + var clearToast = function() { + message = undefined; + messageType = undefined; + showMessage = false; + displayFor = 'all'; + $rootScope.showToast = false; + }; + + var getToast = function() { + return { + "message": message, + "type": messageType, + "show": showMessage, + "sticky": sticky, + "readMore": readMore, + "displayFor": displayFor + }; + }; + + return { + setToast: setToast, + clearToast: clearToast, + getToast: getToast + }; + }]); +})(); diff --git a/vvp/app/services/users.service.js b/vvp/app/services/users.service.js new file mode 100644 index 00000000..7d8afcc7 --- /dev/null +++ b/vvp/app/services/users.service.js @@ -0,0 +1,322 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular.module('ice.services.users', []) + .service('usersService', ['$http', '$q', 'cacheService','iceConstants', 'localStorageService', '$state', + 'sessionStorageService', '_', '$log', userService]); + + function userService ($http, $q, cacheService, iceConstants, localStorageService, $state, sessionStorageService, + _, $log) { + var urls = cacheService.get("configuration").urls; + var userDataSessionStorageKey = 'user'; + var userData = sessionStorageService.getJson(userDataSessionStorageKey); + + this.isEngagementEL = function(engagement_team) { + var found_uuid = _.find(engagement_team, {'uuid': userData.uuid}); + if (found_uuid == undefined) + return false; + if (userData && userData.role.name === iceConstants.roles.el) + return true; + return false; + } + + this.isUserInRole = function(role) { + return userData && userData.role && userData.role.name === role; + } + + this.isReviewer = function(user, reviewer_uuid) { + return user && reviewer_uuid && user.uuid == reviewer_uuid; + } + + this.isPeerReviewer = function(user, peer_reviewer_uuid) { + return user && peer_reviewer_uuid && user.uuid == peer_reviewer_uuid; + } + + this.isAdmin = function(user) { + return user && user.role && user.role.name === iceConstants.roles.admin; + }; + + this.updatePassword = function (userUuid, postData) { + var deferred = $q.defer(); + $http.put(urls.auth.updatePassword, postData). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.sendResetPwdInstructions = function (postData) { + var deferred = $q.defer(); + $http.post(urls.auth.sendResetPwdInstructions, postData). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.login = function (postData, t) { + var deferred = $q.defer(); + $http.post(urls.auth.login.replace("/@t", t), postData). + success(function (data, status, headers, config) { + userData = data; + delete userData.password; + userData.jwtToken = data.token; + sessionStorageService.setJson(userDataSessionStorageKey, userData); + + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.register = function (postData) { + var deferred = $q.defer(); + $http.post(urls.auth.register, postData). + success(function (data, status, headers, config) { + userData = data; + userData.jwtToken = data.token; + sessionStorageService.setJson(userDataSessionStorageKey, userData); + + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.addVendorContact = function (postData) { + var deferred = $q.defer(); + $http.post(urls.auth.addVendorContact, postData). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.resendActivationMail = function (user_uuid) { + var deferred = $q.defer(); + $http.get(urls.auth.resendActivationMail.replace("@user_uuid", user_uuid), {skipAuth: true}). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.getNotifications = function (userUuid) { + var deferred = $q.defer(); + $http.get(urls.notifications.getNotifications). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.resetNotificationNum = function (userUuid) { + var deferred = $q.defer(); + $http.put(urls.notifications.resetNotificationNum). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.notificationsDelete = function (uuid) { + var deferred = $q.defer(); + $http.delete(urls.notifications.notificationsDelete.replace("@uuid", uuid)). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.getNotificationsDescription = function (userUuid,offset,limit) { + var deferred = $q.defer(); + $http.get(urls.notifications.getNotificationsDescription.replace("@userUuid", userUuid).replace("@offset", offset).replace("@limit", limit)). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.getIceUser = function () { + var deferred = $q.defer(); + $http.get(urls.auth.getIceUser). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.updateAccount = function (userUuid, putData) { + var deferred = $q.defer(); + $http.put(urls.auth.account, putData). + success(function (data, status, headers, config) { + var oldToken = userData.jwtToken; + userData = data; + userData.jwtToken = oldToken; + sessionStorageService.setJson(userDataSessionStorageKey, userData); + + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.setSSHKey = function (userUuid, postData) { + var deferred = $q.defer(); + $http.post(urls.auth.setSSHKey, postData). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.getUserData = function(undefinedCallback) { + if(!userData) { + if(undefinedCallback) { + $log.debug("There is no user data, will invoke callback pass as argument."); + undefinedCallback(); + } else { + $log.debug("There is no user data, will be redirected into /login page."); + $state.go('app.login'); + } + } + + return userData; + }; + + this.resetUserData = function() { + $log.debug('Clearing user from cache...'); + userData = undefined; + sessionStorageService.delete(userDataSessionStorageKey); + localStorageService.setJson("ice.settings.view_type", undefined); + localStorageService.setJson("ice.settings.eng_uuid", undefined); + localStorageService.setJson("ice.settings.sub_id", undefined); + }; + + this.setUserActivationSuccess = function(activationSuccess) { + if(userData) { + userData.activationSuccess = activationSuccess; + sessionStorageService.setJson(userDataSessionStorageKey, userData); + } + }; + + this.getEngagementLeads = function() { + var deferred = $q.defer(); + var user = this.getUserData(); + if(this.isAdmin(user)) { + $http.get(urls.users.engagementleads.get) + .success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }) + .error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + } else { + deferred.reject("Just admin allowed to get engagement leads list."); + } + + return deferred.promise; + }; + + this.activateUser = function(userId, token) { + var deferred = $q.defer(); + + $http.get(urls.users.activate.replace("@userid", userId).replace("@token", token), {skipAuth: true}) + .success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }) + .error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + + return deferred.promise; + }; + + this.getRGWASecret = function () { + var deferred = $q.defer(); + $http.get(urls.auth.getRGWASecret). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + }; +})(); diff --git a/vvp/app/services/vf.service.js b/vvp/app/services/vf.service.js new file mode 100644 index 00000000..8207562a --- /dev/null +++ b/vvp/app/services/vf.service.js @@ -0,0 +1,403 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular.module('ice.services.vf', []) + + .service('vfService', ['$http', '$q', 'cacheService', function ($http, $q, cacheService) { + + var urls = cacheService.get("configuration").urls; + + this.addVfs = function (postData) { + var deferred = $q.defer(); + $http.post(urls.auth.addVfs, postData). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.updateVfs = function (putData,vf_uuid) { + var deferred = $q.defer(); + $http.put(urls.vf.updateVfs.put.replace('@vf_uuid',vf_uuid),putData). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.inviteMembers = function (postData) { + var deferred = $q.defer(); + $http.post(urls.auth.inviteMembers, postData). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.getCompanies = function () { + var deferred = $q.defer(); + $http.get(urls.auth.getCompanies). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.getDeployTargets = function () { + var deferred = $q.defer(); + $http.get(urls.vf.deployment_target.getDeployTargets). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.getECOMPReleases = function () { + var deferred = $q.defer(); + $http.get(urls.vf.ecomp.getECOMPReleases). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + this.getVFVersion = function (vfUuid) { + var deferred = $q.defer(); + $http.get(urls.vf.version.getVFVersion.replace('@vfUuid',vfUuid)). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.getEngagements = function (userUuid) { + var deferred = $q.defer(); + $http.get(urls.auth.engagements). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.getExpandedEngagements = function (postData) { + var deferred = $q.defer(); + $http.post(urls.engagement.engagementsExpanded, postData). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.getSingleEngagement = function (userUuid,engagementUuid) { + var deferred = $q.defer(); + $http.get(urls.auth.single_engagement.replace('@engagementUuid',engagementUuid)). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.getStarredEngagements = function(){ + var deferred = $q.defer(); + $http.get(urls.engagement.starred_engagement.get). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.putStarredEngagements = function(engagementUuid){ + var deferred = $q.defer(); + var data = {} + data['engagement_uuid'] = engagementUuid; + $http.put(urls.engagement.starred_engagement.put,data). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.getRecentEngagements = function(){ + var deferred = $q.defer(); + $http.get(urls.engagement.recent_engagement.get). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.getActivities = function (engagementUuid) { + var deferred = $q.defer(); + $http.get(urls.auth.activities.replace('@engagementUuid',engagementUuid)). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.updateProgress = function (engagementUuid, postData) { + var deferred = $q.defer(); + $http.put(urls.engagement.updateProgress.replace('@engagementUuid',engagementUuid), postData). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.updateDeployTargets = function (engagementUuid, dt_uuid) { + var deferred = $q.defer(); + $http.put(urls.vf.deployment_target.updateDeployTargets.replace('@engagementUuid',engagementUuid). + replace('@deployment_target_uuid',dt_uuid)). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.updateECOMPReleases = function (engagementUuid, ECOMP_uuid) { + var deferred = $q.defer(); + $http.put(urls.vf.ecomp.updateECOMPReleases.replace('@engagementUuid',engagementUuid). + replace('@ecomp_uuid', ECOMP_uuid)). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.updateDaysLeft = function (engagementUuid, postData) { + var deferred = $q.defer(); + $http.post(urls.auth.updateDaysLeft.replace('@engagementUuid',engagementUuid), postData). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.updateLabEntryDaysLeft = function (engagementUuid, postData) { + var deferred = $q.defer(); + $http.post(urls.auth.updateLabEntryDaysLeft.replace('@engagementUuid',engagementUuid), postData). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + + this.set_engagement_stage = function(engagementUuid, requested_stage){ + var deferred = $q.defer(); + $http.put(urls.engagement.setStage.replace('@engagementUuid',engagementUuid).replace('@stage',requested_stage)). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.exportEngagementsCSV = function (stage, keyword) { + var deferred = $q.defer(); + + if(stage == null || keyword == null) { + deferred.reject("Invalid arguments on engagements export csv.") + } else { + $http({method: 'GET', url: urls.engagement.exportEngagementsCSV.replace('@stage',stage).replace("@keyword", keyword), + headers: {'Content-Type': "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"}, responseType: "arraybuffer"}). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + } + + return deferred.promise; + }; + + this.archiveEngagement = function(engagementUuid, reason) { + var deferred = $q.defer(); + var putData = {"reason": reason}; + $http.put(urls.engagement.archive.put.replace('@engagementUuid',engagementUuid), putData) + .success(function (data, status, headers, config) { + deferred.resolve(); + }) + .error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + + return deferred.promise; + }; + + this.updateEngagementReviewer = function(engagementUuid, userUuid) { + var deferred = $q.defer(); + var putData = {"reviewer": userUuid}; + + $http.put(urls.engagement.reviewer.put.replace('@engagementUuid',engagementUuid), putData) + .success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }) + .error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + + return deferred.promise; + }; + + this.updateEngagementPeerReviewer = function(engagementUuid, userUuid) { + var deferred = $q.defer(); + var putData = {"peerreviewer": userUuid}; + + $http.put(urls.engagement.peerreviewer.put.replace('@engagementUuid',engagementUuid), putData) + .success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }) + .error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + + return deferred.promise; + }; + + this.switchEngagementReviewers = function(engagementUuid, reviewer_uuid, peer_reviewer_uuid) { + var deferred = $q.defer(); + var putData = {"reviewer": reviewer_uuid, "peerreviewer": peer_reviewer_uuid}; + + $http.put(urls.engagement.switchReviewers.put.replace('@engagementUuid',engagementUuid), putData) + .success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }) + .error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + + return deferred.promise; + }; + + this.updateEngagement = function(engagement, status) { + var deferred = $q.defer(); + var putData = {"engagement": engagement, "status": status}; + + $http.put(urls.engagement.put.replace('@engagementUuid',engagement.uuid), putData) + .success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }) + .error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + + return deferred.promise; + }; + + + this.remove_user_from_eng = function(postData) { + var deferred = $q.defer(); + if (postData == null) { + deferred.reject("Invalid arguments on remove_user_from_eng.") + } + else { + $http.put(urls.engagement.engagement_team.put, postData).success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }).error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + } + return deferred.promise; + }; + }]); + +})(); diff --git a/vvp/app/services/vfc.service.js b/vvp/app/services/vfc.service.js new file mode 100644 index 00000000..a6ab0f9f --- /dev/null +++ b/vvp/app/services/vfc.service.js @@ -0,0 +1,99 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +(function () { + + 'use strict'; + + angular.module('ice.services.vfc', []) + + .service('vfcService', ['$http', '$q', 'cacheService', function ($http, $q, cacheService) { + + var urls = cacheService.get("configuration").urls; + + this.get = function (vfUuid) { + var deferred = $q.defer(); + $http.get(urls.vfcs.get.replace('@vfUuid',vfUuid)). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.delete = function (vfcUuid,vfUuid) { + var deferred = $q.defer(); + $http.delete(urls.vfcs.delete.replace('@vfUuid',vfUuid).replace('@vfcUuid',vfcUuid)). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.add = function (postData) { + var deferred = $q.defer(); + $http.post(urls.vfcs.add ,postData). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + this.getCompanies = function () { + var deferred = $q.defer(); + $http.get(urls.auth.getCompanies). + success(function (data, status, headers, config) { + deferred.resolve({data: data, status: status}); + }). + error(function (data, status, headers, config) { + deferred.reject({message: data, status: status}); + }); + return deferred.promise; + }; + + }]); + +})(); diff --git a/vvp/app/styles/app.css b/vvp/app/styles/app.css new file mode 100644 index 00000000..23790cf8 --- /dev/null +++ b/vvp/app/styles/app.css @@ -0,0 +1,9291 @@ +@font-face { + font-family: omnes-italic; +} +@font-face { + font-family: omnes-light; +} +@font-face { + font-family: omnes-light-italic; +} +@font-face { + font-family: omnes-medium; +} +@font-face { + font-family: omnes-medium-italic; +} +@font-face { + font-family: omnes-regular; +} +@font-face { + font-family: omnes-bold; +} +@font-face { + font-family: omnes-bold-italic; +} +@font-face { + font-family: clearview-book; +} +label { + font-weight: 400; +} +.ice-form-label { + color: #191919; + font-family: omnes-regular, sans-serif; + font-size: 14px; +} +.ice-form-label.required:before { + content: '* '; + color: #cf2a2a; + font-family: omnes-medium, sans-serif; + font-size: 14px; +} +.ice-form-error { + color: #cf2a2a; + font-family: omnes-regular, sans-serif; + font-size: 14px; +} +html { + height: 100%; +} +body { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 14px; + height: 100%; +} +* { + box-sizing: border-box; + margin: 0; + outline: none; + -webkit-transition: none !important; + transition: none !important; +} +/* Extra small devices (phones, less than 768px) */ +/* No media query since this is the default in Bootstrap */ +@media (max-width: 992px) { + .navbar-header { + float: none; + } + .navbar-left, + .navbar-right { + float: none !important; + } + .navbar-toggle { + display: block; + } + .navbar-collapse { + border-top: 1px solid transparent; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); + } + .navbar-fixed-top { + top: 0; + border-width: 0 0 1px; + } + .navbar-collapse.collapse { + display: none!important; + } + .navbar-nav { + float: none!important; + margin-top: 7.5px; + } + .navbar-nav > li { + float: none; + } + .navbar-nav > li > a { + padding-top: 10px; + padding-bottom: 10px; + } + .collapse.in { + display: block !important; + } +} +/* Small devices (tablets, 768px and up) */ +/* Medium devices (desktops, 992px and up) */ +@media (min-width: 998px) { + html, + body { + height: 100%; + overflow: hidden; + } +} +body.ice .container-fluid { + height: 100%; +} +body.ice .container-fluid > .row { + height: 100%; +} +body.ice .container-fluid > .row > #main { + height: 100%; +} +body.ice #header-title { + height: 130px; + display: flex; + flex-direction: column; + align-items: center; + justify-content: flex-start; +} +body.ice #header-title h1 { + color: #ffffff; + font-family: omnes-light, sans-serif; + font-size: 24px; + margin: 20px 0 10px 0; +} +body.ice #header-title h2 { + color: #ffffff; + font-family: omnes-medium, sans-serif; + font-size: 16px; + margin: 0; +} +body.ice #content { + padding: 20px; + /*height: 100%;*/ +} +body.ice #content .row { + height: 100%; +} +body.ice a, +body.ice a:hover, +body.ice a:active, +body.ice a:focus { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 16px; + text-decoration: none; + cursor: pointer; +} +body.ice ul { + padding: 0; +} +.bold { + font-weight: bold; +} +.italic { + font-style: italic; +} +.line-through { + text-decoration-line: line-through; +} +.underline { + text-decoration-line: underline; +} +.f-color .a { + color: #1370a3; +} +.f-color .b { + color: #1370a3; +} +.f-color .c { + color: #1370a3; +} +.f-color .d { + color: #4ca90c; +} +.f-color .e { + color: #007a3e; +} +.f-color .f { + color: #b5bd00; +} +.f-color .g { + color: #ea7499; +} +.f-color .h { + color: #ffb81c; +} +.f-color .i { + color: #702f8a; +} +.f-color .j { + color: #9063cd; +} +.f-color .k { + color: #caa2dd; +} +.f-color .l { + color: #000000; +} +.f-color .m { + color: #5a5a5a; +} +.f-color .n { + color: #959595; +} +.f-color .o { + color: #d2d2d2; +} +.f-color .p { + color: #ffffff; +} +.f-color .q { + color: #cf2a2a; +} +.f-color .r { + color: #f2f2f2; +} +.f-color .s { + color: #191919; +} +.f-color .x { + color: #D74854; +} +.f-color .t { + color: #faf8f8; +} +.f-color .u { + color: #eaeaea; +} +.f-color .v { + color: #e6f6fb; +} +.f-color .w { + color: #EEF9FF; +} +.f-type ._36 { + font-family: omnes-light, sans-serif; + font-size: 36px; +} +.f-type ._36_m { + font-family: omnes-medium, sans-serif; + font-size: 36px; +} +.f-type ._26 { + font-family: omnes-light, sans-serif; + font-size: 26px; +} +.f-type ._26_m { + font-family: omnes-medium, sans-serif; + font-size: 26px; +} +.f-type ._24 { + font-family: omnes-light, sans-serif; + font-size: 24px; +} +.f-type ._24_m { + font-family: omnes-medium, sans-serif; + font-size: 24px; +} +.f-type ._24_r { + font-family: omnes-regular, sans-serif; + font-size: 24px; +} +.f-type ._22 { + font-family: omnes-light, sans-serif; + font-size: 22px; +} +.f-type ._22_m { + font-family: omnes-medium, sans-serif; + font-size: 22px; +} +.f-type ._20 { + font-family: omnes-light, sans-serif; + font-size: 20px; +} +.f-type ._20_m { + font-family: omnes-medium, sans-serif; + font-size: 20px; +} +.f-type ._18 { + font-family: omnes-light, sans-serif; + font-size: 18px; +} +.f-type ._18_r { + font-family: omnes-regular, sans-serif; + font-size: 18px; +} +.f-type ._18_m { + font-family: omnes-medium, sans-serif; + font-size: 18px; +} +.f-type ._16_i { + font-family: omnes-medium-italic, sans-serif; + font-size: 16px; +} +.f-type ._16_r { + font-family: omnes-regular, sans-serif; + font-size: 16px; +} +.f-type ._16_m { + font-family: omnes-medium, sans-serif; + font-size: 16px; +} +.f-type ._14_r { + font-family: omnes-regular, sans-serif; + font-size: 14px; +} +.f-type ._14_m { + font-family: omnes-medium, sans-serif; + font-size: 14px; +} +.f-type ._14_i { + font-family: omnes-medium-italic, sans-serif; + font-size: 14px; +} +.f-type ._13_r { + font-family: omnes-regular, sans-serif; + font-size: 13px; +} +.f-type ._13_m { + font-family: omnes-medium, sans-serif; + font-size: 13px; +} +.f-type ._13_i { + font-family: omnes-medium-italic, sans-serif; + font-size: 13px; +} +.f-type ._12_r { + font-family: omnes-regular, sans-serif; + font-size: 12px; +} +.f-type ._12_m { + font-family: omnes-medium, sans-serif; + font-size: 12px; +} +.f-type ._12_i { + font-family: omnes-medium-italic, sans-serif; + font-size: 12px; +} +.f-type ._10_r { + font-family: omnes-regular, sans-serif; + font-size: 10px; +} +.f-type ._10_m { + font-family: omnes-medium, sans-serif; + font-size: 10px; +} +.a_36 { + color: #1370a3; + font-family: omnes-light, sans-serif; + font-size: 36px; +} +.a_36_m { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 36px; +} +.a_26 { + color: #1370a3; + font-family: omnes-light, sans-serif; + font-size: 26px; +} +.a_26_m { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 26px; +} +.a_24 { + color: #1370a3; + font-family: omnes-light, sans-serif; + font-size: 24px; +} +.a_24_m { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 24px; +} +.a_24_r { + color: #1370a3; + font-family: omnes-regular, sans-serif; + font-size: 24px; +} +.a_22 { + color: #1370a3; + font-family: omnes-light, sans-serif; + font-size: 22px; +} +.a_22_m { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 22px; +} +.a_20 { + color: #1370a3; + font-family: omnes-light, sans-serif; + font-size: 20px; +} +.a_20_m { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 20px; +} +.a_18 { + color: #1370a3; + font-family: omnes-light, sans-serif; + font-size: 18px; +} +.a_18_r { + color: #1370a3; + font-family: omnes-regular, sans-serif; + font-size: 18px; +} +.a_18_m { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 18px; +} +.a_16_i { + color: #1370a3; + font-family: omnes-medium-italic, sans-serif; + font-size: 16px; +} +.a_16_r { + color: #1370a3; + font-family: omnes-regular, sans-serif; + font-size: 16px; +} +.a_16_m { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 16px; +} +.a_14_r { + color: #1370a3; + font-family: omnes-regular, sans-serif; + font-size: 14px; +} +.a_14_m { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 14px; +} +.a_14_i { + color: #1370a3; + font-family: omnes-medium-italic, sans-serif; + font-size: 14px; +} +.a_13_r { + color: #1370a3; + font-family: omnes-regular, sans-serif; + font-size: 13px; +} +.a_13_m { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 13px; +} +.a_13_i { + color: #1370a3; + font-family: omnes-medium-italic, sans-serif; + font-size: 13px; +} +.a_12_r { + color: #1370a3; + font-family: omnes-regular, sans-serif; + font-size: 12px; +} +.a_12_m { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 12px; +} +.a_12_i { + color: #1370a3; + font-family: omnes-medium-italic, sans-serif; + font-size: 12px; +} +.a_10_r { + color: #1370a3; + font-family: omnes-regular, sans-serif; + font-size: 10px; +} +.a_10_m { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 10px; +} +.b_36 { + color: #1370a3; + font-family: omnes-light, sans-serif; + font-size: 36px; +} +.b_36_m { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 36px; +} +.b_26 { + color: #1370a3; + font-family: omnes-light, sans-serif; + font-size: 26px; +} +.b_26_m { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 26px; +} +.b_24 { + color: #1370a3; + font-family: omnes-light, sans-serif; + font-size: 24px; +} +.b_24_m { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 24px; +} +.b_24_r { + color: #1370a3; + font-family: omnes-regular, sans-serif; + font-size: 24px; +} +.b_22 { + color: #1370a3; + font-family: omnes-light, sans-serif; + font-size: 22px; +} +.b_22_m { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 22px; +} +.b_20 { + color: #1370a3; + font-family: omnes-light, sans-serif; + font-size: 20px; +} +.b_20_m { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 20px; +} +.b_18 { + color: #1370a3; + font-family: omnes-light, sans-serif; + font-size: 18px; +} +.b_18_r { + color: #1370a3; + font-family: omnes-regular, sans-serif; + font-size: 18px; +} +.b_18_m { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 18px; +} +.b_16_i { + color: #1370a3; + font-family: omnes-medium-italic, sans-serif; + font-size: 16px; +} +.b_16_r { + color: #1370a3; + font-family: omnes-regular, sans-serif; + font-size: 16px; +} +.b_16_m { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 16px; +} +.b_14_r { + color: #1370a3; + font-family: omnes-regular, sans-serif; + font-size: 14px; +} +.b_14_m { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 14px; +} +.b_14_i { + color: #1370a3; + font-family: omnes-medium-italic, sans-serif; + font-size: 14px; +} +.b_13_r { + color: #1370a3; + font-family: omnes-regular, sans-serif; + font-size: 13px; +} +.b_13_m { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 13px; +} +.b_13_i { + color: #1370a3; + font-family: omnes-medium-italic, sans-serif; + font-size: 13px; +} +.b_12_r { + color: #1370a3; + font-family: omnes-regular, sans-serif; + font-size: 12px; +} +.b_12_m { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 12px; +} +.b_12_i { + color: #1370a3; + font-family: omnes-medium-italic, sans-serif; + font-size: 12px; +} +.b_10_r { + color: #1370a3; + font-family: omnes-regular, sans-serif; + font-size: 10px; +} +.b_10_m { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 10px; +} +.c_36 { + color: #1370a3; + font-family: omnes-light, sans-serif; + font-size: 36px; +} +.c_36_m { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 36px; +} +.c_26 { + color: #1370a3; + font-family: omnes-light, sans-serif; + font-size: 26px; +} +.c_26_m { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 26px; +} +.c_24 { + color: #1370a3; + font-family: omnes-light, sans-serif; + font-size: 24px; +} +.c_24_m { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 24px; +} +.c_24_r { + color: #1370a3; + font-family: omnes-regular, sans-serif; + font-size: 24px; +} +.c_22 { + color: #1370a3; + font-family: omnes-light, sans-serif; + font-size: 22px; +} +.c_22_m { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 22px; +} +.c_20 { + color: #1370a3; + font-family: omnes-light, sans-serif; + font-size: 20px; +} +.c_20_m { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 20px; +} +.c_18 { + color: #1370a3; + font-family: omnes-light, sans-serif; + font-size: 18px; +} +.c_18_r { + color: #1370a3; + font-family: omnes-regular, sans-serif; + font-size: 18px; +} +.c_18_m { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 18px; +} +.c_16_i { + color: #1370a3; + font-family: omnes-medium-italic, sans-serif; + font-size: 16px; +} +.c_16_r { + color: #1370a3; + font-family: omnes-regular, sans-serif; + font-size: 16px; +} +.c_16_m { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 16px; +} +.c_14_r { + color: #1370a3; + font-family: omnes-regular, sans-serif; + font-size: 14px; +} +.c_14_m { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 14px; +} +.c_14_i { + color: #1370a3; + font-family: omnes-medium-italic, sans-serif; + font-size: 14px; +} +.c_13_r { + color: #1370a3; + font-family: omnes-regular, sans-serif; + font-size: 13px; +} +.c_13_m { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 13px; +} +.c_13_i { + color: #1370a3; + font-family: omnes-medium-italic, sans-serif; + font-size: 13px; +} +.c_12_r { + color: #1370a3; + font-family: omnes-regular, sans-serif; + font-size: 12px; +} +.c_12_m { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 12px; +} +.c_12_i { + color: #1370a3; + font-family: omnes-medium-italic, sans-serif; + font-size: 12px; +} +.c_10_r { + color: #1370a3; + font-family: omnes-regular, sans-serif; + font-size: 10px; +} +.c_10_m { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 10px; +} +.d_36 { + color: #4ca90c; + font-family: omnes-light, sans-serif; + font-size: 36px; +} +.d_36_m { + color: #4ca90c; + font-family: omnes-medium, sans-serif; + font-size: 36px; +} +.d_26 { + color: #4ca90c; + font-family: omnes-light, sans-serif; + font-size: 26px; +} +.d_26_m { + color: #4ca90c; + font-family: omnes-medium, sans-serif; + font-size: 26px; +} +.d_24 { + color: #4ca90c; + font-family: omnes-light, sans-serif; + font-size: 24px; +} +.d_24_m { + color: #4ca90c; + font-family: omnes-medium, sans-serif; + font-size: 24px; +} +.d_24_r { + color: #4ca90c; + font-family: omnes-regular, sans-serif; + font-size: 24px; +} +.d_22 { + color: #4ca90c; + font-family: omnes-light, sans-serif; + font-size: 22px; +} +.d_22_m { + color: #4ca90c; + font-family: omnes-medium, sans-serif; + font-size: 22px; +} +.d_20 { + color: #4ca90c; + font-family: omnes-light, sans-serif; + font-size: 20px; +} +.d_20_m { + color: #4ca90c; + font-family: omnes-medium, sans-serif; + font-size: 20px; +} +.d_18 { + color: #4ca90c; + font-family: omnes-light, sans-serif; + font-size: 18px; +} +.d_18_r { + color: #4ca90c; + font-family: omnes-regular, sans-serif; + font-size: 18px; +} +.d_18_m { + color: #4ca90c; + font-family: omnes-medium, sans-serif; + font-size: 18px; +} +.d_16_i { + color: #4ca90c; + font-family: omnes-medium-italic, sans-serif; + font-size: 16px; +} +.d_16_r { + color: #4ca90c; + font-family: omnes-regular, sans-serif; + font-size: 16px; +} +.d_16_m { + color: #4ca90c; + font-family: omnes-medium, sans-serif; + font-size: 16px; +} +.d_14_r { + color: #4ca90c; + font-family: omnes-regular, sans-serif; + font-size: 14px; +} +.d_14_m { + color: #4ca90c; + font-family: omnes-medium, sans-serif; + font-size: 14px; +} +.d_14_i { + color: #4ca90c; + font-family: omnes-medium-italic, sans-serif; + font-size: 14px; +} +.d_13_r { + color: #4ca90c; + font-family: omnes-regular, sans-serif; + font-size: 13px; +} +.d_13_m { + color: #4ca90c; + font-family: omnes-medium, sans-serif; + font-size: 13px; +} +.d_13_i { + color: #4ca90c; + font-family: omnes-medium-italic, sans-serif; + font-size: 13px; +} +.d_12_r { + color: #4ca90c; + font-family: omnes-regular, sans-serif; + font-size: 12px; +} +.d_12_m { + color: #4ca90c; + font-family: omnes-medium, sans-serif; + font-size: 12px; +} +.d_12_i { + color: #4ca90c; + font-family: omnes-medium-italic, sans-serif; + font-size: 12px; +} +.d_10_r { + color: #4ca90c; + font-family: omnes-regular, sans-serif; + font-size: 10px; +} +.d_10_m { + color: #4ca90c; + font-family: omnes-medium, sans-serif; + font-size: 10px; +} +.e_36 { + color: #007a3e; + font-family: omnes-light, sans-serif; + font-size: 36px; +} +.e_36_m { + color: #007a3e; + font-family: omnes-medium, sans-serif; + font-size: 36px; +} +.e_26 { + color: #007a3e; + font-family: omnes-light, sans-serif; + font-size: 26px; +} +.e_26_m { + color: #007a3e; + font-family: omnes-medium, sans-serif; + font-size: 26px; +} +.e_24 { + color: #007a3e; + font-family: omnes-light, sans-serif; + font-size: 24px; +} +.e_24_m { + color: #007a3e; + font-family: omnes-medium, sans-serif; + font-size: 24px; +} +.e_24_r { + color: #007a3e; + font-family: omnes-regular, sans-serif; + font-size: 24px; +} +.e_22 { + color: #007a3e; + font-family: omnes-light, sans-serif; + font-size: 22px; +} +.e_22_m { + color: #007a3e; + font-family: omnes-medium, sans-serif; + font-size: 22px; +} +.e_20 { + color: #007a3e; + font-family: omnes-light, sans-serif; + font-size: 20px; +} +.e_20_m { + color: #007a3e; + font-family: omnes-medium, sans-serif; + font-size: 20px; +} +.e_18 { + color: #007a3e; + font-family: omnes-light, sans-serif; + font-size: 18px; +} +.e_18_r { + color: #007a3e; + font-family: omnes-regular, sans-serif; + font-size: 18px; +} +.e_18_m { + color: #007a3e; + font-family: omnes-medium, sans-serif; + font-size: 18px; +} +.e_16_i { + color: #007a3e; + font-family: omnes-medium-italic, sans-serif; + font-size: 16px; +} +.e_16_r { + color: #007a3e; + font-family: omnes-regular, sans-serif; + font-size: 16px; +} +.e_16_m { + color: #007a3e; + font-family: omnes-medium, sans-serif; + font-size: 16px; +} +.e_14_r { + color: #007a3e; + font-family: omnes-regular, sans-serif; + font-size: 14px; +} +.e_14_m { + color: #007a3e; + font-family: omnes-medium, sans-serif; + font-size: 14px; +} +.e_14_i { + color: #007a3e; + font-family: omnes-medium-italic, sans-serif; + font-size: 14px; +} +.e_13_r { + color: #007a3e; + font-family: omnes-regular, sans-serif; + font-size: 13px; +} +.e_13_m { + color: #007a3e; + font-family: omnes-medium, sans-serif; + font-size: 13px; +} +.e_13_i { + color: #007a3e; + font-family: omnes-medium-italic, sans-serif; + font-size: 13px; +} +.e_12_r { + color: #007a3e; + font-family: omnes-regular, sans-serif; + font-size: 12px; +} +.e_12_m { + color: #007a3e; + font-family: omnes-medium, sans-serif; + font-size: 12px; +} +.e_12_i { + color: #007a3e; + font-family: omnes-medium-italic, sans-serif; + font-size: 12px; +} +.e_10_r { + color: #007a3e; + font-family: omnes-regular, sans-serif; + font-size: 10px; +} +.e_10_m { + color: #007a3e; + font-family: omnes-medium, sans-serif; + font-size: 10px; +} +.f_36 { + color: #b5bd00; + font-family: omnes-light, sans-serif; + font-size: 36px; +} +.f_36_m { + color: #b5bd00; + font-family: omnes-medium, sans-serif; + font-size: 36px; +} +.f_26 { + color: #b5bd00; + font-family: omnes-light, sans-serif; + font-size: 26px; +} +.f_26_m { + color: #b5bd00; + font-family: omnes-medium, sans-serif; + font-size: 26px; +} +.f_24 { + color: #b5bd00; + font-family: omnes-light, sans-serif; + font-size: 24px; +} +.f_24_m { + color: #b5bd00; + font-family: omnes-medium, sans-serif; + font-size: 24px; +} +.f_24_r { + color: #b5bd00; + font-family: omnes-regular, sans-serif; + font-size: 24px; +} +.f_22 { + color: #b5bd00; + font-family: omnes-light, sans-serif; + font-size: 22px; +} +.f_22_m { + color: #b5bd00; + font-family: omnes-medium, sans-serif; + font-size: 22px; +} +.f_20 { + color: #b5bd00; + font-family: omnes-light, sans-serif; + font-size: 20px; +} +.f_20_m { + color: #b5bd00; + font-family: omnes-medium, sans-serif; + font-size: 20px; +} +.f_18 { + color: #b5bd00; + font-family: omnes-light, sans-serif; + font-size: 18px; +} +.f_18_r { + color: #b5bd00; + font-family: omnes-regular, sans-serif; + font-size: 18px; +} +.f_18_m { + color: #b5bd00; + font-family: omnes-medium, sans-serif; + font-size: 18px; +} +.f_16_i { + color: #b5bd00; + font-family: omnes-medium-italic, sans-serif; + font-size: 16px; +} +.f_16_r { + color: #b5bd00; + font-family: omnes-regular, sans-serif; + font-size: 16px; +} +.f_16_m { + color: #b5bd00; + font-family: omnes-medium, sans-serif; + font-size: 16px; +} +.f_14_r { + color: #b5bd00; + font-family: omnes-regular, sans-serif; + font-size: 14px; +} +.f_14_m { + color: #b5bd00; + font-family: omnes-medium, sans-serif; + font-size: 14px; +} +.f_14_i { + color: #b5bd00; + font-family: omnes-medium-italic, sans-serif; + font-size: 14px; +} +.f_13_r { + color: #b5bd00; + font-family: omnes-regular, sans-serif; + font-size: 13px; +} +.f_13_m { + color: #b5bd00; + font-family: omnes-medium, sans-serif; + font-size: 13px; +} +.f_13_i { + color: #b5bd00; + font-family: omnes-medium-italic, sans-serif; + font-size: 13px; +} +.f_12_r { + color: #b5bd00; + font-family: omnes-regular, sans-serif; + font-size: 12px; +} +.f_12_m { + color: #b5bd00; + font-family: omnes-medium, sans-serif; + font-size: 12px; +} +.f_12_i { + color: #b5bd00; + font-family: omnes-medium-italic, sans-serif; + font-size: 12px; +} +.f_10_r { + color: #b5bd00; + font-family: omnes-regular, sans-serif; + font-size: 10px; +} +.f_10_m { + color: #b5bd00; + font-family: omnes-medium, sans-serif; + font-size: 10px; +} +.g_36 { + color: #ea7499; + font-family: omnes-light, sans-serif; + font-size: 36px; +} +.g_36_m { + color: #ea7499; + font-family: omnes-medium, sans-serif; + font-size: 36px; +} +.g_26 { + color: #ea7499; + font-family: omnes-light, sans-serif; + font-size: 26px; +} +.g_26_m { + color: #ea7499; + font-family: omnes-medium, sans-serif; + font-size: 26px; +} +.g_24 { + color: #ea7499; + font-family: omnes-light, sans-serif; + font-size: 24px; +} +.g_24_m { + color: #ea7499; + font-family: omnes-medium, sans-serif; + font-size: 24px; +} +.g_24_r { + color: #ea7499; + font-family: omnes-regular, sans-serif; + font-size: 24px; +} +.g_22 { + color: #ea7499; + font-family: omnes-light, sans-serif; + font-size: 22px; +} +.g_22_m { + color: #ea7499; + font-family: omnes-medium, sans-serif; + font-size: 22px; +} +.g_20 { + color: #ea7499; + font-family: omnes-light, sans-serif; + font-size: 20px; +} +.g_20_m { + color: #ea7499; + font-family: omnes-medium, sans-serif; + font-size: 20px; +} +.g_18 { + color: #ea7499; + font-family: omnes-light, sans-serif; + font-size: 18px; +} +.g_18_r { + color: #ea7499; + font-family: omnes-regular, sans-serif; + font-size: 18px; +} +.g_18_m { + color: #ea7499; + font-family: omnes-medium, sans-serif; + font-size: 18px; +} +.g_16_i { + color: #ea7499; + font-family: omnes-medium-italic, sans-serif; + font-size: 16px; +} +.g_16_r { + color: #ea7499; + font-family: omnes-regular, sans-serif; + font-size: 16px; +} +.g_16_m { + color: #ea7499; + font-family: omnes-medium, sans-serif; + font-size: 16px; +} +.g_14_r { + color: #ea7499; + font-family: omnes-regular, sans-serif; + font-size: 14px; +} +.g_14_m { + color: #ea7499; + font-family: omnes-medium, sans-serif; + font-size: 14px; +} +.g_14_i { + color: #ea7499; + font-family: omnes-medium-italic, sans-serif; + font-size: 14px; +} +.g_13_r { + color: #ea7499; + font-family: omnes-regular, sans-serif; + font-size: 13px; +} +.g_13_m { + color: #ea7499; + font-family: omnes-medium, sans-serif; + font-size: 13px; +} +.g_13_i { + color: #ea7499; + font-family: omnes-medium-italic, sans-serif; + font-size: 13px; +} +.g_12_r { + color: #ea7499; + font-family: omnes-regular, sans-serif; + font-size: 12px; +} +.g_12_m { + color: #ea7499; + font-family: omnes-medium, sans-serif; + font-size: 12px; +} +.g_12_i { + color: #ea7499; + font-family: omnes-medium-italic, sans-serif; + font-size: 12px; +} +.g_10_r { + color: #ea7499; + font-family: omnes-regular, sans-serif; + font-size: 10px; +} +.g_10_m { + color: #ea7499; + font-family: omnes-medium, sans-serif; + font-size: 10px; +} +.h_36 { + color: #ffb81c; + font-family: omnes-light, sans-serif; + font-size: 36px; +} +.h_36_m { + color: #ffb81c; + font-family: omnes-medium, sans-serif; + font-size: 36px; +} +.h_26 { + color: #ffb81c; + font-family: omnes-light, sans-serif; + font-size: 26px; +} +.h_26_m { + color: #ffb81c; + font-family: omnes-medium, sans-serif; + font-size: 26px; +} +.h_24 { + color: #ffb81c; + font-family: omnes-light, sans-serif; + font-size: 24px; +} +.h_24_m { + color: #ffb81c; + font-family: omnes-medium, sans-serif; + font-size: 24px; +} +.h_24_r { + color: #ffb81c; + font-family: omnes-regular, sans-serif; + font-size: 24px; +} +.h_22 { + color: #ffb81c; + font-family: omnes-light, sans-serif; + font-size: 22px; +} +.h_22_m { + color: #ffb81c; + font-family: omnes-medium, sans-serif; + font-size: 22px; +} +.h_20 { + color: #ffb81c; + font-family: omnes-light, sans-serif; + font-size: 20px; +} +.h_20_m { + color: #ffb81c; + font-family: omnes-medium, sans-serif; + font-size: 20px; +} +.h_18 { + color: #ffb81c; + font-family: omnes-light, sans-serif; + font-size: 18px; +} +.h_18_r { + color: #ffb81c; + font-family: omnes-regular, sans-serif; + font-size: 18px; +} +.h_18_m { + color: #ffb81c; + font-family: omnes-medium, sans-serif; + font-size: 18px; +} +.h_16_i { + color: #ffb81c; + font-family: omnes-medium-italic, sans-serif; + font-size: 16px; +} +.h_16_r { + color: #ffb81c; + font-family: omnes-regular, sans-serif; + font-size: 16px; +} +.h_16_m { + color: #ffb81c; + font-family: omnes-medium, sans-serif; + font-size: 16px; +} +.h_14_r { + color: #ffb81c; + font-family: omnes-regular, sans-serif; + font-size: 14px; +} +.h_14_m { + color: #ffb81c; + font-family: omnes-medium, sans-serif; + font-size: 14px; +} +.h_14_i { + color: #ffb81c; + font-family: omnes-medium-italic, sans-serif; + font-size: 14px; +} +.h_13_r { + color: #ffb81c; + font-family: omnes-regular, sans-serif; + font-size: 13px; +} +.h_13_m { + color: #ffb81c; + font-family: omnes-medium, sans-serif; + font-size: 13px; +} +.h_13_i { + color: #ffb81c; + font-family: omnes-medium-italic, sans-serif; + font-size: 13px; +} +.h_12_r { + color: #ffb81c; + font-family: omnes-regular, sans-serif; + font-size: 12px; +} +.h_12_m { + color: #ffb81c; + font-family: omnes-medium, sans-serif; + font-size: 12px; +} +.h_12_i { + color: #ffb81c; + font-family: omnes-medium-italic, sans-serif; + font-size: 12px; +} +.h_10_r { + color: #ffb81c; + font-family: omnes-regular, sans-serif; + font-size: 10px; +} +.h_10_m { + color: #ffb81c; + font-family: omnes-medium, sans-serif; + font-size: 10px; +} +.i_36 { + color: #702f8a; + font-family: omnes-light, sans-serif; + font-size: 36px; +} +.i_36_m { + color: #702f8a; + font-family: omnes-medium, sans-serif; + font-size: 36px; +} +.i_26 { + color: #702f8a; + font-family: omnes-light, sans-serif; + font-size: 26px; +} +.i_26_m { + color: #702f8a; + font-family: omnes-medium, sans-serif; + font-size: 26px; +} +.i_24 { + color: #702f8a; + font-family: omnes-light, sans-serif; + font-size: 24px; +} +.i_24_m { + color: #702f8a; + font-family: omnes-medium, sans-serif; + font-size: 24px; +} +.i_24_r { + color: #702f8a; + font-family: omnes-regular, sans-serif; + font-size: 24px; +} +.i_22 { + color: #702f8a; + font-family: omnes-light, sans-serif; + font-size: 22px; +} +.i_22_m { + color: #702f8a; + font-family: omnes-medium, sans-serif; + font-size: 22px; +} +.i_20 { + color: #702f8a; + font-family: omnes-light, sans-serif; + font-size: 20px; +} +.i_20_m { + color: #702f8a; + font-family: omnes-medium, sans-serif; + font-size: 20px; +} +.i_18 { + color: #702f8a; + font-family: omnes-light, sans-serif; + font-size: 18px; +} +.i_18_r { + color: #702f8a; + font-family: omnes-regular, sans-serif; + font-size: 18px; +} +.i_18_m { + color: #702f8a; + font-family: omnes-medium, sans-serif; + font-size: 18px; +} +.i_16_i { + color: #702f8a; + font-family: omnes-medium-italic, sans-serif; + font-size: 16px; +} +.i_16_r { + color: #702f8a; + font-family: omnes-regular, sans-serif; + font-size: 16px; +} +.i_16_m { + color: #702f8a; + font-family: omnes-medium, sans-serif; + font-size: 16px; +} +.i_14_r { + color: #702f8a; + font-family: omnes-regular, sans-serif; + font-size: 14px; +} +.i_14_m { + color: #702f8a; + font-family: omnes-medium, sans-serif; + font-size: 14px; +} +.i_14_i { + color: #702f8a; + font-family: omnes-medium-italic, sans-serif; + font-size: 14px; +} +.i_13_r { + color: #702f8a; + font-family: omnes-regular, sans-serif; + font-size: 13px; +} +.i_13_m { + color: #702f8a; + font-family: omnes-medium, sans-serif; + font-size: 13px; +} +.i_13_i { + color: #702f8a; + font-family: omnes-medium-italic, sans-serif; + font-size: 13px; +} +.i_12_r { + color: #702f8a; + font-family: omnes-regular, sans-serif; + font-size: 12px; +} +.i_12_m { + color: #702f8a; + font-family: omnes-medium, sans-serif; + font-size: 12px; +} +.i_12_i { + color: #702f8a; + font-family: omnes-medium-italic, sans-serif; + font-size: 12px; +} +.i_10_r { + color: #702f8a; + font-family: omnes-regular, sans-serif; + font-size: 10px; +} +.i_10_m { + color: #702f8a; + font-family: omnes-medium, sans-serif; + font-size: 10px; +} +.j_36 { + color: #9063cd; + font-family: omnes-light, sans-serif; + font-size: 36px; +} +.j_36_m { + color: #9063cd; + font-family: omnes-medium, sans-serif; + font-size: 36px; +} +.j_26 { + color: #9063cd; + font-family: omnes-light, sans-serif; + font-size: 26px; +} +.j_26_m { + color: #9063cd; + font-family: omnes-medium, sans-serif; + font-size: 26px; +} +.j_24 { + color: #9063cd; + font-family: omnes-light, sans-serif; + font-size: 24px; +} +.j_24_m { + color: #9063cd; + font-family: omnes-medium, sans-serif; + font-size: 24px; +} +.j_24_r { + color: #9063cd; + font-family: omnes-regular, sans-serif; + font-size: 24px; +} +.j_22 { + color: #9063cd; + font-family: omnes-light, sans-serif; + font-size: 22px; +} +.j_22_m { + color: #9063cd; + font-family: omnes-medium, sans-serif; + font-size: 22px; +} +.j_20 { + color: #9063cd; + font-family: omnes-light, sans-serif; + font-size: 20px; +} +.j_20_m { + color: #9063cd; + font-family: omnes-medium, sans-serif; + font-size: 20px; +} +.j_18 { + color: #9063cd; + font-family: omnes-light, sans-serif; + font-size: 18px; +} +.j_18_r { + color: #9063cd; + font-family: omnes-regular, sans-serif; + font-size: 18px; +} +.j_18_m { + color: #9063cd; + font-family: omnes-medium, sans-serif; + font-size: 18px; +} +.j_16_i { + color: #9063cd; + font-family: omnes-medium-italic, sans-serif; + font-size: 16px; +} +.j_16_r { + color: #9063cd; + font-family: omnes-regular, sans-serif; + font-size: 16px; +} +.j_16_m { + color: #9063cd; + font-family: omnes-medium, sans-serif; + font-size: 16px; +} +.j_14_r { + color: #9063cd; + font-family: omnes-regular, sans-serif; + font-size: 14px; +} +.j_14_m { + color: #9063cd; + font-family: omnes-medium, sans-serif; + font-size: 14px; +} +.j_14_i { + color: #9063cd; + font-family: omnes-medium-italic, sans-serif; + font-size: 14px; +} +.j_13_r { + color: #9063cd; + font-family: omnes-regular, sans-serif; + font-size: 13px; +} +.j_13_m { + color: #9063cd; + font-family: omnes-medium, sans-serif; + font-size: 13px; +} +.j_13_i { + color: #9063cd; + font-family: omnes-medium-italic, sans-serif; + font-size: 13px; +} +.j_12_r { + color: #9063cd; + font-family: omnes-regular, sans-serif; + font-size: 12px; +} +.j_12_m { + color: #9063cd; + font-family: omnes-medium, sans-serif; + font-size: 12px; +} +.j_12_i { + color: #9063cd; + font-family: omnes-medium-italic, sans-serif; + font-size: 12px; +} +.j_10_r { + color: #9063cd; + font-family: omnes-regular, sans-serif; + font-size: 10px; +} +.j_10_m { + color: #9063cd; + font-family: omnes-medium, sans-serif; + font-size: 10px; +} +.k_36 { + color: #caa2dd; + font-family: omnes-light, sans-serif; + font-size: 36px; +} +.k_36_m { + color: #caa2dd; + font-family: omnes-medium, sans-serif; + font-size: 36px; +} +.k_26 { + color: #caa2dd; + font-family: omnes-light, sans-serif; + font-size: 26px; +} +.k_26_m { + color: #caa2dd; + font-family: omnes-medium, sans-serif; + font-size: 26px; +} +.k_24 { + color: #caa2dd; + font-family: omnes-light, sans-serif; + font-size: 24px; +} +.k_24_m { + color: #caa2dd; + font-family: omnes-medium, sans-serif; + font-size: 24px; +} +.k_24_r { + color: #caa2dd; + font-family: omnes-regular, sans-serif; + font-size: 24px; +} +.k_22 { + color: #caa2dd; + font-family: omnes-light, sans-serif; + font-size: 22px; +} +.k_22_m { + color: #caa2dd; + font-family: omnes-medium, sans-serif; + font-size: 22px; +} +.k_20 { + color: #caa2dd; + font-family: omnes-light, sans-serif; + font-size: 20px; +} +.k_20_m { + color: #caa2dd; + font-family: omnes-medium, sans-serif; + font-size: 20px; +} +.k_18 { + color: #caa2dd; + font-family: omnes-light, sans-serif; + font-size: 18px; +} +.k_18_r { + color: #caa2dd; + font-family: omnes-regular, sans-serif; + font-size: 18px; +} +.k_18_m { + color: #caa2dd; + font-family: omnes-medium, sans-serif; + font-size: 18px; +} +.k_16_i { + color: #caa2dd; + font-family: omnes-medium-italic, sans-serif; + font-size: 16px; +} +.k_16_r { + color: #caa2dd; + font-family: omnes-regular, sans-serif; + font-size: 16px; +} +.k_16_m { + color: #caa2dd; + font-family: omnes-medium, sans-serif; + font-size: 16px; +} +.k_14_r { + color: #caa2dd; + font-family: omnes-regular, sans-serif; + font-size: 14px; +} +.k_14_m { + color: #caa2dd; + font-family: omnes-medium, sans-serif; + font-size: 14px; +} +.k_14_i { + color: #caa2dd; + font-family: omnes-medium-italic, sans-serif; + font-size: 14px; +} +.k_13_r { + color: #caa2dd; + font-family: omnes-regular, sans-serif; + font-size: 13px; +} +.k_13_m { + color: #caa2dd; + font-family: omnes-medium, sans-serif; + font-size: 13px; +} +.k_13_i { + color: #caa2dd; + font-family: omnes-medium-italic, sans-serif; + font-size: 13px; +} +.k_12_r { + color: #caa2dd; + font-family: omnes-regular, sans-serif; + font-size: 12px; +} +.k_12_m { + color: #caa2dd; + font-family: omnes-medium, sans-serif; + font-size: 12px; +} +.k_12_i { + color: #caa2dd; + font-family: omnes-medium-italic, sans-serif; + font-size: 12px; +} +.k_10_r { + color: #caa2dd; + font-family: omnes-regular, sans-serif; + font-size: 10px; +} +.k_10_m { + color: #caa2dd; + font-family: omnes-medium, sans-serif; + font-size: 10px; +} +.l_36 { + color: #000000; + font-family: omnes-light, sans-serif; + font-size: 36px; +} +.l_36_m { + color: #000000; + font-family: omnes-medium, sans-serif; + font-size: 36px; +} +.l_26 { + color: #000000; + font-family: omnes-light, sans-serif; + font-size: 26px; +} +.l_26_m { + color: #000000; + font-family: omnes-medium, sans-serif; + font-size: 26px; +} +.l_24 { + color: #000000; + font-family: omnes-light, sans-serif; + font-size: 24px; +} +.l_24_m { + color: #000000; + font-family: omnes-medium, sans-serif; + font-size: 24px; +} +.l_24_r { + color: #000000; + font-family: omnes-regular, sans-serif; + font-size: 24px; +} +.l_22 { + color: #000000; + font-family: omnes-light, sans-serif; + font-size: 22px; +} +.l_22_m { + color: #000000; + font-family: omnes-medium, sans-serif; + font-size: 22px; +} +.l_20 { + color: #000000; + font-family: omnes-light, sans-serif; + font-size: 20px; +} +.l_20_m { + color: #000000; + font-family: omnes-medium, sans-serif; + font-size: 20px; +} +.l_18 { + color: #000000; + font-family: omnes-light, sans-serif; + font-size: 18px; +} +.l_18_r { + color: #000000; + font-family: omnes-regular, sans-serif; + font-size: 18px; +} +.l_18_m { + color: #000000; + font-family: omnes-medium, sans-serif; + font-size: 18px; +} +.l_16_i { + color: #000000; + font-family: omnes-medium-italic, sans-serif; + font-size: 16px; +} +.l_16_r { + color: #000000; + font-family: omnes-regular, sans-serif; + font-size: 16px; +} +.l_16_m { + color: #000000; + font-family: omnes-medium, sans-serif; + font-size: 16px; +} +.l_14_r { + color: #000000; + font-family: omnes-regular, sans-serif; + font-size: 14px; +} +.l_14_m { + color: #000000; + font-family: omnes-medium, sans-serif; + font-size: 14px; +} +.l_14_i { + color: #000000; + font-family: omnes-medium-italic, sans-serif; + font-size: 14px; +} +.l_13_r { + color: #000000; + font-family: omnes-regular, sans-serif; + font-size: 13px; +} +.l_13_m { + color: #000000; + font-family: omnes-medium, sans-serif; + font-size: 13px; +} +.l_13_i { + color: #000000; + font-family: omnes-medium-italic, sans-serif; + font-size: 13px; +} +.l_12_r { + color: #000000; + font-family: omnes-regular, sans-serif; + font-size: 12px; +} +.l_12_m { + color: #000000; + font-family: omnes-medium, sans-serif; + font-size: 12px; +} +.l_12_i { + color: #000000; + font-family: omnes-medium-italic, sans-serif; + font-size: 12px; +} +.l_10_r { + color: #000000; + font-family: omnes-regular, sans-serif; + font-size: 10px; +} +.l_10_m { + color: #000000; + font-family: omnes-medium, sans-serif; + font-size: 10px; +} +.m_36 { + color: #5a5a5a; + font-family: omnes-light, sans-serif; + font-size: 36px; +} +.m_36_m { + color: #5a5a5a; + font-family: omnes-medium, sans-serif; + font-size: 36px; +} +.m_26 { + color: #5a5a5a; + font-family: omnes-light, sans-serif; + font-size: 26px; +} +.m_26_m { + color: #5a5a5a; + font-family: omnes-medium, sans-serif; + font-size: 26px; +} +.m_24 { + color: #5a5a5a; + font-family: omnes-light, sans-serif; + font-size: 24px; +} +.m_24_m { + color: #5a5a5a; + font-family: omnes-medium, sans-serif; + font-size: 24px; +} +.m_24_r { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 24px; +} +.m_22 { + color: #5a5a5a; + font-family: omnes-light, sans-serif; + font-size: 22px; +} +.m_22_m { + color: #5a5a5a; + font-family: omnes-medium, sans-serif; + font-size: 22px; +} +.m_20 { + color: #5a5a5a; + font-family: omnes-light, sans-serif; + font-size: 20px; +} +.m_20_m { + color: #5a5a5a; + font-family: omnes-medium, sans-serif; + font-size: 20px; +} +.m_18 { + color: #5a5a5a; + font-family: omnes-light, sans-serif; + font-size: 18px; +} +.m_18_r { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 18px; +} +.m_18_m { + color: #5a5a5a; + font-family: omnes-medium, sans-serif; + font-size: 18px; +} +.m_16_i { + color: #5a5a5a; + font-family: omnes-medium-italic, sans-serif; + font-size: 16px; +} +.m_16_r { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 16px; +} +.m_16_m { + color: #5a5a5a; + font-family: omnes-medium, sans-serif; + font-size: 16px; +} +.m_14_r { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 14px; +} +.m_14_m { + color: #5a5a5a; + font-family: omnes-medium, sans-serif; + font-size: 14px; +} +.m_14_i { + color: #5a5a5a; + font-family: omnes-medium-italic, sans-serif; + font-size: 14px; +} +.m_13_r { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 13px; +} +.m_13_m { + color: #5a5a5a; + font-family: omnes-medium, sans-serif; + font-size: 13px; +} +.m_13_i { + color: #5a5a5a; + font-family: omnes-medium-italic, sans-serif; + font-size: 13px; +} +.m_12_r { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 12px; +} +.m_12_m { + color: #5a5a5a; + font-family: omnes-medium, sans-serif; + font-size: 12px; +} +.m_12_i { + color: #5a5a5a; + font-family: omnes-medium-italic, sans-serif; + font-size: 12px; +} +.m_10_r { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 10px; +} +.m_10_m { + color: #5a5a5a; + font-family: omnes-medium, sans-serif; + font-size: 10px; +} +.n_36 { + color: #959595; + font-family: omnes-light, sans-serif; + font-size: 36px; +} +.n_36_m { + color: #959595; + font-family: omnes-medium, sans-serif; + font-size: 36px; +} +.n_26 { + color: #959595; + font-family: omnes-light, sans-serif; + font-size: 26px; +} +.n_26_m { + color: #959595; + font-family: omnes-medium, sans-serif; + font-size: 26px; +} +.n_24 { + color: #959595; + font-family: omnes-light, sans-serif; + font-size: 24px; +} +.n_24_m { + color: #959595; + font-family: omnes-medium, sans-serif; + font-size: 24px; +} +.n_24_r { + color: #959595; + font-family: omnes-regular, sans-serif; + font-size: 24px; +} +.n_22 { + color: #959595; + font-family: omnes-light, sans-serif; + font-size: 22px; +} +.n_22_m { + color: #959595; + font-family: omnes-medium, sans-serif; + font-size: 22px; +} +.n_20 { + color: #959595; + font-family: omnes-light, sans-serif; + font-size: 20px; +} +.n_20_m { + color: #959595; + font-family: omnes-medium, sans-serif; + font-size: 20px; +} +.n_18 { + color: #959595; + font-family: omnes-light, sans-serif; + font-size: 18px; +} +.n_18_r { + color: #959595; + font-family: omnes-regular, sans-serif; + font-size: 18px; +} +.n_18_m { + color: #959595; + font-family: omnes-medium, sans-serif; + font-size: 18px; +} +.n_16_i { + color: #959595; + font-family: omnes-medium-italic, sans-serif; + font-size: 16px; +} +.n_16_r { + color: #959595; + font-family: omnes-regular, sans-serif; + font-size: 16px; +} +.n_16_m { + color: #959595; + font-family: omnes-medium, sans-serif; + font-size: 16px; +} +.n_14_r { + color: #959595; + font-family: omnes-regular, sans-serif; + font-size: 14px; +} +.n_14_m { + color: #959595; + font-family: omnes-medium, sans-serif; + font-size: 14px; +} +.n_14_i { + color: #959595; + font-family: omnes-medium-italic, sans-serif; + font-size: 14px; +} +.n_13_r { + color: #959595; + font-family: omnes-regular, sans-serif; + font-size: 13px; +} +.n_13_m { + color: #959595; + font-family: omnes-medium, sans-serif; + font-size: 13px; +} +.n_13_i { + color: #959595; + font-family: omnes-medium-italic, sans-serif; + font-size: 13px; +} +.n_12_r { + color: #959595; + font-family: omnes-regular, sans-serif; + font-size: 12px; +} +.n_12_m { + color: #959595; + font-family: omnes-medium, sans-serif; + font-size: 12px; +} +.n_12_i { + color: #959595; + font-family: omnes-medium-italic, sans-serif; + font-size: 12px; +} +.n_10_r { + color: #959595; + font-family: omnes-regular, sans-serif; + font-size: 10px; +} +.n_10_m { + color: #959595; + font-family: omnes-medium, sans-serif; + font-size: 10px; +} +.o_36 { + color: #d2d2d2; + font-family: omnes-light, sans-serif; + font-size: 36px; +} +.o_36_m { + color: #d2d2d2; + font-family: omnes-medium, sans-serif; + font-size: 36px; +} +.o_26 { + color: #d2d2d2; + font-family: omnes-light, sans-serif; + font-size: 26px; +} +.o_26_m { + color: #d2d2d2; + font-family: omnes-medium, sans-serif; + font-size: 26px; +} +.o_24 { + color: #d2d2d2; + font-family: omnes-light, sans-serif; + font-size: 24px; +} +.o_24_m { + color: #d2d2d2; + font-family: omnes-medium, sans-serif; + font-size: 24px; +} +.o_24_r { + color: #d2d2d2; + font-family: omnes-regular, sans-serif; + font-size: 24px; +} +.o_22 { + color: #d2d2d2; + font-family: omnes-light, sans-serif; + font-size: 22px; +} +.o_22_m { + color: #d2d2d2; + font-family: omnes-medium, sans-serif; + font-size: 22px; +} +.o_20 { + color: #d2d2d2; + font-family: omnes-light, sans-serif; + font-size: 20px; +} +.o_20_m { + color: #d2d2d2; + font-family: omnes-medium, sans-serif; + font-size: 20px; +} +.o_18 { + color: #d2d2d2; + font-family: omnes-light, sans-serif; + font-size: 18px; +} +.o_18_r { + color: #d2d2d2; + font-family: omnes-regular, sans-serif; + font-size: 18px; +} +.o_18_m { + color: #d2d2d2; + font-family: omnes-medium, sans-serif; + font-size: 18px; +} +.o_16_i { + color: #d2d2d2; + font-family: omnes-medium-italic, sans-serif; + font-size: 16px; +} +.o_16_r { + color: #d2d2d2; + font-family: omnes-regular, sans-serif; + font-size: 16px; +} +.o_16_m { + color: #d2d2d2; + font-family: omnes-medium, sans-serif; + font-size: 16px; +} +.o_14_r { + color: #d2d2d2; + font-family: omnes-regular, sans-serif; + font-size: 14px; +} +.o_14_m { + color: #d2d2d2; + font-family: omnes-medium, sans-serif; + font-size: 14px; +} +.o_14_i { + color: #d2d2d2; + font-family: omnes-medium-italic, sans-serif; + font-size: 14px; +} +.o_13_r { + color: #d2d2d2; + font-family: omnes-regular, sans-serif; + font-size: 13px; +} +.o_13_m { + color: #d2d2d2; + font-family: omnes-medium, sans-serif; + font-size: 13px; +} +.o_13_i { + color: #d2d2d2; + font-family: omnes-medium-italic, sans-serif; + font-size: 13px; +} +.o_12_r { + color: #d2d2d2; + font-family: omnes-regular, sans-serif; + font-size: 12px; +} +.o_12_m { + color: #d2d2d2; + font-family: omnes-medium, sans-serif; + font-size: 12px; +} +.o_12_i { + color: #d2d2d2; + font-family: omnes-medium-italic, sans-serif; + font-size: 12px; +} +.o_10_r { + color: #d2d2d2; + font-family: omnes-regular, sans-serif; + font-size: 10px; +} +.o_10_m { + color: #d2d2d2; + font-family: omnes-medium, sans-serif; + font-size: 10px; +} +.p_36 { + color: #ffffff; + font-family: omnes-light, sans-serif; + font-size: 36px; +} +.p_36_m { + color: #ffffff; + font-family: omnes-medium, sans-serif; + font-size: 36px; +} +.p_26 { + color: #ffffff; + font-family: omnes-light, sans-serif; + font-size: 26px; +} +.p_26_m { + color: #ffffff; + font-family: omnes-medium, sans-serif; + font-size: 26px; +} +.p_24 { + color: #ffffff; + font-family: omnes-light, sans-serif; + font-size: 24px; +} +.p_24_m { + color: #ffffff; + font-family: omnes-medium, sans-serif; + font-size: 24px; +} +.p_24_r { + color: #ffffff; + font-family: omnes-regular, sans-serif; + font-size: 24px; +} +.p_22 { + color: #ffffff; + font-family: omnes-light, sans-serif; + font-size: 22px; +} +.p_22_m { + color: #ffffff; + font-family: omnes-medium, sans-serif; + font-size: 22px; +} +.p_20 { + color: #ffffff; + font-family: omnes-light, sans-serif; + font-size: 20px; +} +.p_20_m { + color: #ffffff; + font-family: omnes-medium, sans-serif; + font-size: 20px; +} +.p_18 { + color: #ffffff; + font-family: omnes-light, sans-serif; + font-size: 18px; +} +.p_18_r { + color: #ffffff; + font-family: omnes-regular, sans-serif; + font-size: 18px; +} +.p_18_m { + color: #ffffff; + font-family: omnes-medium, sans-serif; + font-size: 18px; +} +.p_16_i { + color: #ffffff; + font-family: omnes-medium-italic, sans-serif; + font-size: 16px; +} +.p_16_r { + color: #ffffff; + font-family: omnes-regular, sans-serif; + font-size: 16px; +} +.p_16_m { + color: #ffffff; + font-family: omnes-medium, sans-serif; + font-size: 16px; +} +.p_14_r { + color: #ffffff; + font-family: omnes-regular, sans-serif; + font-size: 14px; +} +.p_14_m { + color: #ffffff; + font-family: omnes-medium, sans-serif; + font-size: 14px; +} +.p_14_i { + color: #ffffff; + font-family: omnes-medium-italic, sans-serif; + font-size: 14px; +} +.p_13_r { + color: #ffffff; + font-family: omnes-regular, sans-serif; + font-size: 13px; +} +.p_13_m { + color: #ffffff; + font-family: omnes-medium, sans-serif; + font-size: 13px; +} +.p_13_i { + color: #ffffff; + font-family: omnes-medium-italic, sans-serif; + font-size: 13px; +} +.p_12_r { + color: #ffffff; + font-family: omnes-regular, sans-serif; + font-size: 12px; +} +.p_12_m { + color: #ffffff; + font-family: omnes-medium, sans-serif; + font-size: 12px; +} +.p_12_i { + color: #ffffff; + font-family: omnes-medium-italic, sans-serif; + font-size: 12px; +} +.p_10_r { + color: #ffffff; + font-family: omnes-regular, sans-serif; + font-size: 10px; +} +.p_10_m { + color: #ffffff; + font-family: omnes-medium, sans-serif; + font-size: 10px; +} +.q_36 { + color: #cf2a2a; + font-family: omnes-light, sans-serif; + font-size: 36px; +} +.q_36_m { + color: #cf2a2a; + font-family: omnes-medium, sans-serif; + font-size: 36px; +} +.q_26 { + color: #cf2a2a; + font-family: omnes-light, sans-serif; + font-size: 26px; +} +.q_26_m { + color: #cf2a2a; + font-family: omnes-medium, sans-serif; + font-size: 26px; +} +.q_24 { + color: #cf2a2a; + font-family: omnes-light, sans-serif; + font-size: 24px; +} +.q_24_m { + color: #cf2a2a; + font-family: omnes-medium, sans-serif; + font-size: 24px; +} +.q_24_r { + color: #cf2a2a; + font-family: omnes-regular, sans-serif; + font-size: 24px; +} +.q_22 { + color: #cf2a2a; + font-family: omnes-light, sans-serif; + font-size: 22px; +} +.q_22_m { + color: #cf2a2a; + font-family: omnes-medium, sans-serif; + font-size: 22px; +} +.q_20 { + color: #cf2a2a; + font-family: omnes-light, sans-serif; + font-size: 20px; +} +.q_20_m { + color: #cf2a2a; + font-family: omnes-medium, sans-serif; + font-size: 20px; +} +.q_18 { + color: #cf2a2a; + font-family: omnes-light, sans-serif; + font-size: 18px; +} +.q_18_r { + color: #cf2a2a; + font-family: omnes-regular, sans-serif; + font-size: 18px; +} +.q_18_m { + color: #cf2a2a; + font-family: omnes-medium, sans-serif; + font-size: 18px; +} +.q_16_r { + color: #cf2a2a; + font-family: omnes-regular, sans-serif; + font-size: 16px; +} +.q_16_m { + color: #cf2a2a; + font-family: omnes-medium, sans-serif; + font-size: 16px; +} +.q_14_r { + color: #cf2a2a; + font-family: omnes-regular, sans-serif; + font-size: 14px; +} +.q_14_m { + color: #cf2a2a; + font-family: omnes-medium, sans-serif; + font-size: 14px; +} +.q_14_i { + color: #cf2a2a; + font-family: omnes-medium-italic, sans-serif; + font-size: 14px; +} +.q_13_r { + color: #cf2a2a; + font-family: omnes-regular, sans-serif; + font-size: 13px; +} +.q_13_m { + color: #cf2a2a; + font-family: omnes-medium, sans-serif; + font-size: 13px; +} +.q_13_i { + color: #cf2a2a; + font-family: omnes-medium-italic, sans-serif; + font-size: 13px; +} +.q_12_r { + color: #cf2a2a; + font-family: omnes-regular, sans-serif; + font-size: 12px; +} +.q_12_m { + color: #cf2a2a; + font-family: omnes-medium, sans-serif; + font-size: 12px; +} +.q_12_i { + color: #cf2a2a; + font-family: omnes-medium-italic, sans-serif; + font-size: 12px; +} +.r_36 { + color: #f2f2f2; + font-family: omnes-light, sans-serif; + font-size: 36px; +} +.r_36_m { + color: #f2f2f2; + font-family: omnes-medium, sans-serif; + font-size: 36px; +} +.r_26 { + color: #f2f2f2; + font-family: omnes-light, sans-serif; + font-size: 26px; +} +.r_26_m { + color: #f2f2f2; + font-family: omnes-medium, sans-serif; + font-size: 26px; +} +.r_24 { + color: #f2f2f2; + font-family: omnes-light, sans-serif; + font-size: 24px; +} +.r_24_m { + color: #f2f2f2; + font-family: omnes-medium, sans-serif; + font-size: 24px; +} +.r_24_r { + color: #f2f2f2; + font-family: omnes-regular, sans-serif; + font-size: 24px; +} +.r_22 { + color: #f2f2f2; + font-family: omnes-light, sans-serif; + font-size: 22px; +} +.r_22_m { + color: #f2f2f2; + font-family: omnes-medium, sans-serif; + font-size: 22px; +} +.r_20 { + color: #f2f2f2; + font-family: omnes-light, sans-serif; + font-size: 20px; +} +.r_20_m { + color: #f2f2f2; + font-family: omnes-medium, sans-serif; + font-size: 20px; +} +.r_18 { + color: #f2f2f2; + font-family: omnes-light, sans-serif; + font-size: 18px; +} +.r_18_r { + color: #f2f2f2; + font-family: omnes-regular, sans-serif; + font-size: 18px; +} +.r_18_m { + color: #f2f2f2; + font-family: omnes-medium, sans-serif; + font-size: 18px; +} +.r_16_r { + color: #f2f2f2; + font-family: omnes-regular, sans-serif; + font-size: 16px; +} +.r_16_m { + color: #f2f2f2; + font-family: omnes-medium, sans-serif; + font-size: 16px; +} +.r_14_r { + color: #f2f2f2; + font-family: omnes-regular, sans-serif; + font-size: 14px; +} +.r_14_m { + color: #f2f2f2; + font-family: omnes-medium, sans-serif; + font-size: 14px; +} +.r_14_i { + color: #f2f2f2; + font-family: omnes-medium-italic, sans-serif; + font-size: 14px; +} +.r_13_r { + color: #f2f2f2; + font-family: omnes-regular, sans-serif; + font-size: 13px; +} +.r_13_m { + color: #f2f2f2; + font-family: omnes-medium, sans-serif; + font-size: 13px; +} +.r_13_i { + color: #f2f2f2; + font-family: omnes-medium-italic, sans-serif; + font-size: 13px; +} +.r_12_r { + color: #f2f2f2; + font-family: omnes-regular, sans-serif; + font-size: 12px; +} +.r_12_m { + color: #f2f2f2; + font-family: omnes-medium, sans-serif; + font-size: 12px; +} +.r_12_i { + color: #f2f2f2; + font-family: omnes-medium-italic, sans-serif; + font-size: 12px; +} +.s_36 { + color: #191919; + font-family: omnes-light, sans-serif; + font-size: 36px; +} +.s_36_m { + color: #191919; + font-family: omnes-medium, sans-serif; + font-size: 36px; +} +.s_26 { + color: #191919; + font-family: omnes-light, sans-serif; + font-size: 26px; +} +.s_26_m { + color: #191919; + font-family: omnes-medium, sans-serif; + font-size: 26px; +} +.s_24 { + color: #191919; + font-family: omnes-light, sans-serif; + font-size: 24px; +} +.s_24_m { + color: #191919; + font-family: omnes-medium, sans-serif; + font-size: 24px; +} +.s_24_r { + color: #191919; + font-family: omnes-regular, sans-serif; + font-size: 24px; +} +.s_22 { + color: #191919; + font-family: omnes-light, sans-serif; + font-size: 22px; +} +.s_22_m { + color: #191919; + font-family: omnes-medium, sans-serif; + font-size: 22px; +} +.s_20 { + color: #191919; + font-family: omnes-light, sans-serif; + font-size: 20px; +} +.s_20_m { + color: #191919; + font-family: omnes-medium, sans-serif; + font-size: 20px; +} +.s_18 { + color: #191919; + font-family: omnes-light, sans-serif; + font-size: 18px; +} +.s_18_r { + color: #191919; + font-family: omnes-regular, sans-serif; + font-size: 18px; +} +.s_18_m { + color: #191919; + font-family: omnes-medium, sans-serif; + font-size: 18px; +} +.s_16_r { + color: #191919; + font-family: omnes-regular, sans-serif; + font-size: 16px; +} +.s_16_m { + color: #191919; + font-family: omnes-medium, sans-serif; + font-size: 16px; +} +.s_14_r { + color: #191919; + font-family: omnes-regular, sans-serif; + font-size: 14px; +} +.s_14_m { + color: #191919; + font-family: omnes-medium, sans-serif; + font-size: 14px; +} +.s_14_i { + color: #191919; + font-family: omnes-medium-italic, sans-serif; + font-size: 14px; +} +.s_13_r { + color: #191919; + font-family: omnes-regular, sans-serif; + font-size: 13px; +} +.s_13_m { + color: #191919; + font-family: omnes-medium, sans-serif; + font-size: 13px; +} +.s_13_i { + color: #191919; + font-family: omnes-medium-italic, sans-serif; + font-size: 13px; +} +.s_12_r { + color: #191919; + font-family: omnes-regular, sans-serif; + font-size: 12px; +} +.s_12_m { + color: #191919; + font-family: omnes-medium, sans-serif; + font-size: 12px; +} +.s_12_i { + color: #191919; + font-family: omnes-medium-italic, sans-serif; + font-size: 12px; +} +.x_36 { + color: #D74854; + font-family: omnes-light, sans-serif; + font-size: 36px; +} +.x_36_m { + color: #D74854; + font-family: omnes-medium, sans-serif; + font-size: 36px; +} +.x_26 { + color: #D74854; + font-family: omnes-light, sans-serif; + font-size: 26px; +} +.x_26_m { + color: #D74854; + font-family: omnes-medium, sans-serif; + font-size: 26px; +} +.x_24 { + color: #D74854; + font-family: omnes-light, sans-serif; + font-size: 24px; +} +.x_24_m { + color: #D74854; + font-family: omnes-medium, sans-serif; + font-size: 24px; +} +.x_24_r { + color: #D74854; + font-family: omnes-regular, sans-serif; + font-size: 24px; +} +.x_22 { + color: #D74854; + font-family: omnes-light, sans-serif; + font-size: 22px; +} +.x_22_m { + color: #D74854; + font-family: omnes-medium, sans-serif; + font-size: 22px; +} +.x_20 { + color: #D74854; + font-family: omnes-light, sans-serif; + font-size: 20px; +} +.x_20_m { + color: #D74854; + font-family: omnes-medium, sans-serif; + font-size: 20px; +} +.x_18 { + color: #D74854; + font-family: omnes-light, sans-serif; + font-size: 18px; +} +.x_18_r { + color: #D74854; + font-family: omnes-regular, sans-serif; + font-size: 18px; +} +.x_18_m { + color: #D74854; + font-family: omnes-medium, sans-serif; + font-size: 18px; +} +.x_16_r { + color: #D74854; + font-family: omnes-regular, sans-serif; + font-size: 16px; +} +.x_16_m { + color: #D74854; + font-family: omnes-medium, sans-serif; + font-size: 16px; +} +.x_14_r { + color: #D74854; + font-family: omnes-regular, sans-serif; + font-size: 14px; +} +.x_14_m { + color: #D74854; + font-family: omnes-medium, sans-serif; + font-size: 14px; +} +.x_14_i { + color: #D74854; + font-family: omnes-medium-italic, sans-serif; + font-size: 14px; +} +.x_13_r { + color: #D74854; + font-family: omnes-regular, sans-serif; + font-size: 13px; +} +.x_13_m { + color: #D74854; + font-family: omnes-medium, sans-serif; + font-size: 13px; +} +.x_13_i { + color: #D74854; + font-family: omnes-medium-italic, sans-serif; + font-size: 13px; +} +.x_12_r { + color: #D74854; + font-family: omnes-regular, sans-serif; + font-size: 12px; +} +.x_12_m { + color: #D74854; + font-family: omnes-medium, sans-serif; + font-size: 12px; +} +.x_12_i { + color: #D74854; + font-family: omnes-medium-italic, sans-serif; + font-size: 12px; +} +.t_36 { + color: #faf8f8; + font-family: omnes-light, sans-serif; + font-size: 36px; +} +.t_36_m { + color: #faf8f8; + font-family: omnes-medium, sans-serif; + font-size: 36px; +} +.t_26 { + color: #faf8f8; + font-family: omnes-light, sans-serif; + font-size: 26px; +} +.t_26_m { + color: #faf8f8; + font-family: omnes-medium, sans-serif; + font-size: 26px; +} +.t_24 { + color: #faf8f8; + font-family: omnes-light, sans-serif; + font-size: 24px; +} +.t_24_m { + color: #faf8f8; + font-family: omnes-medium, sans-serif; + font-size: 24px; +} +.t_24_r { + color: #faf8f8; + font-family: omnes-regular, sans-serif; + font-size: 24px; +} +.t_22 { + color: #faf8f8; + font-family: omnes-light, sans-serif; + font-size: 22px; +} +.t_22_m { + color: #faf8f8; + font-family: omnes-medium, sans-serif; + font-size: 22px; +} +.t_20 { + color: #faf8f8; + font-family: omnes-light, sans-serif; + font-size: 20px; +} +.t_20_m { + color: #faf8f8; + font-family: omnes-medium, sans-serif; + font-size: 20px; +} +.t_18 { + color: #faf8f8; + font-family: omnes-light, sans-serif; + font-size: 18px; +} +.t_18_r { + color: #faf8f8; + font-family: omnes-regular, sans-serif; + font-size: 18px; +} +.t_18_m { + color: #faf8f8; + font-family: omnes-medium, sans-serif; + font-size: 18px; +} +.t_16_r { + color: #faf8f8; + font-family: omnes-regular, sans-serif; + font-size: 16px; +} +.t_16_m { + color: #faf8f8; + font-family: omnes-medium, sans-serif; + font-size: 16px; +} +.t_14_r { + color: #faf8f8; + font-family: omnes-regular, sans-serif; + font-size: 14px; +} +.t_14_m { + color: #faf8f8; + font-family: omnes-medium, sans-serif; + font-size: 14px; +} +.t_14_i { + color: #faf8f8; + font-family: omnes-medium-italic, sans-serif; + font-size: 14px; +} +.t_13_r { + color: #faf8f8; + font-family: omnes-regular, sans-serif; + font-size: 13px; +} +.t_13_m { + color: #faf8f8; + font-family: omnes-medium, sans-serif; + font-size: 13px; +} +.t_13_i { + color: #faf8f8; + font-family: omnes-medium-italic, sans-serif; + font-size: 13px; +} +.t_12_r { + color: #faf8f8; + font-family: omnes-regular, sans-serif; + font-size: 12px; +} +.t_12_m { + color: #faf8f8; + font-family: omnes-medium, sans-serif; + font-size: 12px; +} +.t_12_i { + color: #faf8f8; + font-family: omnes-medium-italic, sans-serif; + font-size: 12px; +} +.u_36 { + color: #eaeaea; + font-family: omnes-light, sans-serif; + font-size: 36px; +} +.u_36_m { + color: #eaeaea; + font-family: omnes-medium, sans-serif; + font-size: 36px; +} +.u_26 { + color: #eaeaea; + font-family: omnes-light, sans-serif; + font-size: 26px; +} +.u_26_m { + color: #eaeaea; + font-family: omnes-medium, sans-serif; + font-size: 26px; +} +.u_24 { + color: #eaeaea; + font-family: omnes-light, sans-serif; + font-size: 24px; +} +.u_24_m { + color: #eaeaea; + font-family: omnes-medium, sans-serif; + font-size: 24px; +} +.u_24_r { + color: #eaeaea; + font-family: omnes-regular, sans-serif; + font-size: 24px; +} +.u_22 { + color: #eaeaea; + font-family: omnes-light, sans-serif; + font-size: 22px; +} +.u_22_m { + color: #eaeaea; + font-family: omnes-medium, sans-serif; + font-size: 22px; +} +.u_20 { + color: #eaeaea; + font-family: omnes-light, sans-serif; + font-size: 20px; +} +.u_20_m { + color: #eaeaea; + font-family: omnes-medium, sans-serif; + font-size: 20px; +} +.u_18 { + color: #eaeaea; + font-family: omnes-light, sans-serif; + font-size: 18px; +} +.u_18_r { + color: #eaeaea; + font-family: omnes-regular, sans-serif; + font-size: 18px; +} +.u_18_m { + color: #eaeaea; + font-family: omnes-medium, sans-serif; + font-size: 18px; +} +.u_16_r { + color: #eaeaea; + font-family: omnes-regular, sans-serif; + font-size: 16px; +} +.u_16_m { + color: #eaeaea; + font-family: omnes-medium, sans-serif; + font-size: 16px; +} +.u_14_r { + color: #eaeaea; + font-family: omnes-regular, sans-serif; + font-size: 14px; +} +.u_14_m { + color: #eaeaea; + font-family: omnes-medium, sans-serif; + font-size: 14px; +} +.u_14_i { + color: #eaeaea; + font-family: omnes-medium-italic, sans-serif; + font-size: 14px; +} +.u_13_r { + color: #eaeaea; + font-family: omnes-regular, sans-serif; + font-size: 13px; +} +.u_13_m { + color: #eaeaea; + font-family: omnes-medium, sans-serif; + font-size: 13px; +} +.u_13_i { + color: #eaeaea; + font-family: omnes-medium-italic, sans-serif; + font-size: 13px; +} +.u_12_r { + color: #eaeaea; + font-family: omnes-regular, sans-serif; + font-size: 12px; +} +.u_12_m { + color: #eaeaea; + font-family: omnes-medium, sans-serif; + font-size: 12px; +} +.u_12_i { + color: #eaeaea; + font-family: omnes-medium-italic, sans-serif; + font-size: 12px; +} +.v_36 { + color: #e6f6fb; + font-family: omnes-light, sans-serif; + font-size: 36px; +} +.v_36_m { + color: #e6f6fb; + font-family: omnes-medium, sans-serif; + font-size: 36px; +} +.v_26 { + color: #e6f6fb; + font-family: omnes-light, sans-serif; + font-size: 26px; +} +.v_26_m { + color: #e6f6fb; + font-family: omnes-medium, sans-serif; + font-size: 26px; +} +.v_24 { + color: #e6f6fb; + font-family: omnes-light, sans-serif; + font-size: 24px; +} +.v_24_m { + color: #e6f6fb; + font-family: omnes-medium, sans-serif; + font-size: 24px; +} +.v_24_r { + color: #e6f6fb; + font-family: omnes-regular, sans-serif; + font-size: 24px; +} +.v_22 { + color: #e6f6fb; + font-family: omnes-light, sans-serif; + font-size: 22px; +} +.v_22_m { + color: #e6f6fb; + font-family: omnes-medium, sans-serif; + font-size: 22px; +} +.v_20 { + color: #e6f6fb; + font-family: omnes-light, sans-serif; + font-size: 20px; +} +.v_20_m { + color: #e6f6fb; + font-family: omnes-medium, sans-serif; + font-size: 20px; +} +.v_18 { + color: #e6f6fb; + font-family: omnes-light, sans-serif; + font-size: 18px; +} +.v_18_r { + color: #e6f6fb; + font-family: omnes-regular, sans-serif; + font-size: 18px; +} +.v_18_m { + color: #e6f6fb; + font-family: omnes-medium, sans-serif; + font-size: 18px; +} +.v_16_r { + color: #e6f6fb; + font-family: omnes-regular, sans-serif; + font-size: 16px; +} +.v_16_m { + color: #e6f6fb; + font-family: omnes-medium, sans-serif; + font-size: 16px; +} +.v_14_r { + color: #e6f6fb; + font-family: omnes-regular, sans-serif; + font-size: 14px; +} +.v_14_m { + color: #e6f6fb; + font-family: omnes-medium, sans-serif; + font-size: 14px; +} +.v_14_i { + color: #e6f6fb; + font-family: omnes-medium-italic, sans-serif; + font-size: 14px; +} +.v_13_r { + color: #e6f6fb; + font-family: omnes-regular, sans-serif; + font-size: 13px; +} +.v_13_m { + color: #e6f6fb; + font-family: omnes-medium, sans-serif; + font-size: 13px; +} +.v_13_i { + color: #e6f6fb; + font-family: omnes-medium-italic, sans-serif; + font-size: 13px; +} +.v_12_r { + color: #e6f6fb; + font-family: omnes-regular, sans-serif; + font-size: 12px; +} +.v_12_m { + color: #e6f6fb; + font-family: omnes-medium, sans-serif; + font-size: 12px; +} +.v_12_i { + color: #e6f6fb; + font-family: omnes-medium-italic, sans-serif; + font-size: 12px; +} +.disabled { + opacity: 0.4 !important; + cursor: auto; + background-color: transparent; + pointer-events: none; +} +/* Overrides bootstrap modal */ +.modal-content { + border: 6px solid #1370A3; + border-radius: 0; + padding: 30px 30px; +} +.modal-content .modal-header { + border-bottom: none; + border-top: none; + padding: 0; +} +.modal-content .modal-header h2, +.modal-content .modal-header h3 { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 24px; + margin-bottom: 10px; +} +.modal-content .modal-header .close { + outline: none; + background: url('images/icons-sprite-v5.png') no-repeat top left; + width: 20px; + height: 20px; + background-position: -503px 0; + width: 15px; + height: 15px; + display: block; + opacity: 1; + position: absolute; + top: 10px; + right: 7px; +} +.modal-content .modal-header .close span { + display: none; +} +.modal-content .modal-body { + padding: 0; +} +.modal-content .modal-footer { + border-top: none; + padding: 0; +} +.modal-content .modal-footer .btn { + width: 100%; +} +.modal-content .modal-footer .btn4Confirmation { + width: 20%; +} +.modal-content .modal-footer .btn-primary { + border: 1px solid #8799A3; + border-radius: 6px; + background: #1E79B0; + /* For browsers that do not support gradients */ + background: -webkit-linear-gradient(#1E79B0, #62ADD5); + /* For Safari 5.1 to 6.0 */ + background: -o-linear-gradient(#1E79B0, #62ADD5); + /* For Opera 11.1 to 12.0 */ + background: -moz-linear-gradient(#1E79B0, #62ADD5); + /* For Firefox 3.6 to 15 */ + background: linear-gradient(#1E79B0, #62ADD5); + /* Standard syntax (must be last) */ +} +.sprite { + background: url('images/icons-sprite-v5.png') no-repeat top left; + width: 20px; + height: 20px; +} +.profiles-sprite { + background: url('images/profiles-sprite.png') no-repeat top left; + width: 40px; + height: 28px; +} +.steps-sprite { + background-image: url(images/steps-sprite.png); + background-repeat: no-repeat; + display: block; +} +.actions-sprite { + background: url('images/actions-sprite.png') no-repeat top left; + width: 15px; + height: 15px; +} +.actions-sprite.delete_large { + background-position: 0 0; +} +.actions-sprite.reject_large { + background-position: -25px 0; +} +.actions-sprite.approve_large { + background-position: -50px 0; +} +.sprite.added { + background-position: 0 0; +} +.sprite.approve { + background-position: -30px 0; +} +.sprite.complete { + background-position: -60px 0; +} +.sprite.electricity { + background-position: -90px 0; +} +.sprite.invite { + background-position: -120px 0; +} +.sprite.upload { + background-position: -150px 0; +} +.sprite.add { + background-position: -180px 0; + width: 18px; + height: 18px; +} +.sprite.success { + background-position: -208px 0; + width: 15px; + height: 15px; +} +.sprite.delete { + background-position: -233px 0; + width: 15px; + height: 15px; +} +.sprite.edit-large { + background-position: -258px 0; + height: 18px; +} +.sprite.edit-medium { + background-position: -288px 0; + width: 17px; + height: 16px; +} +.sprite.edit-small { + background-position: -315px 0; + width: 15px; + height: 14px; +} +.sprite.approved { + background-position: -340px 0; + width: 12px; + height: 12px; +} +.sprite.pendingnon-el { + background-position: -362px 0; + width: 12px; + height: 12px; +} +.sprite.pending { + background-position: -384px 0; + width: 12px; + height: 12px; +} +.sprite.todo { + background-position: -406px 0; + width: 12px; + height: 12px; +} +.sprite.amburger { + background-position: -428px 0; + width: 12px; + height: 12px; +} +.sprite.question-mark { + background-position: -450px 0; + width: 18px; + height: 18px; +} +.sprite.delete-circle { + background-position: -478px 0; + width: 15px; + height: 15px; +} +.sprite.close { + background-position: -503px 0; + width: 15px; + height: 15px; +} +.sprite.automation-state { + background-position: -529px 0; + width: 15px; + height: 15px; +} +.sprite.review-state-active { + background-position: -554px 0; + width: 15px; + height: 15px; +} +.sprite.review-state { + background-position: -579px 0; + width: 15px; + height: 15px; +} +.sprite.peer_review-state-active { + background-position: -604px 0; + width: 15px; + height: 15px; +} +.sprite.peer_review-state { + background-position: -629px 0; + width: 15px; + height: 15px; +} +.sprite.approval-state-active { + background-position: -654px 0; + width: 15px; + height: 15px; +} +.sprite.approval-state { + background-position: -679px 0; + width: 15px; + height: 15px; +} +.sprite.handoff-state-active { + background-position: -704px 0; + width: 15px; + height: 15px; +} +.sprite.handoff-state { + background-position: -729px 0; + width: 15px; + height: 15px; +} +.sprite.closed-state-active { + background-position: -754px 0; + width: 15px; + height: 15px; +} +.sprite.closed-state { + background-position: -779px 0; + width: 15px; + height: 15px; +} +.sprite.active-cl { + background-position: -804px 0; + width: 15px; + height: 15px; +} +.sprite.delete-cl { + background-position: -829px 0; + width: 15px; + height: 15px; +} +.sprite.denied-cl { + background-position: -854px 0; + width: 15px; + height: 15px; +} +.sprite.approved-cl { + background-position: -879px 0; + width: 15px; + height: 15px; +} +.sprite.denied-cl-btn-active { + background-position: -904px 0; + width: 25px; + height: 25px; +} +.sprite.denied-cl-btn { + background-position: -939px 0; + width: 25px; + height: 25px; +} +.sprite.approved-cl-btn-active { + background-position: -974px 0; + width: 25px; + height: 25px; +} +.sprite.approved-cl-btn { + background-position: -1009px 0; + width: 25px; + height: 25px; +} +.sprite.not-relevant-btn-active { + background-position: -1044px 0; + width: 25px; + height: 25px; +} +.sprite.not-relevant-btn { + background-position: -1079px 0; + width: 25px; + height: 25px; +} +.sprite.items-todo { + background-position: -1114px 0; + width: 8px; + height: 8px; +} +.sprite.duedate { + background-position: -1132px 0; + width: 12px; + height: 12px; +} +.sprite.small-edit { + background-position: -1154px 0; + height: 14px; +} +.sprite.not-relevant-cl { + background-position: -1179px 0; + width: 15px; + height: 15px; +} +.sprite.pending-state { + background-position: -1204px 0; + width: 15px; + height: 15px; +} +.sprite.starred { + background-position: -1230px 0; + width: 19px; + height: 19px; +} +.sprite.starred-selected { + background-position: -1260px 0; + width: 19px; + height: 19px; +} +.sprite.small-grey-add { + background-position: -1288px 0; + width: 17px; + height: 15px; +} +.sprite.big-grey-add { + background-position: -1313px 0; + width: 19px; + height: 18px; +} +.sprite.red-delete { + background-position: -1341px 0; + width: 17px; + height: 16px; +} +.sprite.grey-check-mark { + background-position: -1390px 0; + width: 17px; + height: 15px; +} +.sprite.order { + background-position: -1417px 0; + width: 14px; + height: 12px; +} +.sprite.admin-dropdown { + background-position: 0 -63px; + width: 14px; + height: 14px; +} +.profiles-sprite.avatar-blue { + background-position: 0 0; + height: 40px; +} +.profiles-sprite.notification { + background-position: 0 -50px; + width: 25px; +} +.profiles-sprite.profile-large { + background-position: 0 -88px; + width: 150px; + height: 140px; +} +.profiles-sprite.profile-medium { + background-position: 0 -238px; + height: 40px; +} +.profiles-sprite.profile-white { + background-position: 0 -288px; + width: 32px; +} +.profiles-sprite.avatar-white { + background-position: 0 -326px; + width: 30px; + height: 30px; +} +.steps-sprite.confirmed { + width: 12px; + height: 12px; + background-position: -5px -5px; +} +.steps-sprite.completed { + width: 12px; + height: 12px; + background-position: -27px -5px; +} +.steps-sprite.completed-non-el { + width: 12px; + height: 12px; + background-position: -49px -5px; +} +.steps-sprite.todo { + width: 12px; + height: 12px; + background-position: -71px -5px; +} +.logo-white { + background: url('images/d2sandbox_logos-150x30.png') no-repeat 0 0; + width: 150px; + height: 30px; +} +.logo-color { + background: url('images/d2sandbox_logos_color-150x30.png') no-repeat 0 0; + width: 150px; + height: 30px; +} +.table-container-flex { + clear: both; +} +.table-container-flex .table { + width: 100%; +} +.table-container-flex .table .head .head-row { + text-align: center; + padding: 8px 15px; + color: #000000; + font-family: omnes-medium, sans-serif; + font-size: 14px; +} +.table-container-flex .table .head .head-row:last-child { + border-right: none; +} +.table-container-flex .flex-container { + display: flex; +} +.table-container-flex .flex-item { + width: 10px; + line-height: 25px; + padding: 5px 15px; + flex-grow: 1; + text-align: left; +} +/*---------------------------------------------- General ----------------------------------------------*/ +/*---------------------------------------------- Parameters ----------------------------------------------*/ +.dashboard { + height: 100%; +} +.dashboard .content-container { + height: 100%; + position: relative; + padding-top: 55px; +} +.dashboard .content-container #content { + height: 100%; +} +.dashboard .content-container #content .row { + height: auto; +} +.dashboard #sidebar { + padding: 20px 5px 20px 5px; + height: 100%; + overflow-y: auto; +} +.dashboard #sidebar .line-separator { + border-bottom: dashed 1px #1370a3; + margin: 20px 0; +} +#full-page-with-header { + margin-top: 59px; + background: url('images/top.jpg') no-repeat 0 0; + /* Transparent Header */ +} +#full-page-with-header #content { + overflow: auto; + position: absolute; + top: 201px; + bottom: 0; + right: 0; + left: 0; + height: auto; +} +#full-page-with-header #header-title { + height: 130px; +} +#full-page-with-header .banner { + -webkit-box-shadow: 0 1px 2px rgba(43, 48, 51, 0.08); + -moz-box-shadow: 0 1px 2px rgba(43, 48, 51, 0.08); + box-shadow: 0 1px 2px rgba(43, 48, 51, 0.08); + z-index: 20; +} +#full-page-with-header .navbar { + background-color: #fff; + margin-bottom: 0; +} +#full-page-with-header #logo { + float: left; + display: block; + margin: 20px 0; +} +#full-page-with-header #logo .logo-trans { + display: none; +} +#full-page-with-header .banner[data-transparent-header="true"] { + width: 100%; + /*top:0; + left:0; + position:absolute; + overflow:visible !important;*/ + z-index: 9998; + background-color: transparent; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + -o-box-shadow: none; + border-bottom: 1px solid rgba(255, 255, 255, 0.25) !important; +} +#full-page-with-header .boxed-mode .banner[data-transparent-header="true"] { + left: 0; + right: 0; + margin: 0 auto; +} +#full-page-with-header .banner[data-transparent-header="true"] #logo .logo-trans { + display: inline; +} +#full-page-with-header .banner[data-transparent-header="true"] #logo .logo-main { + display: none; +} +#full-page-with-header .banner[data-transparent-header="true"] .navbar-nav > li > a, +#full-page-with-header .banner[data-transparent-header="true"] .navbar-nav > li.active > a { + color: #fff; +} +#full-page-with-header .banner[data-transparent-header="true"] .navbar-nav > li > a:hover, +#full-page-with-header .banner[data-transparent-header="true"] .navbar-nav > li.active > a:hover { + color: #fff; +} +#full-page-with-header .banner[data-transparent-header="true"] .navbar-nav > li > a:hover:after, +#full-page-with-header .banner[data-transparent-header="true"] .navbar-nav > li.active > a:after, +#full-page-with-header .banner[data-transparent-header="true"] .navbar-nav > li.active > a:hover:after, +#full-page-with-header .banner[data-transparent-header="true"] .navbar-nav > li.active > a:focus:after { + background-color: #fff; +} +#full-page-with-header .menu-seperator { + color: #ffffff; + font-family: omnes-regular, sans-serif; + font-size: 14px; +} +.navigation h1.caption { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 24px; + position: relative; +} +.navigation h1.caption.profile { + float: none; +} +.navigation li { + text-decoration: none; + list-style: none; +} +.navigation ul.actions-list > li { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 16px; + margin: 0 0 20px 0; + cursor: pointer; +} +.navigation ul.actions-list > li.selected { + color: #5a5a5a; + font-family: omnes-medium, sans-serif; + font-size: 16px; + text-decoration: underline; +} +.navigation ul.actions-list > li span.selected { + float: right; + text-decoration: none; +} +.admin-navigation { + border-right: 1px solid #abb8c0; + height: 100%; + background-color: #DEF3FF; + overflow-y: auto; + padding: 0px 20px; +} +.admin-navigation .menu-engagements-category { + margin-bottom: 20px; +} +.admin-navigation .menu-engagements-category .menu-engagement-category-title { + color: #5a5a5a; + font-family: omnes-medium, sans-serif; + font-size: 16px; + border-bottom: solid 2px; + border-color: #abb8c0; + margin: 10px 0; +} +.admin-navigation li { + text-decoration: none; + list-style: none; +} +.admin-navigation ul.engagements-list > li { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 16px; + margin: 0 0 10px 0; +} +.admin-navigation ul.engagements-list > li.selected { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 16px; +} +.admin-navigation ul.engagements-list li { + position: relative; +} +.admin-navigation ul.engagements-list .clickable { + display: block; + cursor: pointer; +} +.admin-navigation ul.engagement-details { + padding: 0 0 0 8px; + border-left: 1px solid; + border-color: #abb8c0; + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 14px; +} +.admin-navigation ul.engagement-details > li { + margin: 0px; + line-height: 18px; +} +.admin-navigation ul.engagement-details > li.selected > .engagement_detail_menu_name { + text-decoration: underline; +} +.admin-navigation ul.engagement-details > li.selected > .engagement_detail_menu_raquo { + float: right; + margin-right: 20px; +} +.admin-navigation ul.engagement-details > li.engagement-details-sub-catgeory { + margin-top: 5px; +} +.admin-navigation ul.engagement-details > li.engagement-details-sub-catgeory > .sub-category-title { + font-size: 16px; + font-weight: bold; +} +.admin-navigation .sub-category { + display: inline-block; + margin: 0 0 10px 0; + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 16px; + position: relative; +} +.admin-navigation .admin-navbar { + padding-right: 0px; + padding-left: 0px; +} +.admin-navigation .template-selected { + color: #5a5a5a; + font-family: omnes-medium, sans-serif; + font-size: 14px; + text-decoration: underline; +} +.admin-navigation .template-selected .checklist-icon { + background-position: -804px 0; + width: 15px; + height: 15px; +} +.navigation .documentation { + border-right: 1px solid #abb8c0; + height: 100%; + background-color: #DEF3FF; + overflow-y: auto; + padding: 0px 20px; +} +.navigation .documentation #documentation-search { + margin-bottom: 20px; +} +.navigation .documentation #mobile-collapse { + display: none; +} +@media (max-width: 992px) { + .navigation .documentation #mobile-collapse { + display: block; + position: relative; + top: 24px; + color: #1370a3; + cursor: pointer; + } +} +.navigation .documentation h1.caption { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 24px; + position: relative; +} +.navigation .documentation h1.caption.documentation { + float: none; + width: 95%; +} +.navigation .documentation li { + text-decoration: none; + list-style: none; +} +.navigation .documentation ul.actions-list .pages-list .page { + display: block; + cursor: pointer; + margin-bottom: 5px; + padding-top: 5px; + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 16px; +} +.navigation .documentation ul.actions-list .pages-list .sub-page { + display: block; + cursor: pointer; + line-height: 22px; +} +.navigation .documentation ul.actions-list .pages-list .selected { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 16px; +} +.navigation .documentation ul.actions-list .pages-list .page-childs { + font-family: omnes-regular, sans-serif; + font-size: 14px; + cursor: pointer; + padding: 3px 0 0 8px; + border-left: 1px solid; + border-color: #abb8c0; + color: #5a5a5a; +} +.navigation .documentation ul.actions-list .pages-list .page-childs .selected { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 14px; +} +.navigation .documentation span.fa-caret-right { + vertical-align: middle; +} +.navigation { + height: 100%; + padding: 0; +} +.dashboard-navigation { + border-right: 1px solid #abb8c0; + height: 100%; + background-color: #DEF3FF; + overflow-y: auto; + padding: 0px 20px; +} +.dashboard-navigation #engagement-search { + margin-bottom: 20px; +} +.dashboard-navigation #engagement-search .popover .popover-content { + padding: 5px 10px; + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 10px; +} +.dashboard-navigation #engagement-search .popover.right > .arrow:after { + bottom: 10px; + left: 1px; + content: " "; +} +.dashboard-navigation #engagement-search .popover > .arrow { + border-width: 0px; +} +.dashboard-navigation .menu-engagements-category { + margin-bottom: 20px; +} +.dashboard-navigation .menu-engagements-category .menu-engagement-category-title { + color: #5a5a5a; + font-family: omnes-medium, sans-serif; + font-size: 16px; + border-bottom: solid 2px; + border-color: #abb8c0; + margin: 10px 0; +} +.dashboard-navigation #mobile-collapse { + display: none; +} +@media (max-width: 992px) { + .dashboard-navigation #mobile-collapse { + display: block; + position: relative; + top: 21px; + color: #1370a3; + cursor: pointer; + } +} +.dashboard-navigation #search-no-results { + margin-top: 10px; +} +.dashboard-navigation #nav-bar-wrapper { + padding: 0px; +} +@media (max-width: 992px) { + .dashboard-navigation { + height: auto; + } +} +.dashboard-navigation h1.caption { + float: left; + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 24px; + position: relative; +} +.dashboard-navigation h1.caption .add-engagement { + display: inline-block; + margin-left: 8px; + cursor: pointer; + position: relative; + top: 2px; +} +.dashboard-navigation li { + text-decoration: none; + list-style: none; +} +.dashboard-navigation ul.engagements-list > li { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 16px; + margin: 0 0 10px 0; +} +.dashboard-navigation ul.engagements-list > li.selected { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 16px; +} +.dashboard-navigation ul.engagements-list li { + position: relative; +} +.dashboard-navigation ul.engagements-list .red_dot { + background-position: -1114px 0; + width: 8px; + height: 8px; + display: block; + position: absolute; + left: -12px; + top: 4px; +} +.dashboard-navigation ul.engagements-list .clickable { + display: block; + cursor: pointer; +} +.dashboard-navigation ul.engagement-details > li.engagement-details-sub-catgeory .selected { + color: #5a5a5a; + font-family: omnes-medium, sans-serif; + font-size: 14px; +} +.dashboard-navigation ul.engagement-details > li.engagement-details-sub-catgeory .selected .checklist-icon { + background-position: -804px 0; + width: 15px; + height: 15px; +} +.dashboard-navigation ul.engagement-details { + padding: 0 0 0 8px; + border-left: 1px solid; + border-color: #abb8c0; + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 14px; +} +.dashboard-navigation ul.engagement-details > li { + margin: 0px; + line-height: 18px; +} +.dashboard-navigation ul.engagement-details > li.selected > .engagement_detail_menu_name { + text-decoration: underline; +} +.dashboard-navigation ul.engagement-details > li.selected > .engagement_detail_menu_raquo { + float: right; + margin-right: 20px; +} +.dashboard-navigation ul.engagement-details > li.engagement-details-sub-catgeory { + margin-top: 5px; +} +.dashboard-navigation ul.engagement-details > li.engagement-details-sub-catgeory > .sub-category-title { + font-size: 16px; + font-weight: bold; +} +.dashboard-navigation ul.engagement-details > li.engagement-details-sub-catgeory > .sub-category-title > .add-checklist { + width: 18px; + height: 18px; + display: inline-block; + padding-left: 2px; + position: relative; + top: 2px; +} +.dashboard-navigation ul.engagement-details > li.engagement-details-sub-catgeory > .engagement-checklist { + padding-left: 6px; +} +.dashboard-navigation ul.engagement-details > li.engagement-details-sub-catgeory > .engagement-checklist > li > .checklist-icon { + display: inline-block; + position: relative; + top: 2px; + left: -5px; +} +.dashboard-navigation .search-engagement-name { + text-decoration: underline; + display: block; +} +.dashboard-navigation .search-engagement-fields { + font-size: smaller; + display: block; +} +.dashboard .dropdown-menu .divider { + margin: 0; +} +.dashboard .dropdown-menu li { + margin: 8px; +} +.dashboard .dropdown-menu li a.logout { + color: #cf2a2a; +} +.dashboard .dropdown-menu li a.dashboard-admin-link { + color: #1370a3; + font-family: omnes-regular, sans-serif; + font-size: 16px; +} +.dashboard .dropdown-menu li i { + margin-right: 10px; +} +.dashboard #toolbar { + background-color: #4990E2; + height: 55px; + display: flex; + flex-direction: row; + align-items: center; +} +.dashboard #toolbar .header-logo { + background: url('images/d2sandbox_logos-150x30.png') no-repeat 0 0; + width: 150px; + height: 30px; + margin: 0 30px; +} +.dashboard #toolbar ul.header-top-menu { + display: flex; + flex-direction: row; + justify-content: center; + margin: 0; +} +.dashboard #toolbar ul.header-top-menu li { + list-style: none; + margin: 0 20px; +} +.dashboard #toolbar ul.header-top-menu li a { + color: #ffffff; + font-family: omnes-medium, sans-serif; + font-size: 18px; + text-decoration: none; +} +.dashboard #toolbar .header-right { + margin: 0 30px; + display: flex; + flex-direction: row; + justify-content: flex-end; +} +.dashboard #toolbar .header-right .dropdown-menu { + left: -120px; +} +.dashboard #toolbar .header-right .header-chat { + background: url('images/profiles-sprite.png') no-repeat top left; + width: 40px; + height: 28px; + background-position: 0 -50px; + width: 25px; + margin-right: 10px; + position: relative; +} +.dashboard #toolbar .header-right .header-avatar { + background: url('images/profiles-sprite.png') no-repeat top left; + width: 40px; + height: 28px; + background-position: 0 -326px; + width: 30px; + height: 30px; + cursor: pointer; +} +.dashboard #toolbar .header-right .header-avatar .notifications { + min-width: 16px; + height: 16px; + border: solid 1px #ffffff; + background-color: #F5A623; + display: block; + position: absolute; + left: 22px; +} +.dashboard #toolbar .header-right .header-avatar .notifications .count { + color: #ffffff; + font-family: omnes-regular, sans-serif; + font-size: 10px; + display: block; + margin-left: 4px; + margin-right: 4px; + margin-top: 1px; +} +.ice-loader { + background: url('images/wait.gif') no-repeat top left; + width: 16px; + height: 11px; + display: block; + color: #5a5a5a; + font-family: omnes-medium, sans-serif; + font-size: 14px; + /*top: 50%; + left: 50%;*/ +} +.ice-loader-overlay { + /*background-color: #F2F2F2;*/ + opacity: 0.2; +} +#news-and-announcements { + border: 1px solid #D74854; + padding: 0px; +} +#news-and-announcements #news-and-announcements-header { + background-color: #D74854; + color: #ffffff; + font-family: omnes-medium, sans-serif; + font-size: 22px; + padding: 10px 10px 0; +} +#news-and-announcements #news-and-announcements-list { + list-style: none; + padding: 0 15px; +} +#news-and-announcements #news-and-announcements-list .news-and-announcements-details { + border-bottom: 1px dashed #1370a3; + padding-bottom: 10px; +} +#news-and-announcements #news-and-announcements-list .news-and-announcements-details .news-and-announcements-details-header .news-and-announcements-details-title { + font-family: omnes-medium, sans-serif; + font-size: 20px; + cursor: pointer; + margin-top: 15px; + margin-bottom: 0px; + margin-left: 15px; + word-wrap: break-word; +} +#news-and-announcements #news-and-announcements-list .news-and-announcements-details .news-and-announcements-description { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 18px; + margin: 3px 0px; + line-height: 20px; + word-wrap: break-word; +} +#news-and-announcements #news-and-announcements-list .news-and-announcements-details .news-and-announcements-creation { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 12px; +} +#news-and-announcements #news-and-announcements-list .news-and-announcements-details:last-child { + padding: 0px; + border: none; +} +.ice-toast u { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 14px; +} +@media (max-width: 992px) { + .ice-toast { + padding-top: 10px; + padding-left: 0%; + } +} +.tooltip-container { + border: 1px solid #d2d2d2; + background-color: #ffffff; + padding: 0px; +} +.tooltip-container .tooltip-title { + font-family: omnes-medium, sans-serif; + font-size: 22px; + background-color: #ffffff; + color: #444141; + padding: 10px 10px 0; +} +.tooltip-container .tooltip-content { + background-color: #ffffff; + word-wrap: break-word; +} +.tooltip-container .tooltip-content h4 { + padding: 0 15px; +} +#nav-bar-wrapper .tooltip-container { + bottom: 10px; +} +#nav-bar-wrapper .tooltip-container .tooltip-title { + font-family: omnes-medium, sans-serif; + font-size: 16px; + background-color: #ffffff; + color: #444141; + padding: 15px 15px 0; +} +#nav-bar-wrapper .tooltip-container .tooltip-content { + background-color: #ffffff; + word-wrap: break-word; +} +#nav-bar-wrapper .tooltip-container .tooltip-content h4 { + font-family: omnes-regular, sans-serif; + font-size: 16px; + padding: 0 15px; +} +.steps-progress-wrapper { + position: relative; + border: 1px solid; + border-color: #d2d2d2; + padding: 10px 15px; + background-color: #ffffff; +} +.steps-progress-wrapper .progress-side-info { + padding: 0 10px; + margin-top: 4px; +} +.steps-progress-wrapper .progress-side-info .value { + line-height: 20px; + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 12px; +} +.steps-progress-wrapper .progress-side-info .progress-side-info-row { + color: #5a5a5a; + font-family: omnes-medium, sans-serif; + font-size: 12px; + line-height: 20px; +} +.steps-progress-wrapper .progress-side-info .progress-side-info-row .progress-side-info-first-row { + padding-top: 1%; +} +.steps-progress-wrapper .progress-side-info .progress-side-info-row .progress-side-info-last-row { + padding-bottom: 1%; +} +.steps-progress-wrapper .progress-body-content .progress-left-content { + border-right: solid 1px #d2d2d2; +} +.steps-progress-wrapper .progress-body-content .progress-version-release { + margin-top: 5px; + color: #5a5a5a; +} +.steps-progress-wrapper .progress-body-content .description .progress-title { + color: #1370a3; + font-family: omnes-light, sans-serif; + font-size: 20px; +} +.steps-progress-wrapper .progress-body-content .description .progress-title .manual-id { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 20px; +} +.steps-progress-wrapper .progress-body-content .description .progress-title .progress-click { + cursor: pointer; +} +.steps-progress-wrapper .progress-body-content .description .progress-title .progress-question-mark { + font-size: 20px; + color: #1370A3; + display: inline-block; + margin-left: 1px; + cursor: pointer; + position: relative; + top: 1px; +} +.steps-progress-wrapper .progress-body-content .description .progress-title .star-engagement-action { + display: inline-block; + cursor: pointer; + position: relative; + margin-right: 5px; +} +.steps-progress-wrapper .progress-body-content .description .progress-edit-days-left { + float: right; + position: relative; + margin-right: 1%; +} +.steps-progress-wrapper .progress-body-content .description .progress-edit-days-left .steps-progress-days-left { + color: #5a5a5a; + font-family: omnes-medium, sans-serif; + font-size: 14px; + vertical-align: bottom; +} +.steps-progress-wrapper .progress-body-content .description .progress-edit-days-left .edit { + background: url('images/icons-sprite-v5.png') no-repeat top left; + width: 20px; + height: 20px; + background-position: -288px 0; + width: 17px; + height: 16px; + display: inline-block; + cursor: pointer; + position: relative; + top: 3px; +} +.steps-progress-wrapper .progress-body-content .steps-progress-bar { + display: flex; + flex-direction: row; + justify-content: space-between; + overflow: hidden; + border: solid 1px #d2d2d2; + height: 30px; +} +.steps-progress-wrapper .progress-body-content .steps-progress-bar .progress-filled { + background-color: red; + /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#1672a4+0,c2e1f2+100 */ + background: #4990E2; + /* Old browsers */ + background: -moz-linear-gradient(left, #4990E2 0%, #DCEEFC 100%); + /* FF3.6-15 */ + background: -webkit-linear-gradient(left, #4990E2 0%, #DCEEFC 100%); + /* Chrome10-25,Safari5.1-6 */ + background: linear-gradient(to right, #4990E2 0%, #DCEEFC 100%); + /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#4990E2, endColorstr=#DCEEFC, GradientType=1); + /* IE6-9 */ + border-right: solid 1px #d2d2d2; +} +.steps-progress-wrapper .progress-body-content .steps-progress-bar .progress-empty { + position: relative; +} +.steps-progress-wrapper .progress-body-content .steps-progress-bar .progress-empty.right .percents { + left: 10px; +} +.steps-progress-wrapper .progress-body-content .steps-progress-bar .progress-empty.right .edit { + left: 50px; +} +.steps-progress-wrapper .progress-body-content .steps-progress-bar .progress-empty .edit { + font-size: 21px; + color: #1370A3; + display: inline-block; + position: absolute; + top: 5px; + left: -25px; + cursor: pointer; +} +.steps-progress-wrapper .progress-body-content .steps-progress-bar .progress-empty .percents { + position: absolute; + top: 4px; + left: -60px; +} +.steps-progress-wrapper .progress-body-content .steps-progress-bar .progress-empty.full .percents { + left: -70px; +} +.steps-stages-wrapper { + display: flex; + flex-direction: row; + justify-content: space-between; + overflow: hidden; + padding: 10px 0 0 0; +} +.steps-stages-wrapper .steps-stage { + width: 100%; +} +.steps-stages-wrapper .steps-stage:not(.selected) { + position: relative; +} +.steps-stages-wrapper .steps-stage:not(.selected) .circle { + border-radius: 50%; + width: 34px; + height: 34px; + display: inline-block; + background-color: #ffffff; + border: dashed 1px #4990E2; +} +.steps-stages-wrapper .steps-stage:not(.selected) .line { + border-bottom: dashed 1px #4990E2; + position: absolute; + top: 16px; + width: 100%; +} +.steps-stages-wrapper .steps-stage:not(.selected) .text { + position: absolute; + top: -5px; + margin-left: 10px; + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 16px; +} +.steps-stages-wrapper .steps-stage.selected { + position: relative; +} +.steps-stages-wrapper .steps-stage.selected .circle { + border-radius: 50%; + width: 34px; + height: 34px; + display: inline-block; + background-color: #4990E2; +} +.steps-stages-wrapper .steps-stage.selected .line { + border-bottom: solid 2px #4990E2; + position: absolute; + top: 16px; + width: 100%; +} +.steps-stages-wrapper .steps-stage.selected .text { + position: absolute; + top: -5px; + margin-left: 10px; + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 16px; +} +.steps-stages-wrapper .steps-stage.hover-selected { + position: relative; + cursor: pointer; +} +.steps-stages-wrapper .steps-stage.hover-selected .circle { + border-radius: 50%; + width: 34px; + height: 34px; + display: inline-block; + background-color: #4990E2; +} +.steps-stages-wrapper .steps-stage.hover-selected .line { + border-bottom: solid 2px #4990E2; + position: absolute; + top: 16px; + width: 100%; +} +.steps-stages-wrapper .steps-stage.hover-selected .text { + position: absolute; + top: -5px; + margin-left: 10px; + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 16px; +} +.steps-stages-wrapper .steps-stage.previous-stage { + position: relative; +} +.steps-stages-wrapper .steps-stage.previous-stage .circle { + border-radius: 50%; + width: 34px; + height: 34px; + display: inline-block; + background-color: #ffffff; + border: solid 1px #4990E2; +} +.steps-stages-wrapper .steps-stage.previous-stage .line { + border-bottom: solid 1px #4990E2; + position: absolute; + top: 16px; + width: 100%; +} +.steps-stages-wrapper .steps-stage.previous-stage .text { + position: absolute; + top: -5px; + margin-left: 10px; + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 16px; +} +.steps-stages-wrapper .steps-stage.hover-previous-stage { + position: relative; + cursor: pointer; +} +.steps-stages-wrapper .steps-stage.hover-previous-stage .circle { + border-radius: 50%; + width: 34px; + height: 34px; + display: inline-block; + background-color: #ffffff; + border: solid 1px #4990E2; +} +.steps-stages-wrapper .steps-stage.hover-previous-stage .line { + border-bottom: solid 1px #4990E2; + position: absolute; + top: 16px; + width: 100%; +} +.steps-stages-wrapper .steps-stage.hover-previous-stage .text { + position: absolute; + top: -5px; + margin-left: 10px; + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 16px; +} +.addVendorContact .add-button { + float: left; + background: url('images/icons-sprite-v5.png') no-repeat top left; + width: 20px; + height: 20px; + background-position: -180px 0; + width: 18px; + height: 18px; +} +.addVendorContact .remove-button { + width: 100px; + height: 40px; + line-height: 20px; + vertical-align: middle; + padding-left: 10px; + float: left; +} +.addVendorContact .login-form { + margin-top: 20px; +} +.addVendorContact .btn { + width: 100%; +} +.addVendorContact .btn-primary { + border: 1px solid #8799A3; + border-radius: 6px; + background: #1E79B0; + /* For browsers that do not support gradients */ + background: -webkit-linear-gradient(#1E79B0, #62ADD5); + /* For Safari 5.1 to 6.0 */ + background: -o-linear-gradient(#1E79B0, #62ADD5); + /* For Opera 11.1 to 12.0 */ + background: -moz-linear-gradient(#1E79B0, #62ADD5); + /* For Firefox 3.6 to 15 */ + background: linear-gradient(#1E79B0, #62ADD5); + /* Standard syntax (must be last) */ +} +.addVendorContact a.register { + text-decoration: underline; + float: right; + margin: 10px 0 0 0; +} +.add-vf .reject_large { + background: url('images/actions-sprite.png') no-repeat top left; + width: 15px; + height: 15px; + background-position: -25px 0; + cursor: pointer; +} +.add-vf .table { + margin-bottom: 0; +} +.add-vf .table-container-flex .action-row-wrapper, +.add-vf .table-container-flex .data-row-wrapper { + padding: 5px 10px; + margin-bottom: 5px; +} +.add-vf .table-container-flex .data-row-wrapper:nth-child(even) { + background: rgba(158, 158, 158, 0.28); +} +.add-vf .table-container-flex .data-row-wrapper:nth-child(odd) { + border-bottom: 1px solid; + border-top: 1px solid; + border-color: #abb8c0; +} +.add-vf .table-container-flex .data-row-wrapper:first-child { + border-top: none; +} +.add-vf .table-container-flex .data-row-wrapper:last-child { + border-bottom: none; +} +.add-vf .table-container-flex .flex-item { + padding-left: 0px; +} +.add-vf .table-container-flex .flex-item:nth-child(1) { + padding: 5px 15px 5px 0px; + flex-grow: 25; +} +.add-vf .table-container-flex .flex-item:nth-child(2) { + flex-grow: 25; +} +.add-vf .table-container-flex .flex-item:nth-child(3) { + flex-grow: 25; +} +.add-vf .table-container-flex .flex-item:nth-child(4) { + flex-grow: 25; +} +.add-vf .table-container-flex .flex-item:nth-child(5) { + flex-grow: 25; +} +.add-vf .add-vf-confirm-checkbox { + display: block; + clear: both; +} +.add-vf .add-button { + display: block; +} +.add-vf .add-button .add-text { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 16px; + vertical-align: top; + margin-left: 6px; +} +.add-vf .add-button .add-icon { + background: url('images/icons-sprite-v5.png') no-repeat top left; + width: 20px; + height: 20px; + background-position: -180px 0; + width: 18px; + height: 18px; + display: inline-block; +} +.add-vf .remove-button { + width: 100px; + height: 40px; + line-height: 20px; + vertical-align: middle; + padding-left: 10px; + float: left; + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 16px; + margin-top: 8px; + cursor: pointer; +} +.add-vf .remove-button .remove-icon { + display: inline-block; + vertical-align: text-top; + margin-right: 6px; + background: url('images/icons-sprite-v5.png') no-repeat top left; + width: 20px; + height: 20px; + background-position: -478px 0; + width: 15px; + height: 15px; + cursor: pointer; +} +.add-vf .lineColor { + margin: 2px; +} +.add-vf .addVf-form { + margin-top: 20px; +} +.add-vf .btn { + width: 100%; +} +.add-vf .btn-primary { + border: 1px solid #8799A3; + border-radius: 6px; + background: #1E79B0; + /* For browsers that do not support gradients */ + background: -webkit-linear-gradient(#1E79B0, #62ADD5); + /* For Safari 5.1 to 6.0 */ + background: -o-linear-gradient(#1E79B0, #62ADD5); + /* For Opera 11.1 to 12.0 */ + background: -moz-linear-gradient(#1E79B0, #62ADD5); + /* For Firefox 3.6 to 15 */ + background: linear-gradient(#1E79B0, #62ADD5); + /* Standard syntax (must be last) */ +} +.add-vf #skip-add-vf-singup { + margin-top: 10px; + display: block; + text-decoration: underline; + text-align: left; + color: #1370a3; + font-family: omnes-regular, sans-serif; + font-size: 16px; +} +.contact-us .contact-us-form { + margin-top: 20px; +} +.contact-us .btn { + width: 100%; +} +.contact-us .btn-primary { + border: 1px solid #8799A3; + border-radius: 6px; + background: #1E79B0; + /* For browsers that do not support gradients */ + background: -webkit-linear-gradient(#1E79B0, #62ADD5); + /* For Safari 5.1 to 6.0 */ + background: -o-linear-gradient(#1E79B0, #62ADD5); + /* For Opera 11.1 to 12.0 */ + background: -moz-linear-gradient(#1E79B0, #62ADD5); + /* For Firefox 3.6 to 15 */ + background: linear-gradient(#1E79B0, #62ADD5); + /* Standard syntax (must be last) */ +} +.inviteMembers .inviteMembers-title { + height: 130px; + display: flex; + flex-direction: column; + align-items: center; + justify-content: flex-start; +} +.inviteMembers .inviteMembers-title h1 { + color: #ffffff; + font-family: omnes-light, sans-serif; + font-size: 24px; + margin: 20px 0 10px 0; +} +.inviteMembers .inviteMembers-title h2 { + color: #ffffff; + font-family: omnes-medium, sans-serif; + font-size: 16px; + margin: 0; +} +.inviteMembers .add-button:after { + background: url('images/icons-sprite-v5.png') no-repeat top left; + width: 20px; + height: 20px; + background-position: -180px 0; + width: 18px; + height: 18px; + display: block; +} +.inviteMembers .remove-button { + width: 100px; + height: 40px; + line-height: 20px; + vertical-align: middle; + padding-left: 10px; + float: left; +} +.inviteMembers .inviteMembers-form { + margin-top: 20px; +} +.inviteMembers .btn { + width: 100%; +} +.inviteMembers .btn-primary { + border: 1px solid #8799A3; + border-radius: 6px; + background: #1E79B0; + /* For browsers that do not support gradients */ + background: -webkit-linear-gradient(#1E79B0, #62ADD5); + /* For Safari 5.1 to 6.0 */ + background: -o-linear-gradient(#1E79B0, #62ADD5); + /* For Opera 11.1 to 12.0 */ + background: -moz-linear-gradient(#1E79B0, #62ADD5); + /* For Firefox 3.6 to 15 */ + background: linear-gradient(#1E79B0, #62ADD5); + /* Standard syntax (must be last) */ +} +.login .login-form { + margin-top: 20px; +} +.login .btn { + width: 100%; +} +.login .btn-primary { + border: 1px solid #8799A3; + border-radius: 6px; + background: #1E79B0; + /* For browsers that do not support gradients */ + background: -webkit-linear-gradient(#1E79B0, #62ADD5); + /* For Safari 5.1 to 6.0 */ + background: -o-linear-gradient(#1E79B0, #62ADD5); + /* For Opera 11.1 to 12.0 */ + background: -moz-linear-gradient(#1E79B0, #62ADD5); + /* For Firefox 3.6 to 15 */ + background: linear-gradient(#1E79B0, #62ADD5); + /* Standard syntax (must be last) */ +} +.login a.register { + text-decoration: underline; + float: right; + margin: 10px 0 0 0; +} +.login .leftLink { + padding-top: 5px; + width: 50%; + text-align: left; + float: left; +} +.login .leftLink a, +.login .leftLink a:hover, +.login .leftLink a:active, +.login .leftLink a:focus { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 14px; + cursor: pointer; +} +.login .leftLink a { + text-decoration: underline; +} +.login .rightLink { + font-size: 14px; + padding-top: 5px; + width: 50%; + text-align: right; + float: left; +} +.login .rightLink a, +.login .rightLink a:hover, +.login .rightLink a:active, +.login .rightLink a:focus { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 14px; + cursor: pointer; +} +.login .rightLink a { + text-decoration: underline; +} +.register .phone-place-holder::-webkit-input-placeholder { + opacity: 0.7; +} +.register .phone-place-holder::-moz-placeholder { + opacity: 0.7; +} +.register .phone-place-holder:-moz-placeholder { + opacity: 0.7; +} +.register .phone-place-holder:-ms-input-placeholder { + opacity: 0.7; +} +.register .register-form { + margin-top: 20px; +} +.register .btn { + width: 100%; +} +.register .btn-primary { + border: 1px solid #8799A3; + border-radius: 6px; + background: #1E79B0; + /* For browsers that do not support gradients */ + background: -webkit-linear-gradient(#1E79B0, #62ADD5); + /* For Safari 5.1 to 6.0 */ + background: -o-linear-gradient(#1E79B0, #62ADD5); + /* For Opera 11.1 to 12.0 */ + background: -moz-linear-gradient(#1E79B0, #62ADD5); + /* For Firefox 3.6 to 15 */ + background: linear-gradient(#1E79B0, #62ADD5); + /* Standard syntax (must be last) */ +} +.register a, +.register a:hover, +.register a:active, +.register a:focus { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 14px; + cursor: pointer; +} +.register a.login, +.register a.login:hover { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 14px; + float: right; + margin: 5px 0 0 0; +} +.register a.login { + text-decoration: underline; +} +.register .form-group a { + font-size: 14px; + text-decoration: underline; +} +.register .form-group a:hover { + font-size: 14px; +} +.resend-activation .active-form { + margin-top: 20px; +} +.resend-activation .btn { + width: 100%; +} +.resend-activation .btn-primary { + border: 1px solid #8799A3; + border-radius: 6px; + background: #1E79B0; + /* For browsers that do not support gradients */ + background: -webkit-linear-gradient(#1E79B0, #62ADD5); + /* For Safari 5.1 to 6.0 */ + background: -o-linear-gradient(#1E79B0, #62ADD5); + /* For Opera 11.1 to 12.0 */ + background: -moz-linear-gradient(#1E79B0, #62ADD5); + /* For Firefox 3.6 to 15 */ + background: linear-gradient(#1E79B0, #62ADD5); + /* Standard syntax (must be last) */ +} +.resend-activation .leftLink { + padding-top: 5px; + width: 50%; + text-align: left; + float: left; +} +.resetPassword .resetPassword-form { + margin-top: 20px; +} +.resetPassword .btn { + width: 100%; +} +.resetPassword .btn-primary { + border: 1px solid #8799A3; + border-radius: 6px; + background: #1E79B0; + /* For browsers that do not support gradients */ + background: -webkit-linear-gradient(#1E79B0, #62ADD5); + /* For Safari 5.1 to 6.0 */ + background: -o-linear-gradient(#1E79B0, #62ADD5); + /* For Opera 11.1 to 12.0 */ + background: -moz-linear-gradient(#1E79B0, #62ADD5); + /* For Firefox 3.6 to 15 */ + background: linear-gradient(#1E79B0, #62ADD5); + /* Standard syntax (must be last) */ +} +.resetPassword a.register { + text-decoration: underline; + float: right; + margin: 10px 0 0 0; +} +.resetPassword .leftLink { + width: 100%; + padding-top: 5px; + text-align: left; +} +.resetPassword .leftLink a, +.resetPassword .leftLink a:hover, +.resetPassword .leftLink a:active, +.resetPassword .leftLink a:focus { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 14px; + cursor: pointer; +} +.resetPassword .leftLink a { + text-decoration: underline; +} +.terms .terms-form { + margin-top: 20px; +} +.terms .btn { + width: 100%; +} +.terms .btn-primary { + border: 1px solid #8799A3; + border-radius: 6px; + background: #1E79B0; + /* For browsers that do not support gradients */ + background: -webkit-linear-gradient(#1E79B0, #62ADD5); + /* For Safari 5.1 to 6.0 */ + background: -o-linear-gradient(#1E79B0, #62ADD5); + /* For Opera 11.1 to 12.0 */ + background: -moz-linear-gradient(#1E79B0, #62ADD5); + /* For Firefox 3.6 to 15 */ + background: linear-gradient(#1E79B0, #62ADD5); + /* Standard syntax (must be last) */ +} +.terms a.register { + text-decoration: underline; + float: right; + margin: 10px 0 0 0; +} +.updatePassword .updatePassword-form { + margin-top: 20px; +} +.updatePassword .btn { + width: 100%; +} +.updatePassword .btn-primary { + border: 1px solid #8799A3; + border-radius: 6px; + background: #1E79B0; + /* For browsers that do not support gradients */ + background: -webkit-linear-gradient(#1E79B0, #62ADD5); + /* For Safari 5.1 to 6.0 */ + background: -o-linear-gradient(#1E79B0, #62ADD5); + /* For Opera 11.1 to 12.0 */ + background: -moz-linear-gradient(#1E79B0, #62ADD5); + /* For Firefox 3.6 to 15 */ + background: linear-gradient(#1E79B0, #62ADD5); + /* Standard syntax (must be last) */ +} +.updatePassword a.register { + text-decoration: underline; + float: right; + margin: 10px 0 0 0; +} +.updatePassword .leftLink { + padding-top: 5px; + width: 50%; + text-align: left; + float: left; +} +.updatePassword .leftLink a, +.updatePassword .leftLink a:hover, +.updatePassword .leftLink a:active, +.updatePassword .leftLink a:focus { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 14px; + cursor: pointer; +} +.updatePassword .leftLink a { + text-decoration: underline; +} +.cl-add-item-line { + width: 80%; +} +.cl-add-item-line .add-button { + background: url('images/icons-sprite-v5.png') no-repeat top left; + width: 20px; + height: 20px; + background-position: -1288px 0; + width: 17px; + height: 15px; + display: inline-block; + cursor: pointer; + position: relative; + top: 3px; +} +.cl-action-button { + width: 30%; + margin-bottom: 2%; + margin-right: 3%; +} +.cl-action-button:last-child { + margin-right: 0; +} +.checklist-template-edit-item { + padding: 5px; +} +.checklist-template-edit-item.edit-template-name { + color: #1370a3; + font-family: omnes-regular, sans-serif; + font-size: 24px; +} +.checklist-template-edit-item.edit-section-name { + color: #5a5a5a; + font-family: omnes-light, sans-serif; + font-size: 24px; +} +.checklist-template-edit-item.edit-lineitem-name { + color: #5a5a5a; + font-family: omnes-light, sans-serif; + font-size: 18px; + background-color: white; + line-height: normal; +} +.checklist-template-edit-item.edit-lineitem-description { + color: #5a5a5a; + font-family: omnes-light, sans-serif; + font-size: 18px; + width: 100%; + line-height: normal; +} +.glyphicon-cursor-approve-changes { + display: inline-block; + cursor: pointer; + position: relative; + top: 3px; + float: right; +} +.lineitem-changed-icon { + background: url('images/icons-sprite-v5.png') no-repeat top left; + width: 20px; + height: 20px; + background-position: -1390px 0; + width: 17px; + height: 15px; + display: inline-block; + cursor: pointer; + position: relative; + top: 3px; + margin-left: -15px; +} +.remove-item { + background: url('images/icons-sprite-v5.png') no-repeat top left; + width: 20px; + height: 20px; + background-position: -1341px 0; + width: 17px; + height: 16px; + display: inline-block; + cursor: pointer; + position: relative; + top: 3px; + float: right; + margin-right: 1%; +} +.template-edit-item { + background: url('images/icons-sprite-v5.png') no-repeat top left; + width: 20px; + height: 20px; + background-position: -288px 0; + width: 17px; + height: 16px; + display: inline-block; + cursor: pointer; + position: relative; + top: 3px; + float: right; +} +.add-another-section { + background: url('images/icons-sprite-v5.png') no-repeat top left; + width: 20px; + height: 20px; + background-position: -1313px 0; + width: 19px; + height: 18px; + display: inline-block; + cursor: pointer; + position: relative; + top: 3px; +} +.another-section { + border-top: 1px dashed ; + padding-top: 0.5%; +} +.checklist-template { + height: 100%; +} +.checklist-template #checklist-main-section { + padding-left: 12px; +} +.checklist-template .ice-form-error { + text-transform: none; +} +.checklist-template .section-topic { + padding-left: 4%; + color: #5a5a5a; + font-family: omnes-medium, sans-serif; + font-size: 24px; +} +.checklist-template .lineitem-index { + padding-left: 5%; +} +.checklist-template .lineitem-icon-and-index { + padding-left: 0px; +} +.checklist-template #cl-header { + height: 12%; + padding-top: 1%; + padding-bottom: 2%; +} +.checklist-template #cl-header .checklist-template-topic { + border-right: 1px solid; +} +.checklist-template #cl-header .checklist-template-topic #cl-title { + padding-left: 0px; +} +.checklist-template #cl-header .checklist-template-topic #cl-title .template-name { + color: #1370a3; + font-family: omnes-regular, sans-serif; + font-size: 24px; +} +.checklist-template #cl-header .checklist-template-topic #cl-title .template-topic { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 24px; +} +.checklist-template #cl-header .checklist-template-topic .edit-checklist { + display: inline-block; + margin-right: 5px; + cursor: pointer; +} +.checklist-template #state-actions .btn { + width: 100%; +} +.checklist-template .action-buttons { + width: 100%; + margin-bottom: 7px; +} +.checklist-template .add-icon { + background: url('images/icons-sprite-v5.png') no-repeat top left; + width: 20px; + height: 20px; + background-position: -180px 0; + width: 18px; + height: 18px; + display: inline-block; +} +.checklist-template .add-button { + margin-top: 8px; +} +.checklist-template .add-button .add-text { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 16px; + vertical-align: top; + margin-left: 6px; +} +.checklist-template #cl-title h1 { + color: #1370a3; + font-family: omnes-regular, sans-serif; + font-size: 24px; + margin: 0 0 30px 0; +} +.checklist-template h3 { + color: #5a5a5a; + font-family: omnes-medium, sans-serif; + font-size: 18px; +} +.checklist-template h2 { + margin: 0 0 10px 0; + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 24px; + position: relative; +} +.checklist-template h2 .add-people, +.checklist-template h2 .add-step { + background: url('images/icons-sprite-v5.png') no-repeat top left; + width: 20px; + height: 20px; + background-position: -180px 0; + width: 18px; + height: 18px; + display: inline-block; + margin-left: 8px; + cursor: pointer; +} +.checklist-template .main-section { + margin-top: 30px; +} +#state-bar { + float: none; + height: 5%; +} +#cl-header > #cl-title > span.bold { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 24px; +} +.cl-action-buttons-frame { + list-style: none; + display: inline; + padding-top: 20px; +} +#line-item-list { + list-style: none; + padding-right: 15px; +} +#line-item-list > li { + margin-bottom: 25px; +} +#line-item-list > li > h2 { + text-transform: capitalize; + border-bottom: 1px solid; + border-color: #abb8c0; + width: 100%; + margin-bottom: 0px; + padding-left: 5px; + color: #5a5a5a; + font-family: omnes-light, sans-serif; + font-size: 24px; +} +#line-item-list > li > h2 > span.bold { + color: #5a5a5a; + font-family: omnes-medium, sans-serif; + font-size: 24px; +} +#line-item-list > li > ul { + list-style: none; +} +#line-item-list > li > ul > li.line-item-row { + border-bottom: 1px solid; + border-color: #abb8c0; + line-height: 30px; + padding: 0px; + vertical-align: middle; + height: 30px; + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 16px; + cursor: pointer; +} +#line-item-list > li > ul > li.line-item-row .value-icon { + padding: 0px; +} +#line-item-list > li > ul > li.line-item-row .value-icon span { + display: inline-block; + position: relative; + top: 3px; + margin-right: 5px; + margin-left: 3px; + width: 15px; + height: 15px; +} +#line-item-list > li > ul > li.line-item-row .auto-icon { + text-align: right; + padding: 0px; +} +#line-item-list > li > ul > li.line-item-row .auto-icon span { + display: inline-block; + position: relative; + top: 3px; + margin-right: 3px; +} +#line-item-list > li > ul > li.line-item-row.selected-line { + background-color: #EEF9FF; + border-left: 2px solid; + border-top: 2px solid; + border-bottom: 2px solid; + border-color: #1370a3; + position: relative; + z-index: 1; + top: -1px; + left: -2px; +} +#line-item-list > li > ul > li.line-item-row.selected-line > .selected-line-connector { + position: absolute; + right: -19px; + width: 20px; + height: 30px; + top: -2px; + background-color: #EEF9FF; + border-top: 2px solid; + border-bottom: 2px solid; + border-color: #1370a3; +} +#line-item-extended { + background-color: #EEF9FF; + border: 2px solid; + border-color: #1370a3; + padding: 15px; +} +@media (min-width: 992px) { + #line-item-extended { + max-height: 100%; + overflow-y: auto; + } +} +#line-item-extended > header { + padding: 0 30px; + padding-bottom: 0px; +} +#line-item-extended > header > h2 { + text-transform: capitalize; + padding: 0px; + margin: 0px; + line-height: 32px; + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 18px; +} +#line-item-extended > header > h2 > span.bold { + color: #5a5a5a; + font-family: omnes-medium, sans-serif; + font-size: 18px; +} +#line-item-extended > header > #decision-actions { + list-style: none; + text-align: right; + margin: 0px; +} +#line-item-extended > header > #decision-actions > li { + display: inline-block; + margin-left: 2px; + background: url('images/icons-sprite-v5.png') no-repeat top left; + width: 20px; + height: 20px; +} +#line-item-extended > header > #decision-actions.active > li { + cursor: pointer; +} +#line-item-extended > header > #decision-actions > li.not-relevant-btn { + background-position: -1079px 0; + width: 25px; + height: 25px; +} +#line-item-extended > header > #decision-actions.active > li.not-relevant-btn:hover { + background-position: -1044px 0; + width: 25px; + height: 25px; +} +#line-item-extended > header > #decision-actions > li.not-relevant-btn.active { + background-position: -1044px 0; + width: 25px; + height: 25px; +} +#line-item-extended > header > #decision-actions > li.denied-cl-btn { + background-position: -939px 0; + width: 25px; + height: 25px; +} +#line-item-extended > header > #decision-actions.active > li.denied-cl-btn:hover { + background-position: -904px 0; + width: 25px; + height: 25px; +} +#line-item-extended > header > #decision-actions > li.denied-cl-btn.active { + background-position: -904px 0; + width: 25px; + height: 25px; +} +#line-item-extended > header > #decision-actions > li.approved-cl-btn { + background-position: -1009px 0; + width: 25px; + height: 25px; +} +#line-item-extended > header > #decision-actions.active > li.approved-cl-btn:hover { + background-position: -974px 0; + width: 25px; + height: 25px; +} +#line-item-extended > header > #decision-actions > li.approved-cl-btn.active { + background-position: -974px 0; + width: 25px; + height: 25px; +} +#line-item-extended > #line-item-description { + margin: 0 15px; + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 16px; +} +#line-item-extended > #line-item-validation-instructions { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 14px; + background-color: #fff; + border: 1px solid; + border-color: #1370a3; + padding: 15px; + margin-top: 15px; +} +#line-item-extended > #line-item-validation-instructions h3 { + text-transform: capitalize; + margin: 0px; + color: #5a5a5a; + font-family: omnes-medium, sans-serif; + font-size: 18px; +} +#line-item-extended > #line-item-validation-instructions p { + margin-top: 5px; +} +#line-item-extended > #line-item-validation-instructions p ul { + padding-left: 15px; +} +#line-item-extended > #line-item-audit-logs { + padding: 0 15px; +} +#line-item-extended > #line-item-audit-logs > h3 { + text-transform: capitalize; + color: #5a5a5a; + font-family: omnes-medium, sans-serif; + font-size: 18px; +} +#line-item-extended > #line-item-audit-logs > #audit-log-list { + list-style: none; +} +#line-item-extended > #line-item-audit-logs > #audit-log-list > li { + margin: 0 15px 10px; + border-bottom: 2px solid; + border-color: #abb8c0; +} +#line-item-extended > #line-item-audit-logs > #audit-log-list > li > .audit-creator { + color: #5a5a5a; + font-family: omnes-medium, sans-serif; + font-size: 16px; + margin: 0px; + padding: 0px; +} +#line-item-extended > #line-item-audit-logs > #audit-log-list > li > .audit-date { + text-align: right; + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 14px; + padding: 0px; +} +#line-item-extended > #line-item-audit-logs > #audit-log-list > li > .audit-text { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 16px; + margin-bottom: 0px; + padding: 0px; +} +#line-item-extended > #line-item-audit-logs > #new-audit-log-from { + margin: 0 0 15px; +} +#line-item-extended > #line-item-audit-logs > #new-audit-log-from #new-audit-log-text { + border-color: #abb8c0; + margin-bottom: 15px; +} +.btn-gradient-primary { + font-weight: bold; + color: #FFFFFF; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #37B2E5; + *background-color: #37B2E5; + background-image: -moz-linear-gradient(top, #0079AB, #37B2E5); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0079AB), to(#37B2E5)); + background-image: -webkit-linear-gradient(top, #0079AB, #37B2E5); + background-image: -o-linear-gradient(top, #0079AB, #37B2E5); + background-image: linear-gradient(to bottom, #0079AB, #37B2E5); + background-repeat: repeat-x; + border-color: #37B2E5; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0079AB', endColorstr='#37B2E5', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} +.btn-gradient-success { + font-weight: bold; + color: #FFFFFF; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #41A02C; + *background-color: #41A02C; + background-image: -moz-linear-gradient(top, #A2E652, #41A02C); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#A2E652), to(#41A02C)); + background-image: -webkit-linear-gradient(top, #A2E652, #41A02C); + background-image: -o-linear-gradient(top, #A2E652, #41A02C); + background-image: linear-gradient(to bottom, #A2E652, #41A02C); + background-repeat: repeat-x; + border-color: #41A02C; + border-color: #888; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#A2E652', endColorstr='#41A02C', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} +.btn-gradient-danger { + font-weight: bold; + color: #FFFFFF; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #AE0020; + *background-color: #AE0020; + background-image: -moz-linear-gradient(top, #F74658, #AE0020); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#F74658), to(#AE0020)); + background-image: -webkit-linear-gradient(top, #F74658, #AE0020); + background-image: -o-linear-gradient(top, #F74658, #AE0020); + background-image: linear-gradient(to bottom, #F74658, #AE0020); + background-repeat: repeat-x; + border-color: #AE0020; + border-color: #888; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#F74658', endColorstr='#AE0020', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} +.account .btn { + width: 100%; +} +.account .btn-primary { + border: 1px solid #8799A3; + border-radius: 6px; + background: #1E79B0; + /* For browsers that do not support gradients */ + background: -webkit-linear-gradient(#1E79B0, #62ADD5); + /* For Safari 5.1 to 6.0 */ + background: -o-linear-gradient(#1E79B0, #62ADD5); + /* For Opera 11.1 to 12.0 */ + background: -moz-linear-gradient(#1E79B0, #62ADD5); + /* For Firefox 3.6 to 15 */ + background: linear-gradient(#1E79B0, #62ADD5); + /* Standard syntax (must be last) */ +} +.account .content .steps-progress-wrapper { + margin-top: 10px; +} +.account .content h1 { + color: #1370a3; + font-family: omnes-light, sans-serif; + font-size: 36px; + margin: 0 0 30px 0; +} +.account .content h2 { + margin: 0 0 10px 0; + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 24px; + position: relative; +} +.account .content h2 .add-people, +.account .content h2 .add-step { + background: url('images/icons-sprite-v5.png') no-repeat top left; + width: 20px; + height: 20px; + background-position: -180px 0; + width: 18px; + height: 18px; + display: inline-block; + margin-left: 8px; + cursor: pointer; +} +.account .content h3 { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 20px; +} +.account .content .main-section { + margin-top: 30px; +} +.account .content .steps { + border-right: dashed 1px #1370a3; + height: 100%; + padding-right: 20px; +} +.account .content .steps ul li.step { + list-style: none; + position: relative; + padding: 10px 10px 10px 4px; +} +.account .content .steps ul li.step.selected { + background-color: #DEF3FF; +} +.account .content .steps ul li.step .description { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 16px; + border-bottom: dashed 1px #959595; + padding: 10px 0; +} +.account .content .steps ul li.step .description input { + position: absolute; + top: 10px; + left: 0; + margin-right: 20px; +} +.account .content .steps ul li.step .description .step-text { + margin-left: 20px; +} +.account .content .steps ul li.step .description .step-state { + position: absolute; + top: 24px; +} +.account .content .steps ul li.step .description .step-state.todo { + background-image: url(images/steps-sprite.png); + background-repeat: no-repeat; + display: block; + width: 12px; + height: 12px; + background-position: -71px -5px; + display: inline-block; +} +.account .content .steps ul li.step .description .step-state.confirmed { + background-image: url(images/steps-sprite.png); + background-repeat: no-repeat; + display: block; + width: 12px; + height: 12px; + background-position: -5px -5px; + display: inline-block; +} +.account .content .steps ul li.step .description .step-state.completed { + background-image: url(images/steps-sprite.png); + background-repeat: no-repeat; + display: block; + width: 12px; + height: 12px; + background-position: -27px -5px; + display: inline-block; +} +.account .content .steps ul li.step .description .step-state.completed-non-el { + background-image: url(images/steps-sprite.png); + background-repeat: no-repeat; + display: block; + width: 12px; + height: 12px; + background-position: -49px -5px; + display: inline-block; +} +.account .content .steps ul li.step .details { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 12px; + margin-bottom: 20px; +} +.account .content .steps ul li.step .details .actions { + float: right; + margin-top: 4px; +} +.account .content .steps ul li.step .details .actions .moveto-confirmed { + background: url('images/icons-sprite-v5.png') no-repeat top left; + width: 20px; + height: 20px; + background-position: -208px 0; + width: 15px; + height: 15px; + display: inline-block; + cursor: pointer; +} +.account .content .steps ul li.step .details .actions .moveto-todo { + background: url('images/icons-sprite-v5.png') no-repeat top left; + width: 20px; + height: 20px; + background-position: -478px 0; + width: 15px; + height: 15px; + display: inline-block; + cursor: pointer; +} +.account .content .steps ul li.step .details .actions .moveto-delete { + background: url('images/icons-sprite-v5.png') no-repeat top left; + width: 20px; + height: 20px; + background-position: -233px 0; + width: 15px; + height: 15px; + display: inline-block; + cursor: pointer; +} +.account .content .right-panel { + height: 100%; + padding-left: 20px; + padding-bottom: 5px; +} +.account .content .right-panel .personImage { + background: url('images/profiles-sprite.png') no-repeat top left; + width: 40px; + height: 28px; + background-position: 0 -88px; + width: 150px; + height: 140px; + display: block; +} +.account .content .right-panel .line-separator { + border-bottom: solid lightgrey; + margin: 20px 0; +} +.account .content .right-panel .storage-credentials { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 18px; +} +.account .content .right-panel .access-key { + margin-bottom: 10px; + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 16px; +} +.account .content .right-panel .access-secret { + margin-bottom: 10px; + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 16px; +} +.account .content .right-panel .show-secret { + text-decoration-line: underline; + cursor: pointer; +} +.engagement_link { + text-decoration: underline; + cursor: pointer; +} +.notifications .table { + margin-bottom: 0; +} +.notifications .table-container-flex .data-row-wrapper { + padding: 10px 20px; +} +.notifications .table-container-flex .flex-item:nth-child(1) { + padding-left: 5px; + padding-top: 15px; + flex-grow: 2; +} +.notifications .table-container-flex .flex-item:nth-child(2) { + padding-top: 12px; + flex-grow: 93; +} +.notifications .table-container-flex .flex-item:nth-child(3) { + padding-top: 12px; + flex-grow: 5; +} +.notifications .pagination > .active > a, +.notifications .pagination > .active > span, +.notifications .pagination > .active > a:hover, +.notifications .pagination > .active > span:hover, +.notifications .pagination > .active > a:focus, +.notifications .pagination > .active > span:focus { + background-color: #DEF3FF; + border-color: #DDDDDD; + color: #000000; + cursor: pointer; + z-index: 2; +} +.notifications .btn { + width: 100%; +} +.notifications .lineColor { + background-color: #F6F3F3; +} +.notifications .electricity { + background: url('images/icons-sprite-v5.png') no-repeat top left; + width: 20px; + height: 20px; + background-position: -90px 0; + display: block; + margin-top: 10px; + margin-left: 10px; +} +.notifications .delete { + background: url('images/icons-sprite-v5.png') no-repeat top left; + width: 20px; + height: 20px; + background-position: -478px 0; + width: 15px; + height: 15px; + display: block; + cursor: pointer; + margin-top: 11px; +} +.notifications .fLeft { + float: left; + height: 50px; +} +.notifications .hoverCyan { + line-height: 40px; +} +.notifications .hoverCyan:hover { + background-color: #DEF3FF; +} +.notifications .boldFont { + font-weight: bold; +} +.notifications .marginLeft60 { + margin-left: -60px; +} +.notifications .height510 { + height: 510px; + margin-top: -30px; +} +.notifications .height50 { + height: 50px; + line-height: 50px; + width: 1100px; +} +.notifications .marginLeft5 { + margin-left: 5px; +} +.notifications .marginTop5 { + margin-top: 5px; + margin-left: 40px; +} +.notifications .personImage { + background: url('images/profiles-sprite.png') no-repeat top left; + width: 40px; + height: 28px; + background-position: 0 -88px; + width: 150px; + height: 140px; + display: block; +} +.notifications .textAlignCenter { + text-align: center; + width: 1100px; +} +.notifications .btn-primary { + border: 1px solid #8799A3; + border-radius: 6px; + background: #1E79B0; + /* For browsers that do not support gradients */ + background: -webkit-linear-gradient(#1E79B0, #62ADD5); + /* For Safari 5.1 to 6.0 */ + background: -o-linear-gradient(#1E79B0, #62ADD5); + /* For Opera 11.1 to 12.0 */ + background: -moz-linear-gradient(#1E79B0, #62ADD5); + /* For Firefox 3.6 to 15 */ + background: linear-gradient(#1E79B0, #62ADD5); + /* Standard syntax (must be last) */ +} +.notifications .pad17 { + padding-top: 17px; + display: block; +} +.notifications .content .steps-progress-wrapper { + margin-top: 10px; +} +.notifications .content h1 { + color: #1370a3; + font-family: omnes-light, sans-serif; + font-size: 36px; + margin: 0 0 30px 0; +} +.notifications .content h2 { + margin: 0 0 10px 0; + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 24px; + position: relative; +} +.notifications .content h2 .add-people, +.notifications .content h2 .add-step { + background: url('images/icons-sprite-v5.png') no-repeat top left; + width: 20px; + height: 20px; + background-position: -180px 0; + width: 18px; + height: 18px; + display: inline-block; + margin-left: 8px; + cursor: pointer; +} +.notifications .content .main-section { + margin-top: 30px; +} +.notifications .content .steps { + height: 100%; + padding-right: 20px; +} +.notifications .content .steps ul li.step { + list-style: none; + position: relative; + padding: 10px 10px 10px 4px; +} +.notifications .content .steps ul li.step.selected { + background-color: #DEF3FF; +} +.notifications .content .steps ul li.step .description { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 16px; + padding: 10px 0; +} +.notifications .content .steps ul li.step .description input { + position: absolute; + top: 10px; + left: 0; + margin-right: 20px; +} +.notifications .content .steps ul li.step .description .step-text { + margin-left: 20px; +} +.notifications .content .steps ul li.step .description .step-state { + position: absolute; + top: 24px; +} +.notifications .content .steps ul li.step .description .step-state.todo { + background-image: url(images/steps-sprite.png); + background-repeat: no-repeat; + display: block; + width: 12px; + height: 12px; + background-position: -71px -5px; + display: inline-block; +} +.notifications .content .steps ul li.step .description .step-state.confirmed { + background-image: url(images/steps-sprite.png); + background-repeat: no-repeat; + display: block; + width: 12px; + height: 12px; + background-position: -5px -5px; + display: inline-block; +} +.notifications .content .steps ul li.step .description .step-state.completed { + background-image: url(images/steps-sprite.png); + background-repeat: no-repeat; + display: block; + width: 12px; + height: 12px; + background-position: -27px -5px; + display: inline-block; +} +.notifications .content .steps ul li.step .description .step-state.completed-non-el { + background-image: url(images/steps-sprite.png); + background-repeat: no-repeat; + display: block; + width: 12px; + height: 12px; + background-position: -49px -5px; + display: inline-block; +} +.notifications .content .steps ul li.step .details { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 12px; + margin-bottom: 20px; +} +.notifications .content .steps ul li.step .details .actions { + float: right; + margin-top: 4px; +} +.notifications .content .steps ul li.step .details .actions .moveto-confirmed { + background: url('images/icons-sprite-v5.png') no-repeat top left; + width: 20px; + height: 20px; + background-position: -208px 0; + width: 15px; + height: 15px; + display: inline-block; + cursor: pointer; +} +.notifications .content .steps ul li.step .details .actions .moveto-todo { + background: url('images/icons-sprite-v5.png') no-repeat top left; + width: 20px; + height: 20px; + background-position: -478px 0; + width: 15px; + height: 15px; + display: inline-block; + cursor: pointer; +} +.notifications .content .steps ul li.step .details .actions .moveto-delete { + background: url('images/icons-sprite-v5.png') no-repeat top left; + width: 20px; + height: 20px; + background-position: -233px 0; + width: 15px; + height: 15px; + display: inline-block; + cursor: pointer; +} +.notifications .content .team-and-logs { + height: 100%; + padding-left: 20px; +} +.notifications .content .team-and-logs .team ul.team-avatars li { + list-style: none; + display: inline-block; + margin-right: 10px; + background: url('images/profiles-sprite.png') no-repeat top left; + width: 40px; + height: 28px; + background-position: 0 -238px; + height: 40px; +} +.notifications .content .team-and-logs .team ul.team-avatars li.me { + background: url('images/profiles-sprite.png') no-repeat top left; + width: 40px; + height: 28px; + background-position: 0 0; + height: 40px; +} +.notifications .content .team-and-logs .activity-log ul.activity-log-details li { + list-style: none; + position: relative; + margin-left: 30px; +} +.notifications .content .team-and-logs .activity-log ul.activity-log-details li:before { + content: ''; + display: inline-block; + background: url('images/icons-sprite-v5.png') no-repeat top left; + width: 20px; + height: 20px; + background-position: -90px 0; + position: absolute; + top: 0; + left: -30px; +} +.user-profile-settings-form .receive-email-options { + padding-left: 20px; +} +.cl-action-button { + width: 30%; + margin-bottom: 2%; + margin-right: 3%; +} +.cl-action-button:last-child { + margin-right: 0; +} +#main .popover { + max-width: 330px; +} +.popover { + border: 2px solid #15B3E8; + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 14px; + z-index: 100000; +} +.popover .popover-title { + background-color: white; + margin-top: 5px; + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 18px; + padding: 5px 10px; +} +.popover .popover-content { + padding: 5px 10px; + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 16px; +} +.popover .popover-content ul { + list-style-type: none; + padding-left: 0px; + margin-left: 0px; + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 16px; + word-wrap: break-word; +} +.cl-action-control { + padding-left: 8%; +} +.checkList { + height: 100%; + padding: 0 20px; +} +.checkList > #checklist-main-section { + height: 80% !important; +} +.checkList .blocked-area { + pointer-events: none; + opacity: 0.5; + filter: alpha(opacity=50); + background-color: white; +} +.checkList #modal_header_checklist { + margin-top: 0px; + padding: 0 29px; +} +.checkList #modal-header-checklist-15 { + margin-top: 0px; + padding: 0 15px; +} +.checkList .font-deco { + text-decoration-line: underline; + text-decoration-style: dashed; +} +.checkList .lineColor { + background-color: #F6F3F3; +} +.checkList .font_header { + color: #5a5a5a; + font-family: omnes-medium, sans-serif; + font-size: 18px; +} +.checkList .font_header_chk_name { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 18px; +} +.checkList .font_user_name { + color: #5a5a5a; + font-family: omnes-medium, sans-serif; + font-size: 18px; +} +.checkList .font_date { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 14px; +} +.checkList .font_line { + border-bottom: 1px solid grey; +} +.checkList .font_desc { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 16px; + text-align: left; +} +.checkList .pad0 { + padding: 0px; +} +.checkList .dash { + border-bottom: dashed 1px; + border-color: #abb8c0; + padding: 0px; +} +.checkList .italic { + font-style: italic; +} +.checkList #modal-title { + margin: 0px; +} +.checkList .checkList-form { + max-height: 100%; +} +.checkList .checkList-form #checklist-subject { + padding: 0 15px; + margin-bottom: 0px; +} +.checkList .checkList-form .checklist-modal-multi-select { + margin-top: 1%; +} +.checkList .checkList-form .checklist-modal-multi-select .btn-group .btn { + color: #5a5a5a; + font-family: omnes-medium, sans-serif; + font-size: 14px; +} +.checkList .checkList-form .btn { + width: 100%; +} +.checkList .checkList-form .action-buttons { + width: 100%; + margin-bottom: 7px; +} +.checkList .checkList-form .col-no-pad { + padding: 0px; +} +.checkList .checkList-form .col-no-top { + margin: 0px 0px 0px 0px; +} +.checkList .checkList-form .text-right { + text-align: right; +} +.checkList .checkList-form .modal-header { + display: flex; + flex-direction: row; +} +.checkList .checkList-form .modal-header h2, +.checkList .checkList-form .modal-header h3 { + display: inline-block; + flex-grow: 10; +} +.checkList .checkList-form .font_title { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 16px; +} +.checkList .checkList-form .add-icon { + background: url('images/icons-sprite-v5.png') no-repeat top left; + width: 20px; + height: 20px; + background-position: -180px 0; + width: 18px; + height: 18px; + display: inline-block; +} +.checkList .checkList-form .add-button { + margin-top: 8px; + display: block; +} +.checkList .checkList-form .add-button .add-text { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 16px; + vertical-align: top; + margin-left: 6px; +} +.checkList .checkList-form .margin_btm { + margin-bottom: 12px; +} +.checkList .checkList-form .margin_top { + margin-top: 12px; +} +.checkList .checkList-form .margin_btm5 { + margin-bottom: 5px; +} +.checkList .checkList-form .personImage { + background: url('images/profiles-sprite.png') no-repeat top left; + width: 40px; + height: 28px; + background-position: 0 -88px; + width: 150px; + height: 140px; + display: block; +} +.checkList .checkList-form .table { + margin-bottom: 0; +} +.checkList .checkList-form .table-container-flex .data-row-wrapper { + padding: 10px 20px; +} +.checkList .checkList-form .table-container-flex .flex-item:nth-child(1) { + padding-left: 0; + flex-grow: 25; +} +.checkList .checkList-form .table-container-flex .flex-item:nth-child(2) { + flex-grow: 25; +} +.checkList .checkList-form .table-container-flex .flex-item:nth-child(3) { + flex-grow: 25; +} +.checkList .checkList-form .table-container-flex .flex-item:nth-child(4) { + flex-grow: 25; +} +.checkList .checkList-form .table-container-flex-a .data-row-wrapper { + padding: 10px 20px; +} +.checkList .checkList-form .table-container-flex-a .flex-item-a:nth-child(1) { + padding-left: 0; + flex-grow: 40; + width: 90%; + float: left; +} +.checkList .checkList-form .table-container-flex-a .flex-item-a:nth-child(2) { + flex-grow: 25; + width: 10%; + float: left; +} +.checkList .checkList-form .remove-icon { + cursor: pointer; + vertical-align: text-top; + background: url('images/actions-sprite.png') no-repeat top left; + width: 15px; + height: 15px; + background-position: 0 0; + display: block; + position: relative; + top: 11px; +} +.checkList .checkList-form .flex-item-a:nth-child(0) { + padding-left: 0; + flex-grow: 40; + width: 80%; +} +.checkList .checkList-form .flex-item-a:nth-child(1) { + flex-grow: 25; + width: 20%; +} +.checkList .checkList-form .steps-progress-wrapper { + margin-top: 10px; +} +.checkList .checkList-form .fnt { + font-size: 20px; +} +.checkList .checkList-form h1 { + color: #1370a3; + font-family: omnes-light, sans-serif; + font-size: 36px; + margin: 0 0 30px 0; +} +.checkList .checkList-form h3 { + color: #5a5a5a; + font-family: omnes-medium, sans-serif; + font-size: 18px; +} +.checkList .checkList-form h2 { + margin: 0 0 10px 0; + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 24px; + position: relative; +} +.checkList .checkList-form h2 .add-people, +.checkList .checkList-form h2 .add-step { + background: url('images/icons-sprite-v5.png') no-repeat top left; + width: 20px; + height: 20px; + background-position: -180px 0; + width: 18px; + height: 18px; + display: inline-block; + margin-left: 8px; + cursor: pointer; +} +.checkList .checkList-form .main-section { + margin-top: 30px; +} +.checkList #state-bar { + float: none; + height: 5%; +} +.checkList #state-bar > ul { + border-bottom: dashed 1px; + border-color: #abb8c0; + padding-bottom: 2px; +} +.checkList #state-bar > ul > li { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 14px; + text-transform: uppercase; + text-align: left; +} +.checkList #state-bar > ul > li.active { + font-family: omnes-bold, sans-serif; +} +.checkList #state-bar > ul > li > .state-icon { + display: inline-block; + position: relative; + top: 2px; + margin-right: 5px; +} +.checkList #cl-header { + height: 12%; + padding-top: 1%; +} +.checkList #cl-header > #cl-title { + padding-left: 0px; + color: #1370a3; + font-family: omnes-light, sans-serif; + font-size: 24px; +} +.checkList #cl-header > #cl-title > span.bold { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 24px; +} +.checkList #cl-header > #cl-title > #edit-checklist { + display: inline-block; + margin-right: 5px; + cursor: pointer; +} +.checkList #cl-side-actions { + list-style: none; + margin-top: 5px; +} +.checkList #cl-side-actions > li { + display: inline-block; + margin-left: 5px; + color: #959595; + font-family: omnes-medium, sans-serif; + font-size: 12px; +} +.checkList .cl-action-buttons-frame { + list-style: none; + text-align: right; +} +.checkList .cl-btn-associated { + border-bottom: 1px solid; + border-color: #000000; + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 26px; +} +.checkList .cl-btn-cl-audit { + margin-right: 15%; + border-bottom: 1px solid; + border-color: #000000; +} +.checkList #state-actions { + display: inline-block; + border-bottom: 1px solid; + border-color: #abb8c0; + padding-bottom: 5px; +} +.checkList #state-actions button { + margin-left: 10px; +} +.checkList #state-actions button:first-child { + margin-left: 0px; +} +.checkList #cl-side-actions span { + cursor: pointer; + border-bottom: 2px solid #5a5a5a; + border-bottom: 1px solid; + border-color: #abb8c0; +} +.checkList #line-item-list { + list-style: none; + padding-right: 15px; +} +.checkList #line-item-list > li { + margin-bottom: 25px; +} +.checkList #line-item-list > li > h2 { + text-transform: capitalize; + border-bottom: 1px solid; + border-color: #abb8c0; + width: 100%; + margin-bottom: 0px; + padding-left: 5px; + color: #5a5a5a; + font-family: omnes-light, sans-serif; + font-size: 24px; +} +.checkList #line-item-list > li > h2 > span.bold { + color: #5a5a5a; + font-family: omnes-medium, sans-serif; + font-size: 24px; +} +.checkList #line-item-list > li > ul { + list-style: none; +} +.checkList #line-item-list > li > ul > li.line-item-row { + border-bottom: 1px solid; + border-color: #abb8c0; + line-height: 30px; + padding: 0px; + vertical-align: middle; + height: 30px; + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 16px; + cursor: pointer; +} +.checkList #line-item-list > li > ul > li.line-item-row .value-icon { + padding: 0px; +} +.checkList #line-item-list > li > ul > li.line-item-row .value-icon span { + display: inline-block; + position: relative; + top: 3px; + margin-right: 5px; + margin-left: 3px; + width: 15px; + height: 15px; +} +.checkList #line-item-list > li > ul > li.line-item-row .auto-icon { + text-align: right; + padding: 0px; +} +.checkList #line-item-list > li > ul > li.line-item-row .auto-icon span { + display: inline-block; + position: relative; + top: 3px; + margin-right: 3px; +} +.checkList #line-item-list > li > ul > li.line-item-row.selected-line { + background-color: #EEF9FF; + border-left: 2px solid; + border-top: 2px solid; + border-bottom: 2px solid; + border-color: #1370a3; + position: relative; + z-index: 1; + top: -1px; + left: -2px; +} +.checkList #line-item-list > li > ul > li.line-item-row.selected-line > .selected-line-connector { + position: absolute; + right: -19px; + width: 20px; + height: 30px; + top: -2px; + background-color: #EEF9FF; + border-top: 2px solid; + border-bottom: 2px solid; + border-color: #1370a3; +} +.checkList #line-item-extended { + background-color: #EEF9FF; + border: 2px solid; + border-color: #1370a3; + padding: 15px; +} +@media (min-width: 992px) { + .checkList #line-item-extended { + max-height: 100%; + overflow-y: auto; + } +} +.checkList #line-item-extended > header { + padding: 0 30px; + padding-bottom: 0px; +} +.checkList #line-item-extended > header > h2 { + text-transform: capitalize; + padding: 0px; + margin: 0px; + line-height: 32px; + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 18px; +} +.checkList #line-item-extended > header > h2 > span.bold { + color: #5a5a5a; + font-family: omnes-medium, sans-serif; + font-size: 18px; +} +.checkList #line-item-extended > header > #decision-actions { + list-style: none; + text-align: right; + margin: 0px; +} +.checkList #line-item-extended > header > #decision-actions > li { + display: inline-block; + margin-left: 2px; + background: url('images/icons-sprite-v5.png') no-repeat top left; + width: 20px; + height: 20px; +} +.checkList #line-item-extended > header > #decision-actions.active > li { + cursor: pointer; +} +.checkList #line-item-extended > header > #decision-actions > li.not-relevant-btn { + background-position: -1079px 0; + width: 25px; + height: 25px; +} +.checkList #line-item-extended > header > #decision-actions.active > li.not-relevant-btn:hover { + background-position: -1044px 0; + width: 25px; + height: 25px; +} +.checkList #line-item-extended > header > #decision-actions > li.not-relevant-btn.active { + background-position: -1044px 0; + width: 25px; + height: 25px; +} +.checkList #line-item-extended > header > #decision-actions > li.denied-cl-btn { + background-position: -939px 0; + width: 25px; + height: 25px; +} +.checkList #line-item-extended > header > #decision-actions.active > li.denied-cl-btn:hover { + background-position: -904px 0; + width: 25px; + height: 25px; +} +.checkList #line-item-extended > header > #decision-actions > li.denied-cl-btn.active { + background-position: -904px 0; + width: 25px; + height: 25px; +} +.checkList #line-item-extended > header > #decision-actions > li.approved-cl-btn { + background-position: -1009px 0; + width: 25px; + height: 25px; +} +.checkList #line-item-extended > header > #decision-actions.active > li.approved-cl-btn:hover { + background-position: -974px 0; + width: 25px; + height: 25px; +} +.checkList #line-item-extended > header > #decision-actions > li.approved-cl-btn.active { + background-position: -974px 0; + width: 25px; + height: 25px; +} +.checkList #line-item-extended > #line-item-description { + margin: 0 15px; + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 16px; +} +.checkList #line-item-extended > #line-item-validation-instructions { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 14px; + background-color: #fff; + border: 1px solid; + border-color: #1370a3; + padding: 15px; + margin-top: 15px; +} +.checkList #line-item-extended > #line-item-validation-instructions h3 { + text-transform: capitalize; + margin: 0px; + color: #5a5a5a; + font-family: omnes-medium, sans-serif; + font-size: 18px; +} +.checkList #line-item-extended > #line-item-validation-instructions p { + margin-top: 5px; +} +.checkList #line-item-extended > #line-item-validation-instructions p ul { + padding-left: 15px; +} +.checkList #line-item-extended > #line-item-audit-logs { + padding: 0 15px; +} +.checkList #line-item-extended > #line-item-audit-logs > h3 { + text-transform: capitalize; + color: #5a5a5a; + font-family: omnes-medium, sans-serif; + font-size: 18px; +} +.checkList #line-item-extended > #line-item-audit-logs > #audit-log-list { + list-style: none; +} +.checkList #line-item-extended > #line-item-audit-logs > #audit-log-list > li { + margin: 0 15px 10px; + border-bottom: 2px solid; + border-color: #abb8c0; +} +.checkList #line-item-extended > #line-item-audit-logs > #audit-log-list > li > .audit-creator { + color: #5a5a5a; + font-family: omnes-medium, sans-serif; + font-size: 16px; + margin: 0px; + padding: 0px; +} +.checkList #line-item-extended > #line-item-audit-logs > #audit-log-list > li > .audit-date { + text-align: right; + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 14px; + padding: 0px; +} +.checkList #line-item-extended > #line-item-audit-logs > #audit-log-list > li > .audit-text { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 16px; + margin-bottom: 0px; + padding: 0px; +} +.checkList #line-item-extended > #line-item-audit-logs > #new-audit-log-from { + margin: 0 0 15px; +} +.checkList #line-item-extended > #line-item-audit-logs > #new-audit-log-from #new-audit-log-text { + border-color: #abb8c0; + margin-bottom: 15px; +} +.checkList .btn-gradient-primary { + font-weight: bold; + color: #FFFFFF; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #37B2E5; + *background-color: #37B2E5; + background-image: -moz-linear-gradient(top, #0079AB, #37B2E5); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0079AB), to(#37B2E5)); + background-image: -webkit-linear-gradient(top, #0079AB, #37B2E5); + background-image: -o-linear-gradient(top, #0079AB, #37B2E5); + background-image: linear-gradient(to bottom, #0079AB, #37B2E5); + background-repeat: repeat-x; + border-color: #37B2E5; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0079AB', endColorstr='#37B2E5', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} +.checkList .btn-sample:hover, +.checkList .btn-sample:focus, +.checkList .btn-sample:active, +.checkList .btn-sample.active, +.checkList .btn-sample.disabled, +.checkList .btn-sample[disabled] { + color: #FFFFFF; + background-color: #37B2E5; + *background-color: #003bb3; +} +.checkList .btn-gradient-success { + font-weight: bold; + color: #FFFFFF; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #41A02C; + *background-color: #41A02C; + background-image: -moz-linear-gradient(top, #A2E652, #41A02C); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#A2E652), to(#41A02C)); + background-image: -webkit-linear-gradient(top, #A2E652, #41A02C); + background-image: -o-linear-gradient(top, #A2E652, #41A02C); + background-image: linear-gradient(to bottom, #A2E652, #41A02C); + background-repeat: repeat-x; + border-color: #41A02C; + border-color: #888; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#A2E652', endColorstr='#41A02C', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} +.checkList .btn-sample:hover, +.checkList .btn-sample:focus, +.checkList .btn-sample:active, +.checkList .btn-sample.active, +.checkList .btn-sample.disabled, +.checkList .btn-sample[disabled] { + color: #FFFFFF; + background-color: #41A02C; + *background-color: #003bb3; +} +.checkList .btn-gradient-danger { + font-weight: bold; + color: #FFFFFF; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #AE0020; + *background-color: #AE0020; + background-image: -moz-linear-gradient(top, #F74658, #AE0020); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#F74658), to(#AE0020)); + background-image: -webkit-linear-gradient(top, #F74658, #AE0020); + background-image: -o-linear-gradient(top, #F74658, #AE0020); + background-image: linear-gradient(to bottom, #F74658, #AE0020); + background-repeat: repeat-x; + border-color: #AE0020; + border-color: #888; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#F74658', endColorstr='#AE0020', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} +.checkList .btn-sample:hover, +.checkList .btn-sample:focus, +.checkList .btn-sample:active, +.checkList .btn-sample.active, +.checkList .btn-sample.disabled, +.checkList .btn-sample[disabled] { + color: #FFFFFF; + background-color: #AE0020; + *background-color: #003bb3; +} +.dashboard .content-container #content { + height: 100%; + overflow-y: auto; +} +.dashboard-view { + padding: 10px; +} +.dashboard-view .steps-progress-wrapper { + border: none; + background-color: #ffffff; +} +.dashboard-view #dashboard-main-panel #dashboard-header #dashboard-title { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 26px; + margin: 0px; + line-height: 40px; +} +.dashboard-view #dashboard-main-panel #dashboard-header .search-filters { + text-align: right; + color: #5a5a5a; + font-family: omnes-medium, sans-serif; + font-size: 16px; + line-height: 40px; +} +.dashboard-view #dashboard-main-panel #dashboard-header .search-filters .search-filter-stage { + margin-left: 10px; + display: inline-block; + width: 40%; +} +.dashboard-view #dashboard-main-panel #dashboard-header .search-filters #search-filter-keyword { + margin-left: 10px; + display: inline-block; + width: 40%; +} +.dashboard-view #dashboard-main-panel #search-results .progress-bar-row { + padding: 0px; +} +.dashboard-view #dashboard-main-panel #search-results .progress-bar-row:nth-child(even) .steps-progress-wrapper { + background-color: #f2f2f2; +} +.dashboard-view #dashboard-main-panel #search-results #export-to-csv { + text-align: right; + color: #5a5a5a; + font-family: omnes-medium, sans-serif; + font-size: 14px; + text-decoration: underline; + cursor: pointer; +} +.dashboard-view #dashboard-main-panel #search-results #engagements-pagination { + text-align: center; +} +.dashboard-view #dashboard-main-panel #search-results #engagements-pagination .pagination { + margin: 0px; +} +.dashboard-view #dashboard-side-panel { + border-left: solid 1px #9B9B9B; +} +.dashboard-view #dashboard-side-panel #assgined-nextsteps { + border: 1px solid #4990E2; + padding: 0px; +} +.dashboard-view #dashboard-side-panel #assgined-nextsteps #next-steps-header { + background-color: #4990E2; + color: #ffffff; + font-family: omnes-medium, sans-serif; + font-size: 22px; + padding: 10px 10px 0; +} +.dashboard-view #dashboard-side-panel #assgined-nextsteps #next-steps-list { + list-style: none; + padding: 0 15px; +} +.dashboard-view #dashboard-side-panel #assgined-nextsteps #next-steps-list .next-step-details { + border-bottom: 1px dashed #1370a3; + padding-bottom: 10px; +} +.dashboard-view #dashboard-side-panel #assgined-nextsteps #next-steps-list .next-step-details .next-step-details-header .engagement-title { + cursor: pointer; + color: #5a5a5a; + font-family: omnes-medium, sans-serif; + font-size: 14px; + margin-top: 15px; + margin-bottom: 0px; +} +.dashboard-view #dashboard-side-panel #assgined-nextsteps #next-steps-list .next-step-details .next-step-details-header .engagement-title .engagement-name { + text-decoration: underline; +} +.dashboard-view #dashboard-side-panel #assgined-nextsteps #next-steps-list .next-step-details .next-step-details-header .due-date { + color: #5a5a5a; + font-family: omnes-medium, sans-serif; + font-size: 14px; + margin-top: 10px; + margin-bottom: 0px; + text-align: right; +} +.dashboard-view #dashboard-side-panel #assgined-nextsteps #next-steps-list .next-step-details .next-step-description { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 18px; + margin: 3px 0px; + line-height: 20px; +} +.dashboard-view #dashboard-side-panel #assgined-nextsteps #next-steps-list .next-step-details .next-step-creation { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 14px; +} +.dashboard-view #dashboard-side-panel #assgined-nextsteps #next-steps-list .next-step-details:last-child { + padding: 0px; + border: none; +} +.dashboard-view #dashboard-side-panel .line-seperator { + border-bottom: dashed 1px #9B9B9B; + margin: 20px 0; +} +.dashboard-view #dashboard-side-panel #statistics { + border: 1px solid #9B9B9B; + padding: 15px; +} +.dashboard-view #dashboard-side-panel #statistics #statistics-header { + margin-bottom: 10px; +} +.dashboard-view #dashboard-side-panel #statistics #statistics-header h2 { + color: #5a5a5a; + font-family: omnes-medium, sans-serif; + font-size: 24px; + color: #9B9B9B; + margin: 0px; +} +.dashboard-view #dashboard-side-panel #statistics #statistics-header .search-filters { + text-align: right; +} +.dashboard-view #dashboard-side-panel #statistics #statistics-header .search-filters .search-filter-stage { + margin-left: 10px; + width: 50%; +} +.dashboard-view #dashboard-side-panel #statistics #statistics-list .statistic-count { + text-align: right; +} +#detailed-view { + padding: 0px 30px 0px 30px; +} +#detailed-view .glyphicon-cursor-detailed-view { + cursor: pointer; + margin-left: 0.5%; +} +#detailed-view .detailed-view-edit-mode { + cursor: pointer; + margin-left: 0.5%; + display: inline-block; + position: relative; + top: 3px; + background: url('images/icons-sprite-v5.png') no-repeat top left; + width: 20px; + height: 20px; + background-position: -288px 0; + width: 17px; + height: 16px; +} +#detailed-view .hide-element { + display: none; +} +#detailed-view .show-select { + display: block; + margin-bottom: 3%; +} +#detailed-view .row > h1 { + padding: 0px; + margin-bottom: 0px; + color: #1370a3; + font-family: omnes-light, sans-serif; + font-size: 36px; +} +#detailed-view .row > h1 .bold { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 36px; +} +#detailed-view .remove-button { + height: 10px; + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 16px; + cursor: pointer; +} +#detailed-view .remove-button .remove-icon { + background: url('images/icons-sprite-v5.png') no-repeat top left; + width: 20px; + height: 20px; + background-position: -233px 0; + width: 15px; + height: 15px; + cursor: pointer; + display: block; + position: relative; +} +#detailed-view .steps-progress-wrapper { + margin-top: 10px; +} +#detailed-view h2 { + display: inline-block; + margin: 0 0 10px 0; + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 24px; + font-size: 20px; + position: relative; +} +#detailed-view h2 .add-vfc { + background: url('images/icons-sprite-v5.png') no-repeat top left; + width: 20px; + height: 20px; + background-position: -180px 0; + width: 18px; + height: 18px; + display: inline-block; + margin-left: 8px; + cursor: pointer; + position: relative; + top: 3px; +} +#detailed-view .main-section { + margin-top: 30px; +} +#detailed-view .steps-header .steps-filter { + display: inline-block; + float: right; + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 16px; +} +#detailed-view .steps-header .steps-filter .todo { + background: url('images/icons-sprite-v5.png') no-repeat top left; + width: 20px; + height: 20px; + background-position: -406px 0; + width: 12px; + height: 12px; + display: inline-block; + cursor: pointer; +} +#detailed-view .steps-header .steps-filter .completed { + background: url('images/icons-sprite-v5.png') no-repeat top left; + width: 20px; + height: 20px; + background-position: -384px 0; + width: 12px; + height: 12px; + display: inline-block; + cursor: pointer; +} +#detailed-view .steps-header .steps-filter .confirmed { + background: url('images/icons-sprite-v5.png') no-repeat top left; + width: 20px; + height: 20px; + background-position: -340px 0; + width: 12px; + height: 12px; + display: inline-block; + cursor: pointer; +} +#detailed-view .vfc-column { + height: 100%; + padding-right: 20px; + padding-left: 20px; + padding-top: 20px; +} +#detailed-view .vfc-column ul li.step { + list-style: none; + position: relative; + padding: 5px 10px 0px 4px; + font-size: 16px; +} +#detailed-view .vfc-steps { + border-right: dashed 1px #1370a3; + height: 100%; + padding-right: 20px; + padding-left: 0px; + padding-top: 20px; +} +#detailed-view .vfc-steps ul li.step { + list-style: none; + position: relative; + padding: 5px 10px 0px 4px; + font-size: 16px; +} +#detailed-view .vfc-steps ul li.step:hover { + background-color: #DEF3FF; +} +#detailed-view .vfc-steps ul li.step:hover .details .actions span { + visibility: visible; +} +#detailed-view .vfc-steps ul li.step.completed { + background-color: #dddddd; + opacity: 0.7; +} +#detailed-view .vfc-steps ul li.step .description { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 16px; + border-bottom: dashed 1px #959595; + padding: 10px 0; +} +#detailed-view .vfc-steps ul li.step .description input { + position: absolute; + top: 10px; + left: 0; + margin-right: 20px; +} +#detailed-view .vfc-steps ul li.step .description .step-text { + margin-left: 20px; +} +#detailed-view .vfc-steps ul li.step .description .step-state { + position: absolute; + top: 24px; +} +#detailed-view .vfc-steps ul li.step .description .step-state.todo { + background-image: url(images/steps-sprite.png); + background-repeat: no-repeat; + display: block; + width: 12px; + height: 12px; + background-position: -71px -5px; + display: inline-block; +} +#detailed-view .vfc-steps ul li.step .description .step-state.confirmed { + background-image: url(images/steps-sprite.png); + background-repeat: no-repeat; + display: block; + width: 12px; + height: 12px; + background-position: -5px -5px; + display: inline-block; +} +#detailed-view .vfc-steps ul li.step .description .step-state.completed { + background-image: url(images/steps-sprite.png); + background-repeat: no-repeat; + display: block; + width: 12px; + height: 12px; + background-position: -27px -5px; + display: inline-block; +} +#detailed-view .vfc-steps ul li.step .description .step-state.completed-non-el { + background-image: url(images/steps-sprite.png); + background-repeat: no-repeat; + display: block; + width: 12px; + height: 12px; + background-position: -49px -5px; + display: inline-block; +} +#detailed-view .vfc-steps ul li.step .details { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 12px; + margin: 6px 0 10px 0; +} +#detailed-view .vfc-steps ul li.step .details .actions { + float: right; + margin-top: 2px; +} +#detailed-view .vfc-steps ul li.step .details .actions span { + visibility: hidden; +} +#detailed-view .vfc-steps ul li.step .details .actions .moveto-confirmed { + background: url('images/actions-sprite.png') no-repeat top left; + width: 15px; + height: 15px; + background-position: -50px 0; + display: inline-block; + cursor: pointer; +} +#detailed-view .vfc-steps ul li.step .details .actions .moveto-todo { + background: url('images/actions-sprite.png') no-repeat top left; + width: 15px; + height: 15px; + background-position: -25px 0; + display: inline-block; + cursor: pointer; +} +#detailed-view .vfc-steps ul li.step .details .actions .moveto-delete { + background: url('images/actions-sprite.png') no-repeat top left; + width: 15px; + height: 15px; + background-position: 0 0; + display: inline-block; + cursor: pointer; +} +#detailed-view #deployment-targets { + border: 1px solid #9B9B9B; + padding: 0px; + margin-bottom: 20px; +} +#detailed-view #deployment-targets #deployment-targets-header { + background-color: #9B9B9B; + color: #ffffff; + font-family: omnes-medium, sans-serif; + font-size: 18px; + padding: 5px 5px 0; + line-height: 35px; +} +#detailed-view #deployment-targets #deployment-targets-header .edit-target-completion { + font-size: 21px; + vertical-align: middle; + padding-left: 6px; + cursor: pointer; +} +#detailed-view #deployment-targets #deployment-targets-content { + font-family: omnes-regular, sans-serif; + font-size: 16px; + margin: 15px; +} +#detailed-view #virtual-function-components { + border: 1px solid #98C678; + padding: 0px; + margin-bottom: 20px; +} +#detailed-view #virtual-function-components #virtual-function-header { + background-color: #98C678; + color: #ffffff; + font-family: omnes-medium, sans-serif; + font-size: 18px; + padding: 5px 5px 0; + line-height: 35px; +} +#detailed-view #virtual-function-components #virtual-function-header .edit-target-completion { + font-size: 21px; + vertical-align: middle; + padding-left: 6px; + cursor: pointer; +} +#detailed-view #virtual-function-components #virtual-function-content { + font-family: omnes-regular, sans-serif; + font-size: 16px; + margin: 15px; +} +#detailed-view #target-lab-entry { + border: 1px solid #FAC05F; + padding: 0px; + margin-bottom: 20px; +} +#detailed-view #target-lab-entry #target-lab-entry-header { + background-color: #FAC05F; + color: #ffffff; + font-family: omnes-medium, sans-serif; + font-size: 18px; + padding: 5px 5px 0; + line-height: 35px; +} +#detailed-view #target-lab-entry #target-lab-entry-header .edit-target-completion { + font-size: 21px; + vertical-align: middle; + padding-left: 6px; + cursor: pointer; +} +#detailed-view #target-lab-entry #target-lab-entry-content { + font-family: omnes-regular, sans-serif; + font-size: 16px; + margin: 15px; +} +#detailed-view #validation-details { + border: 1px solid #4990E2; + padding: 0px; + margin-bottom: 20px; +} +#detailed-view #validation-details #validation-details-header { + background-color: #4990E2; + color: #ffffff; + font-family: omnes-medium, sans-serif; + font-size: 18px; + padding: 5px 5px 0; + line-height: 35px; +} +#detailed-view #validation-details #validation-details-header .edit-target-completion { + font-size: 21px; + vertical-align: middle; + padding-left: 6px; + cursor: pointer; +} +#detailed-view #validation-details #validation-details-content { + font-family: omnes-regular, sans-serif; + font-size: 16px; + margin: 15px; +} +#detailed-view .team-and-logs { + height: 100%; + padding-left: 20px; + padding-top: 20px; + margin-left: -1px; + border-left: dashed 1px #1370a3; +} +#detailed-view .team-and-logs .line { + margin-bottom: 10px; +} +#detailed-view .add-next-step-form .ice-wysiwyg { + height: 200px; +} +#detailed-view .add-next-step-form .ice-wysiwyg .wysiwyg-menu > div { + background-color: #f1f1f1; + padding: 2px; +} +#detailed-view .vfc-main-section { + margin-top: 0px; +} +.getting-started-wizard ul.step-indication li { + display: inline; +} +.dev-button { + position: absolute; + top: 0; + left: 0; +} +.reject_large { + background: url('images/actions-sprite.png') no-repeat top left; + width: 15px; + height: 15px; + background-position: -25px 0; + cursor: pointer; +} +.modal-content .getting-started-wizard .modal-header { + display: flex; + flex-direction: row; +} +.modal-content .getting-started-wizard .modal-header h2, +.modal-content .getting-started-wizard .modal-header h3 { + display: inline-block; + flex-grow: 10; +} +.modal-content .getting-started-wizard .modal-body .btn { + width: 100%; +} +.modal-content .getting-started-wizard .modal-body .btn-primary { + border: 1px solid #8799A3; + border-radius: 6px; + background: #1E79B0; + /* For browsers that do not support gradients */ + background: -webkit-linear-gradient(#1E79B0, #62ADD5); + /* For Safari 5.1 to 6.0 */ + background: -o-linear-gradient(#1E79B0, #62ADD5); + /* For Opera 11.1 to 12.0 */ + background: -moz-linear-gradient(#1E79B0, #62ADD5); + /* For Firefox 3.6 to 15 */ + background: linear-gradient(#1E79B0, #62ADD5); + /* Standard syntax (must be last) */ +} +.getting-started-wizard { + /* Override addVf pages styles */ +} +.getting-started-wizard md-datepicker.btn.datepicker_btn .md-datepicker-input { + width: 100%; + text-align: center; + line-height: 32px; +} +.getting-started-wizard #vf-name-title { + font-size: 16px; +} +.getting-started-wizard #title-key-metadata { + font-size: 16px; + position: relative; + top: 20px; + left: 30px; + background: white; + padding: 0 20px; + margin-top: -15px; +} +.getting-started-wizard .fields_key_metadata { + border: 1px solid #ccc; + padding: 26px 10px; +} +.getting-started-wizard .container { + width: auto; +} +.getting-started-wizard .container .col-md-2 { + width: 0; +} +.getting-started-wizard .container .col-md-8 { + width: 100%; +} +.getting-started-wizard .container .table-container-flex .flex-item { + padding: 5px 5px; +} +.getting-started-wizard .container .remove-button { + display: none; +} +.getting-started-wizard .table-container-flex .flex-item:nth-child(1) { + padding-left: 0; + flex-grow: 33; +} +.getting-started-wizard .table-container-flex .flex-item:nth-child(2) { + flex-grow: 33; +} +.getting-started-wizard .table-container-flex .flex-item:nth-child(3) { + flex-grow: 33; +} +.getting-started-wizard ul.step-indication { + list-style: none; + display: inline-block; +} +.getting-started-wizard ul.step-indication li { + display: inline-block; + background-color: #DDDDDD; + width: 30px; + height: 30px; + margin-right: 10px; + padding: 6px 11px; + color: #5a5a5a; + font-family: omnes-medium, sans-serif; + font-size: 14px; +} +.getting-started-wizard ul.step-indication li.selected { + color: #ffffff; + font-family: omnes-medium, sans-serif; + font-size: 14px; + background-color: #1370A3; +} +.getting-started-wizard ul.step-indication li:last-child { + margin-right: 0; +} +.getting-started-wizard .addVendorContact-form { + padding: 20px 0 0 0; +} +.getting-started-wizard .addVendorContact-form button { + margin-top: 10px; +} +.getting-started-wizard .inviteMembers-form { + padding: 20px 0 0 0; +} +.getting-started-wizard .inviteMembers-form button { + margin-top: 10px; +} +.getting-started-wizard .inviteMembers-form .add-button { + margin-top: 8px; + display: block; +} +.getting-started-wizard .inviteMembers-form .add-button .add-text { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 16px; + vertical-align: top; + margin-left: 6px; +} +.getting-started-wizard .inviteMembers-form .add-button .add-icon { + background: url('images/icons-sprite-v5.png') no-repeat top left; + width: 20px; + height: 20px; + background-position: -180px 0; + width: 18px; + height: 18px; + display: inline-block; +} +.getting-started-wizard .inviteMembers-form .remove-button { + vertical-align: middle; + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 16px; + cursor: pointer; +} +.getting-started-wizard .inviteMembers-form .remove-button .remove-icon { + display: inline-block; + vertical-align: text-top; + margin-right: 6px; + background: url('images/icons-sprite-v5.png') no-repeat top left; + width: 20px; + height: 20px; + background-position: -478px 0; + width: 15px; + height: 15px; + cursor: pointer; +} +.getting-started-wizard .inviteMembers-form .remove-button { + vertical-align: middle; + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 16px; + cursor: pointer; +} +.getting-started-wizard .inviteMembers-form .remove-button .reject-large { + display: inline-block; + vertical-align: text-top; + margin-right: 6px; + background: url('images/icons-sprite-v5.png') no-repeat top left; + width: 20px; + height: 20px; + background-position: -478px 0; + width: 15px; + height: 15px; + cursor: pointer; +} +.getting-started-wizard .inviteMembers-form .input-wrapper { + margin-bottom: 10px; +} +.getting-started-wizard .addVf-form { + padding: 0; +} +.getting-started-wizard .addSsh-form { + padding: 0; +} +.getting-started-wizard .addSsh-form .form-group { + margin-top: 20px; +} +.getting-started-wizard .addSsh-form button { + margin-top: 10px; +} +.getting-started-wizard .addSsh-form textarea { + min-height: 80px; +} +.dashboard .remove-user-from-eng { + color: #D74854; + font-family: omnes-regular, sans-serif; + font-size: 16px; + float: right; + cursor: pointer; +} +.dashboard .remove-user-from-eng .remove-icon { + background: url('images/icons-sprite-v5.png') no-repeat top left; + width: 20px; + height: 20px; + background-position: -1341px 0; + width: 17px; + height: 16px; + display: inline-block; + margin-left: 8px; + position: relative; + top: 3px; +} +.dashboard .popover-title-name { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 18px; +} +.dashboard .popover-title-company { + color: #1370a3; + font-family: omnes-regular, sans-serif; + font-size: 18px; +} +.dashboard .popover-role-title { + color: #959595; + font-family: omnes-medium-italic, sans-serif; + font-size: 16px; +} +.dashboard .popover-details .popover-details-topic { + color: #5a5a5a; + font-family: omnes-medium, sans-serif; + font-size: 16px; +} +.dashboard .popover-details .popover-details-detail { + word-wrap: break-word; + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 16px; +} +.dashboard .content-container #content .main-wrapper { + height: 100%; + overflow-y: auto; + overflow-x: hidden; + padding: 10px ; +} +.dashboard .no-display-text { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 36px; +} +.dashboard .no-display { + display: none; +} +.dashboard .overview #engagement-title { + color: #4990E2; +} +.dashboard .overview .manual-id { + color: #5a5a5a; + font-family: omnes-medium, sans-serif; + font-size: 36px; + color: #4990E2; +} +.dashboard .overview .filter-wrapper { + text-align: right; + padding: 0px; +} +.dashboard .overview .filter-wrapper span { + padding: 0px; + margin-left: 5px; +} +.dashboard .overview .filter-wrapper .form-control-main-view { + margin-left: 5px; + display: inline; + padding: 6px; + font-size: 14px; + line-height: 1.42857143; + color: #555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 4px; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; +} +.dashboard .overview .state-filter button { + padding: 0px 5px 0px 8px; + margin-bottom: 1px; +} +.dashboard .overview .state-filter span { + right: 6px !important; + top: 9px !important; +} +.dashboard .overview .state-filter a { + font-size: 14px; +} +.dashboard .overview .steps-progress-wrapper { + margin-top: 10px; +} +.dashboard .overview h1 { + display: inline-block; + color: #1370a3; + font-family: omnes-light, sans-serif; + font-size: 36px; + margin: 0 0 30px 0; +} +.dashboard .overview h2 { + display: inline-block; + margin: 0 0 10px 0; + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 24px; + position: relative; +} +.dashboard .overview h2 .add-people, +.dashboard .overview h2 .add-step { + display: inline-block; + margin-left: 8px; + cursor: pointer; + position: relative; + top: 2px; +} +.dashboard .overview .main-section { + margin-top: 30px; +} +.dashboard .overview .steps-header { + background-color: #4990E2; + color: #ffffff; + padding: 10px 0px 0px 0px; + margin: 0px 0px 0px -5px; +} +.dashboard .overview .steps-header h2 { + font-size: 20px; + color: #ffffff; +} +.dashboard .overview .steps-header .steps-filter { + display: inline-block; + float: right; + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 16px; +} +.dashboard .overview .steps-header .steps-filter .todo { + background: url('images/icons-sprite-v5.png') no-repeat top left; + width: 20px; + height: 20px; + background-position: -406px 0; + width: 12px; + height: 12px; + display: inline-block; + cursor: pointer; +} +.dashboard .overview .steps-header .steps-filter .completed { + background: url('images/icons-sprite-v5.png') no-repeat top left; + width: 20px; + height: 20px; + background-position: -384px 0; + width: 12px; + height: 12px; + display: inline-block; + cursor: pointer; +} +.dashboard .overview .steps-header .steps-filter .confirmed { + background: url('images/icons-sprite-v5.png') no-repeat top left; + width: 20px; + height: 20px; + background-position: -340px 0; + width: 12px; + height: 12px; + display: inline-block; + cursor: pointer; +} +.dashboard .overview #engagement-target-completion { + border: 1px solid #FAC05F; + padding: 0px; + margin-bottom: 20px; +} +.dashboard .overview #engagement-target-completion #target-completion-header { + background-color: #FAC05F; + color: #ffffff; + font-family: omnes-medium, sans-serif; + font-size: 18px; + padding: 5px 5px 0; + line-height: 35px; +} +.dashboard .overview #engagement-target-completion #target-completion-header .edit-target-completion { + font-size: 21px; + vertical-align: middle; + padding-left: 6px; + cursor: pointer; +} +.dashboard .overview #engagement-target-completion .target-completion-content { + font-family: omnes-regular, sans-serif; + font-size: 16px; + margin: 15px; +} +.dashboard .overview #engagement-status { + border: 1px solid #98C678; + padding: 0px; + margin-bottom: 20px; +} +.dashboard .overview #engagement-status #engagement-status-header { + background-color: #98C678; + color: #ffffff; + font-family: omnes-medium, sans-serif; + font-size: 18px; + padding: 5px 5px 0; + line-height: 35px; +} +.dashboard .overview #engagement-status #engagement-status-header .add-engagement-status { + font-size: 21px; + vertical-align: middle; + padding-left: 6px; + cursor: pointer; +} +.dashboard .overview #engagement-status .engagement-status-content { + font-family: omnes-regular, sans-serif; + font-size: 16px; + margin: 15px; +} +.dashboard .overview #engagement-status .engagement-status-content #status-update-details { + display: block; + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 12px; +} +.dashboard .overview #engagement-status .engagement-status-content #status-description { + margin: 3px 0px 0px 0px; + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 16px; +} +.dashboard .overview #engagement-status .engagement-status-content .edit-engagement-status { + font-size: 21px; + padding-left: 6px; + cursor: pointer; + color: #5a5a5a; +} +.dashboard .overview #engagement-team { + border: 1px solid #9B9B9B; + padding: 0px; + margin-bottom: 20px; +} +.dashboard .overview #engagement-team #engagement-team-header { + background-color: #9B9B9B; + color: #ffffff; + font-family: omnes-medium, sans-serif; + font-size: 18px; + padding: 5px 5px 0; + line-height: 35px; +} +.dashboard .overview #engagement-team #engagement-team-header .add-team-member { + font-size: 21px; + vertical-align: middle; + padding-left: 6px; + cursor: pointer; +} +.dashboard .overview #engagement-team .engagement-team-content { + font-family: omnes-regular, sans-serif; + font-size: 16px; + margin: 15px; +} +.dashboard .overview #engagement-team .engagement-team-content ul.team-avatars li.team-member-avatar { + font-size: 40px; + cursor: pointer; + color: #9B9B9B; +} +.dashboard .overview #engagement-team .engagement-team-content ul.team-avatars li { + list-style: none; + display: inline-block; + margin-right: 10px; +} +.dashboard .overview #star-engagement-action { + display: inline-block; + cursor: pointer; + position: relative; + bottom: 3px; + margin-right: 5px; +} +.dashboard .overview #star-engagement-action.not_starred { + background-position: -1230px 0; + width: 19px; + height: 19px; +} +.dashboard .overview #star-engagement-action.is_starred { + background-position: -1260px 0; + width: 19px; + height: 19px; +} +.dashboard .overview #star-engagement-action.not_starred:hover { + background-position: -1260px 0; + width: 19px; + height: 19px; +} +.dashboard .overview #star-engagement-action.is_starred:hover { + background-position: -1230px 0; + width: 19px; + height: 19px; +} +.dashboard .overview .steps { + padding-bottom: 140px; + padding-right: 20px; + padding-left: 20px; +} +.dashboard .overview .steps ul li.step { + border-bottom: dashed 1px #959595; + list-style: none; + position: relative; +} +.dashboard .overview .steps ul li.step .step-wrapper { + border-left: 2px solid transparent; + margin: 7px 0px 7px 1px; +} +.dashboard .overview .steps ul li.step .step-wrapper:hover { + border-left: 2px solid #1370a3; + background-color: #DEF3FF; +} +.dashboard .overview .steps ul li.step .step-wrapper:hover .description .step-state.incomplete { + color: #4ca90c; + opacity: 0.7; +} +.dashboard .overview .steps ul li.step .next-step-actions { + display: none; + height: 100%; + width: 20px; + position: relative; + padding-top: 10px; + float: left; + left: -18px; + margin-right: -20px; +} +.dashboard .overview .steps ul li.step .next-step-actions > span { + margin-bottom: 3px; + cursor: pointer; + display: block; +} +.dashboard .overview .steps ul li.step .next-step-actions .order-nextstep { + color: #d2d2d2; + cursor: pointer; +} +.dashboard .overview .steps ul li.step .next-step-actions .edit-next-step { + cursor: pointer; + color: #d2d2d2; +} +.dashboard .overview .steps ul li.step .next-step-actions .moveto-confirmed { + background: url('images/actions-sprite.png') no-repeat top left; + width: 15px; + height: 15px; + background-position: -50px 0; +} +.dashboard .overview .steps ul li.step .next-step-actions .moveto-todo { + background: url('images/actions-sprite.png') no-repeat top left; + width: 15px; + height: 15px; + background-position: -25px 0; +} +.dashboard .overview .steps ul li.step .next-step-actions .moveto-delete { + cursor: pointer; + color: #d2d2d2; +} +.dashboard .overview .steps ul li.step:hover .next-step-actions { + display: block; +} +.dashboard .overview .steps ul li.step:hover .details .actions span { + visibility: visible; +} +.dashboard .overview .steps ul li.step div.completed { + opacity: 0.7; +} +.dashboard .overview .steps ul li.step div.confirmed { + opacity: 0.7; +} +.dashboard .overview .steps ul li.step .details { + text-align: right; +} +.dashboard .overview .steps ul li.step .details .next-step-due-date { + color: #5a5a5a; + font-weight: bold; +} +.dashboard .overview .steps ul li.step .details .next-step-due-date .icon { + display: inline-block; + margin-right: 5px; + position: relative; +} +.dashboard .overview .steps ul li.step .details .associated-files { + color: #5a5a5a; + font-weight: bold; + cursor: pointer; +} +.dashboard .overview .steps ul li.step .details ul.next-step-team-mates li { + list-style: none; + display: inline-block; + font-size: 27px; + padding-left: 5px; + color: #9B9B9B; +} +.dashboard .overview .steps ul li.step .details ul.next-step-team-mates li.me { + color: #1370a3; +} +.dashboard .overview .steps ul li.step .description { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 16px; + padding: 5px; +} +.dashboard .overview .steps ul li.step .description input { + position: absolute; + top: 10px; + left: 0; + margin-right: 20px; +} +.dashboard .overview .steps ul li.step .description .step-text { + margin-left: 35px; +} +.dashboard .overview .steps ul li.step .description .last-action-details { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 12px; +} +.dashboard .overview .steps ul li.step .description .last-action-details .name { + font-weight: bold; + color: #5a5a5a; + font-family: omnes-medium, sans-serif; + font-size: 12px; +} +.dashboard .overview .steps ul li.step .description .step-state { + position: absolute; + top: 25px; + font-size: 25px; +} +.dashboard .overview .steps ul li.step .description .step-state.incomplete { + color: #d2d2d2; + display: inline-block; +} +.dashboard .overview .steps ul li.step .description .step-state.completed { + color: #4ca90c; + display: inline-block; +} +.dashboard .overview .team-and-logs { + border-left: dashed 1px #1370a3; + padding-left: 20px; + padding-right: 20px; +} +.dashboard .overview .team-and-logs .activity-log { + border: 1px solid #9B9B9B; + padding: 0px; + margin-bottom: 20px; +} +.dashboard .overview .team-and-logs .activity-log #activity-log-header { + background-color: #9B9B9B; + color: #ffffff; + font-family: omnes-medium, sans-serif; + font-size: 18px; + padding: 5px 5px 0; + line-height: 35px; +} +.dashboard .overview .team-and-logs .activity-log ul.activity-log-details { + margin: 15px; +} +.dashboard .overview .team-and-logs .activity-log ul.activity-log-details li { + list-style: none; + position: relative; + margin: 0 0 10px; +} +.dashboard .overview .admin-actions-dropdown { + background-position: 0 -63px; + width: 14px; + height: 14px; + color: #1370a3; + font-size: 20px; + vertical-align: 4px; + margin-left: 5px; + cursor: pointer; + display: inline-block; +} +.dashboard .add-next-step-form .ice-wysiwyg { + height: 200px; +} +.dashboard .add-next-step-form .ice-wysiwyg .wysiwyg-menu > div { + background-color: #f1f1f1; + padding: 2px; +} +.dashboard .git-repo-url { + text-align: left; + color: #5a5a5a; + font-family: omnes-medium, sans-serif; + font-size: 16px; +} +.dashboard .storage-bucket-url { + text-align: left; + color: #5a5a5a; + font-family: omnes-medium, sans-serif; + font-size: 16px; +} +.dashboard .line-separator { + border-bottom: solid thin; + margin-top: 5px; + margin-bottom: 7px; + align-items: left; +} +.intl-tel-input { + width: 100%; +} +.iti-flag { + background-image: url(images/flags.png); +} +.documentation-container .page-title { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 26px; + margin: 0px; +} +.documentation-container .page-publish { + font-family: omnes-medium, sans-serif; + font-size: 14px; + bottom: 10px; +} +.documentation-container .page-content { + font-family: omnes-regular, sans-serif; + font-size: 16px; + margin-top: 10px; +} +.documentation-container .page-content ul { + padding-left: 30px; +} +.documentation-container .page-content h1 { + font-weight: bold; +} +.documentation-container .page-content h2 { + font-weight: bold; +} +.documentation-container .page-content h3 { + font-weight: bold; +} +.documentation-container .page-content table { + border-right: 1px solid #1370a3; + border-left: 1px solid #1370a3; +} +.documentation-container .page-content table tr { + border-bottom: 1px solid #1370a3; + border-top: 1px solid #1370a3; + border-collapse: collapse; +} +.documentation-container .page-content table tr td { + padding: 0 0 0 7px; +} +.documentation-container .page-content table thead { + background-color: #1370a3; + color: #ffffff; + font-weight: bold; +} +#documentation-side-panel { + border-left: dashed 1px #1370a3; +} +#documentation-side-panel .tooltip-title { + font-size: 18px; +} +#documentation-side-panel #tooltip-description { + font-size: 16px; +} +#documentation-side-panel #news-and-announcements-header { + font-size: 18px; +} +#documentation-side-panel #news-and-announcements-list .news-and-announcements-details .news-and-announcements-details-header .news-and-announcements-details-title { + font-size: 16px; +} +.archive-engagement-modal { + padding: 0px 15px 0px 15px; +} +.archive-engagement-modal .archive-engagement-title { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 24px; +} +.archive-engagement-modal .archive-engagement-reason { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 16px; +} +.archive-engagement-modal .modal-body { + top: 10px; +} +.auditlog .audit-log-items { + border-bottom: 1px solid; + margin-bottom: 5px; +} +.auditlog .textarea-checklist-audit { + resize: none; +} +.modal-open .modal { + z-index: 30000 !important; +} +#approve-or-reject-state .modal-title { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 22px; +} +#approve-or-reject-state .decision-modal-body { + margin-bottom: 8px; + margin-top: 10px; +} +#approve-or-reject-state .decision-comment { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 14px; +} +#approve-or-reject-state .modal_buttons .custom-button { + position: relative; + width: 30%; + float: left; + display: inline-block; +} +#approve-or-reject-state .modal_buttons .custom-space { + position: relative; + width: 5%; + float: left; + min-height: 1px; +} +#approve-or-reject-state .state-title .bold { + color: #5a5a5a; + font-family: omnes-medium, sans-serif; + font-size: 18px; +} +#approve-or-reject-state .state-title { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 18px; +} +#approve-or-reject-state .state-title-border { + border-bottom: dashed 1px; + border-color: #abb8c0; + margin-left: 0px; +} +#approve-or-reject-state .comment-textarea { + resize: vertical; +} +#approve-or-reject-state .btn-gradient-success { + font-weight: bold; + color: #FFFFFF; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #41A02C; + *background-color: #41A02C; + background-image: -moz-linear-gradient(top, #A2E652, #41A02C); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#A2E652), to(#41A02C)); + background-image: -webkit-linear-gradient(top, #A2E652, #41A02C); + background-image: -o-linear-gradient(top, #A2E652, #41A02C); + background-image: linear-gradient(to bottom, #A2E652, #41A02C); + background-repeat: repeat-x; + border-color: #41A02C; + border-color: #888; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#A2E652', endColorstr='#41A02C', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} +#approve-or-reject-state .btn-sample:hover, +#approve-or-reject-state .btn-sample:focus, +#approve-or-reject-state .btn-sample:active, +#approve-or-reject-state .btn-sample.active, +#approve-or-reject-state .btn-sample.disabled, +#approve-or-reject-state .btn-sample[disabled] { + color: #FFFFFF; + background-color: #41A02C; + *background-color: #003bb3; +} +#approve-or-reject-state .btn-gradient-danger { + font-weight: bold; + color: #FFFFFF; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #AE0020; + *background-color: #AE0020; + background-image: -moz-linear-gradient(top, #F74658, #AE0020); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#F74658), to(#AE0020)); + background-image: -webkit-linear-gradient(top, #F74658, #AE0020); + background-image: -o-linear-gradient(top, #F74658, #AE0020); + background-image: linear-gradient(to bottom, #F74658, #AE0020); + background-repeat: repeat-x; + border-color: #AE0020; + border-color: #888; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#F74658', endColorstr='#AE0020', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} +#approve-or-reject-state .btn-sample:hover, +#approve-or-reject-state .btn-sample:focus, +#approve-or-reject-state .btn-sample:active, +#approve-or-reject-state .btn-sample.active, +#approve-or-reject-state .btn-sample.disabled, +#approve-or-reject-state .btn-sample[disabled] { + color: #FFFFFF; + background-color: #AE0020; + *background-color: #003bb3; +} +#approve-or-reject-state .btn-gradient-default { + font-weight: bold; + color: #B3B3B3; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #D0D0D0; + *background-color: #D0D0D0; + background-image: -moz-linear-gradient(top, #FCFCFC, #D0D0D0); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#FCFCFC), to(#D0D0D0)); + background-image: -webkit-linear-gradient(top, #FCFCFC, #D0D0D0); + background-image: -o-linear-gradient(top, #FCFCFC, #D0D0D0); + background-image: linear-gradient(to bottom, #FCFCFC, #D0D0D0); + background-repeat: repeat-x; + border-color: #D0D0D0; + border-color: #888; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FCFCFC', endColorstr='#D0D0D0', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} +#approve-or-reject-state .btn-sample:hover, +#approve-or-reject-state .btn-sample:focus, +#approve-or-reject-state .btn-sample:active, +#approve-or-reject-state .btn-sample.active, +#approve-or-reject-state .btn-sample.disabled, +#approve-or-reject-state .btn-sample[disabled] { + color: #FFFFFF; + background-color: #D0D0D0; + *background-color: #003bb3; +} +.toast-read-more-container { + padding: 0 20px; + word-wrap: break-word; +} +.toast-read-more-container .recent-cms-posts-container .line-separator { + border-bottom: solid 1px #5a5a5a; + margin: 20px 0; +} +.toast-read-more-container .recent-cms-posts-container .recent-cms-posts-title { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 16px; +} +.toast-read-more-container .recent-cms-posts-container ul.recent-cms-posts { + margin-top: 3px; +} +.toast-read-more-container .recent-cms-posts-container ul.recent-cms-posts li { + font-family: omnes-medium, sans-serif; + font-size: 16px; + list-style: none; + position: relative; + line-height: 28px; + cursor: pointer; +} +.toast-read-more-container .recent-cms-posts-container ul.recent-cms-posts li .post-creation { + font-family: omnes-regular, sans-serif; + font-size: 12px; +} +.toast-read-more-container .recent-cms-posts-container ul.recent-cms-posts li:before { + content: ''; + display: inline-block; + position: absolute; + top: 0; +} +.toast-read-more-container .recent-cms-posts-container ul.recent-cms-posts li.selected { + background-color: #f2f2f2; +} +.toast-read-more-title { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 26px; + line-height: 26px; +} +.toast-read-more-creation { + display: block; +} +.toast-read-more-content { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 18px; + line-height: 20px; + padding: 10px 20px 0; +} +.modal-cms-post-read-more { + width: 70%; + margin: 0px auto; + height: 100%; +} +.modal-cms-post-read-more .modal-content { + height: 100%; +} +.vfc-remove-button { + width: 20px; + height: 40px; + float: right; + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 16px; + cursor: pointer; + margin: 14px 0 0 0; +} +.vfc-remove-button .remove-icon { + background: url('images/icons-sprite-v5.png') no-repeat top left; + width: 20px; + height: 20px; + background-position: -478px 0; + width: 15px; + height: 15px; + cursor: pointer; + display: block; +} +.modal-add-vfc { + margin-top: 8px; + display: block; +} +.modal-add-vfc .add-text { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 16px; + vertical-align: top; + margin-left: 6px; +} +.modal-add-vfc .add-icon { + background: url('images/icons-sprite-v5.png') no-repeat top left; + width: 20px; + height: 20px; + background-position: -180px 0; + width: 18px; + height: 18px; + display: inline-block; +} +.feedback-modal-body .feedback-modal-description { + border-color: #abb8c0; + margin-bottom: 15px; +} +.general-log-containter { + height: inherit; + padding: 0 20px 30px; + word-wrap: break-word; +} +.general-log-containter .general-log-subtitle { + padding-bottom: 10px; +} +.general-log-containter .general-log-body { + height: inherit; + overflow: scroll; + padding: 0px 20px 0; + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 18px; + line-height: 20px; +} +.general-log-modal-title { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 26px; + line-height: 26px; +} +.modal-general-log-modal { + width: 70%; + margin: 0px auto; + height: 100%; +} +.modal-general-log-modal .modal-content { + height: 100%; +} +.general-prompt-text-details { + color: #000000; + font-family: omnes-regular, sans-serif; + font-size: 14px; + padding: 3% 0% 3% 0%; +} +.general-prompt-upper-headline { + color: #000000; + font-family: omnes-medium, sans-serif; + font-size: 14px; +} +.general-prompt-upper-dash { + border-bottom: dashed 1px #5a5a5a; + margin-bottom: 15px; +} +.upper-headline-value { + color: #000000; + font-family: omnes-medium-italic, sans-serif; + font-size: 14px; +} +.general-prompt-body { + margin: 0px; +} +.general-prompt-title { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 18px; +} +.general-prompt-title .bold { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 18px; +} +.btn-gradient-success { + font-weight: bold; + color: #FFFFFF; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #41A02C; + *background-color: #41A02C; + background-image: -moz-linear-gradient(top, #A2E652, #41A02C); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#A2E652), to(#41A02C)); + background-image: -webkit-linear-gradient(top, #A2E652, #41A02C); + background-image: -o-linear-gradient(top, #A2E652, #41A02C); + background-image: linear-gradient(to bottom, #A2E652, #41A02C); + background-repeat: repeat-x; + border-color: #41A02C; + border-color: #888; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#A2E652', endColorstr='#41A02C', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} +.btn-sample:hover, +.btn-sample:focus, +.btn-sample:active, +.btn-sample.active, +.btn-sample.disabled, +.btn-sample[disabled] { + color: #FFFFFF; + background-color: #41A02C; + *background-color: #003bb3; +} +.btn-gradient-danger { + font-weight: bold; + color: #FFFFFF; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #AE0020; + *background-color: #AE0020; + background-image: -moz-linear-gradient(top, #F74658, #AE0020); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#F74658), to(#AE0020)); + background-image: -webkit-linear-gradient(top, #F74658, #AE0020); + background-image: -o-linear-gradient(top, #F74658, #AE0020); + background-image: linear-gradient(to bottom, #F74658, #AE0020); + background-repeat: repeat-x; + border-color: #AE0020; + border-color: #888; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#F74658', endColorstr='#AE0020', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} +.btn-sample:hover, +.btn-sample:focus, +.btn-sample:active, +.btn-sample.active, +.btn-sample.disabled, +.btn-sample[disabled] { + color: #FFFFFF; + background-color: #AE0020; + *background-color: #003bb3; +} +.btn-gradient-default { + font-weight: bold; + color: #B3B3B3; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #D0D0D0; + *background-color: #D0D0D0; + background-image: -moz-linear-gradient(top, #FCFCFC, #D0D0D0); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#FCFCFC), to(#D0D0D0)); + background-image: -webkit-linear-gradient(top, #FCFCFC, #D0D0D0); + background-image: -o-linear-gradient(top, #FCFCFC, #D0D0D0); + background-image: linear-gradient(to bottom, #FCFCFC, #D0D0D0); + background-repeat: repeat-x; + border-color: #D0D0D0; + border-color: #888; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FCFCFC', endColorstr='#D0D0D0', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} +.btn-sample:hover, +.btn-sample:focus, +.btn-sample:active, +.btn-sample.active, +.btn-sample.disabled, +.btn-sample[disabled] { + color: #FFFFFF; + background-color: #D0D0D0; + *background-color: #003bb3; +} +.md-datepicker-calendar-pane { + z-index: 30001; +} +md-datepicker.btn { + width: 100%; + padding: 0px; + position: relative; +} +md-datepicker.btn .md-button.md-icon-button.md-datepicker-button { + float: left; + min-height: 0px; + height: 32px; + z-index: 2; + width: 100%; + padding: 0px; + margin: 0px; +} +md-datepicker.btn .md-button.md-icon-button.md-datepicker-button md-icon { + display: none; +} +md-datepicker.btn .md-datepicker-input-container { + line-height: 28px; + border-bottom: none; + margin-left: 0px; + position: absolute; + left: 0px; + padding-left: 0px; + width: 100%; +} +md-datepicker.btn .md-datepicker-input { + width: 100%; + text-align: left; + line-height: 32px; + padding-left: 10px; + margin: 0px; +} +md-datepicker.btn .md-datepicker-input::-webkit-input-placeholder { + color: #555; +} +md-datepicker.btn .md-datepicker-triangle-button { + top: 7px; +} +md-datepicker.btn .md-datepicker-triangle-button .md-datepicker-expand-triangle { + border-left: 4px solid transparent; + border-right: 4px solid transparent; + border-top: 4px solid transparent; + border-bottom: 4px solid transparent; +} +md-datepicker.btn .md-datepicker-triangle-button .md-datepicker-expand-triangle:before { + position: absolute; + top: -13px; + left: -3px; + display: inline-block; + border-left: 3.8px solid transparent; + border-right: 3.8px solid transparent; + border-top: 7px solid transparent; + border-bottom: 5.9px solid #555555; + content: ''; +} +md-datepicker.btn .md-datepicker-triangle-button .md-datepicker-expand-triangle:after { + position: absolute; + top: 1px; + left: -3px; + display: inline-block; + border-left: 3.8px solid transparent; + border-right: 3.8px solid transparent; + border-top: 5.9px solid #555555; + border-bottom: 7px solid transparent; + content: ''; +} +.dropdown-menu li[data-ng-if="modelValue().length > 0"] { + display: none; +} +.next-steps md-datepicker .md-datepicker-input { + text-align: center; +} +.next-steps .checklist-name { + padding-left: 0px; + border-bottom: 1px dashed; +} +.next-steps .addNextSteps { + margin-bottom: 10px; + margin-top: 10px; +} +.next-steps .repeaterNextStep { + margin-bottom: 10px; + padding-right: 10px; + padding-left: 10px; + padding-top: 10px; + padding-bottom: 10px; + border: 1px solid; + border-color: #CCCCCC; +} +.next-steps .padTop4 { + padding-top: 4px; +} +.next-steps .padTop10 { + padding-top: 10px; +} +.next-steps .padLeft0 { + padding-left: 0px; +} +.next-steps .add-header { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 16px; +} +.next-steps .ice-wysiwyg { + height: 200px; +} +.next-steps .ice-wysiwyg .wysiwyg-menu > div { + background-color: #f1f1f1; + padding: 2px; +} +.next-steps .font-deco { + text-decoration-line: underline; + text-decoration-style: dashed; +} +.next-steps .text-right { + text-align: right; +} +.next-steps .font_header { + margin_top: 0px; + color: #5a5a5a; + font-family: omnes-medium, sans-serif; + font-size: 18px; +} +.next-steps .font_header_add_next { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 24px; +} +.next-steps .font_header_chk_name { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 18px; +} +.next-steps .margin_btm { + margin-bottom: 12px; +} +.next-steps .ms { + background-color: yellow; +} +.next-steps multiselect > .btn-group { + width: 100%; +} +.next-steps multiselect > .btn-group > .btn { + width: 100%; +} +.next-steps multiselect > .btn-group > .dropdown-menu { + width: 100%; +} +.next-steps form > .lineColor { + background-color: #F6F3F3; +} +.next-steps .add-icon { + background: url('images/icons-sprite-v5.png') no-repeat top left; + width: 20px; + height: 20px; + background-position: -180px 0; + width: 18px; + height: 18px; + display: inline-block; +} +.next-steps .add-button { + margin-top: 8px; + display: block; +} +.next-steps .add-button .add-text { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 16px; + vertical-align: top; + margin-left: 6px; +} +.next-steps .remove-icon { + cursor: pointer; + vertical-align: text-top; + background: url('images/actions-sprite.png') no-repeat top left; + width: 15px; + height: 15px; + background-position: 0 0; + display: block; + position: relative; + top: 11px; +} +.next-steps .posRelative { + position: relative; +} +.next-steps .posAbsDelBtn { + position: absolute; + top: 10px; + right: 20px; + z-index: 40000; +} +.next-steps #btn-submit { + width: 100%; +} +.next-steps .btn-primary { + border: 1px solid #8799A3; + border-radius: 6px; + background: #1E79B0; + /* For browsers that do not support gradients */ + background: -webkit-linear-gradient(#1E79B0, #62ADD5); + /* For Safari 5.1 to 6.0 */ + background: -o-linear-gradient(#1E79B0, #62ADD5); + /* For Opera 11.1 to 12.0 */ + background: -moz-linear-gradient(#1E79B0, #62ADD5); + /* For Firefox 3.6 to 15 */ + background: linear-gradient(#1E79B0, #62ADD5); + /* Standard syntax (must be last) */ +} +.next-steps .datepickerdemoBasicUsage { + /** Demo styles for mdCalendar. */ +} +.next-steps .datepickerdemoBasicUsage md-content { + padding-bottom: 200px; +} +.next-steps .datepickerdemoBasicUsage .validation-messages { + font-size: 12px; + color: #dd2c00; + margin-left: 15px; +} +.select-engagement-lead-modal { + padding: 0px 15px 0px 15px; +} +.select-engagement-lead-modal .select-engagement-lead-title { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 24px; +} +.select-engagement-lead-modal .select-engagement-lead-description { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 16px; +} +.select-engagement-lead-modal .modal-body { + top: 10px; +} +.set-stage-modal-text-details { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 18px; + padding: 3% 0% 3% 0%; +} +.set-stage-title { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 18px; +} +.set-stage-title .bold { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 18px; +} +.btn-gradient-success { + font-weight: bold; + color: #FFFFFF; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #41A02C; + *background-color: #41A02C; + background-image: -moz-linear-gradient(top, #A2E652, #41A02C); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#A2E652), to(#41A02C)); + background-image: -webkit-linear-gradient(top, #A2E652, #41A02C); + background-image: -o-linear-gradient(top, #A2E652, #41A02C); + background-image: linear-gradient(to bottom, #A2E652, #41A02C); + background-repeat: repeat-x; + border-color: #41A02C; + border-color: #888; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#A2E652', endColorstr='#41A02C', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} +.btn-sample:hover, +.btn-sample:focus, +.btn-sample:active, +.btn-sample.active, +.btn-sample.disabled, +.btn-sample[disabled] { + color: #FFFFFF; + background-color: #41A02C; + *background-color: #003bb3; +} +.btn-gradient-danger { + font-weight: bold; + color: #FFFFFF; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #AE0020; + *background-color: #AE0020; + background-image: -moz-linear-gradient(top, #F74658, #AE0020); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#F74658), to(#AE0020)); + background-image: -webkit-linear-gradient(top, #F74658, #AE0020); + background-image: -o-linear-gradient(top, #F74658, #AE0020); + background-image: linear-gradient(to bottom, #F74658, #AE0020); + background-repeat: repeat-x; + border-color: #AE0020; + border-color: #888; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#F74658', endColorstr='#AE0020', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} +.btn-sample:hover, +.btn-sample:focus, +.btn-sample:active, +.btn-sample.active, +.btn-sample.disabled, +.btn-sample[disabled] { + color: #FFFFFF; + background-color: #AE0020; + *background-color: #003bb3; +} +.btn-gradient-default { + font-weight: bold; + color: #B3B3B3; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #D0D0D0; + *background-color: #D0D0D0; + background-image: -moz-linear-gradient(top, #FCFCFC, #D0D0D0); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#FCFCFC), to(#D0D0D0)); + background-image: -webkit-linear-gradient(top, #FCFCFC, #D0D0D0); + background-image: -o-linear-gradient(top, #FCFCFC, #D0D0D0); + background-image: linear-gradient(to bottom, #FCFCFC, #D0D0D0); + background-repeat: repeat-x; + border-color: #D0D0D0; + border-color: #888; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FCFCFC', endColorstr='#D0D0D0', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} +.btn-sample:hover, +.btn-sample:focus, +.btn-sample:active, +.btn-sample.active, +.btn-sample.disabled, +.btn-sample[disabled] { + color: #FFFFFF; + background-color: #D0D0D0; + *background-color: #003bb3; +} +.status-modal-body .status-modal-description { + border-color: #abb8c0; + margin-bottom: 15px; +} +.edit-target-lab-date-modal .md-datepicker-input-container .md-datepicker-input { + width: 100%; + text-align: left; + line-height: 32px; + padding-left: 95px; + margin: 0px; +} +.update-engagement-status-modal { + padding: 0px 15px 0px 15px; +} +.update-engagement-status-modal .update-engagement-status-title { + color: #1370a3; + font-family: omnes-medium, sans-serif; + font-size: 24px; +} +.update-engagement-status-modal .update-engagement-status-description { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 16px; +} +.update-engagement-status-modal .form-field-title { + color: #5a5a5a; + font-family: omnes-regular, sans-serif; + font-size: 16px; +} +.update-engagement-status-modal .modal-body { + top: 10px; +} +.update-engagement-status-modal .md-datepicker-input { + max-width: none; +} +#validation-details-form #edit-validation-setails-save-button { + margin-top: 15px; +} +#validation-details-form .field-title { + color: #5a5a5a; + font-family: omnes-medium, sans-serif; + font-size: 16px; + margin-bottom: 2px; + margin-top: 5px; +} +.welcome-boxes { + margin-top: 60px; +} +.welcome-box h3 { + font-weight: bold; +} +.welcome-box p { + font-size: 16px; + padding: 0 15px; + color: #5c5c5c; + margin-bottom: 0; +} +.get-started-button { + width: 190px; + margin-top: 20px; + text-align: center; + margin-left: auto; + margin-right: auto; + color: white !important; + height: 48px; + font-size: 18px !important; + font-weight: bold; + line-height: 38px; + vertical-align: middle; + background: linear-gradient(#1E79B0, #62ADD5); + border: 1px solid #8799A3; + border-radius: 6px; +} +.welcome-body { + overflow: auto; +} +.welcome-navbar { + background-color: black; + padding-left: 10%; + padding-right: 10%; + border-color: #585858; + border-left: black; + z-index: 1030; + left: 0; + right: 0; + position: absolute; + border-radius: 0; + top: 0; +} +.welcome-nav-link { + color: #ffffff !important; + font-weight: 600; + line-height: 20px; + margin-top: 7px; +} +.welcome { + position: relative; + width: 100%; + -webkit-background-size: cover; + -moz-background-size: cover; + background-size: cover; + -o-background-size: cover; + background: url('../styles/images/home_bg1-1920x1138.jpg') center; + text-align: center; + color: white; +} +.welcome .header-content { + position: relative; + text-align: center; + padding: 100px 15px 100px; + width: 100%; +} +.welcome .header-content .header-content-inner h1 { + font-weight: 700; + margin-top: 0; + margin-bottom: 0; + font-size: 30px; + color: #ffffff; +} +.welcome .header-content .header-content-inner p { + font-weight: 300; + font-size: 16px; + margin-bottom: 50px; + color: #ffffff; +} +@media (min-width: 768px) { + .welcome { + min-height: 73%; + } + .welcome .header-content { + position: absolute; + top: 50%; + -webkit-transform: translateY(-50%); + -ms-transform: translateY(-50%); + transform: translateY(-50%); + padding: 0 50px; + } + .welcome .header-content .header-content-inner { + max-width: 100%; + margin-left: auto; + margin-right: auto; + } + .welcome .header-content .header-content-inner h1 { + font-size: 50px; + } + .welcome .header-content .header-content-inner p { + font-size: 18px; + max-width: 90%; + margin-left: auto; + margin-right: auto; + } +} +.welcome-footer { + background: #2e2e2e; + color: #cbcbcb; + padding: 60px 0 0; + margin-top: 60px; +} +.welcome-footer-copyright { + color: #cbcbcb; + font-size: 17px; + line-height: 25px; + padding-bottom: 5px; + text-align: center; +} +.welcome-logo { + margin-top: -8px; +} +.navbar-collapse .navbar-nav > li > a:hover, +.navbar-default .navbar-nav > li > a:focus { + background: none; +} +.navbar-collapse .navbar-nav > li > a:hover:after, +.navbar-collapse .navbar-nav > li.active > a:after, +.navbar-collapse .navbar-nav > li.active > a:hover:after, +.navbar-collapse .navbar-nav > li.active > a:focus:after { + position: absolute; + bottom: 9px; + left: 50%; + content: ''; + width: 20px; + height: 2px; + margin-left: -10px; + background-color: #fff; +} +.navbar-nav > li + li { + margin-left: 2px; +} +.navbar-collapse .navbar-nav > li.active > a, +.navbar-collapse .navbar-nav > li.active > a:hover, +.navbar-collapse .navbar-nav > li.active > a:focus { + color: #828282; + background-color: transparent; +} diff --git a/vvp/app/styles/app.less b/vvp/app/styles/app.less new file mode 100644 index 00000000..48a30f89 --- /dev/null +++ b/vvp/app/styles/app.less @@ -0,0 +1,101 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +// injector:less +@import '../styles/buttons.less'; +@import '../styles/fonts.less'; +@import '../styles/form.less'; +@import '../styles/global.less'; +@import '../styles/mixins.less'; +@import '../styles/modals.less'; +@import '../styles/sprite.less'; +@import '../styles/table-flex.less'; +@import '../styles/variables.less'; +@import '../core/layouts/dashboard/dashboard.less'; +@import '../core/layouts/full-page-with-header/full-page-with-header.less'; +@import '../core/navigation/layouts/account-navigation/navigation.less'; +@import '../core/navigation/layouts/admin-navigation/navigation.less'; +@import '../core/navigation/layouts/documentation-navigation/navigation.less'; +@import '../core/navigation/layouts/horizontal-navigation/navigation.less'; +@import '../core/toolbar/layouts/horizontal-navigation/toolbar.less'; +@import '../directives/ice-loader/ice-loader.less'; +@import '../directives/ice-news-and-announcement/ice-news-and-announcement.less'; +@import '../directives/ice-toast/ice-toast.less'; +@import '../directives/ice-tooltip/ice-tooltip.less'; +@import '../directives/progress/progress.less'; +@import '../directives/step-stages/step-stages.less'; +@import '../main/activation/addVendorContact/addVendorContact.less'; +@import '../main/activation/addVf/addVf.less'; +@import '../main/activation/contactUs/contactUs.less'; +@import '../main/activation/inviteMembers/inviteMembers.less'; +@import '../main/activation/login/login.less'; +@import '../main/activation/register/register.less'; +@import '../main/activation/resendActivation/resendActivation.less'; +@import '../main/activation/resetPassword/resetPassword.less'; +@import '../main/activation/terms/terms.less'; +@import '../main/activation/updatePassword/updatePassword.less'; +@import '../main/admin/checklist-template/checklist-template.less'; +@import '../main/dashboard/account/account.less'; +@import '../main/dashboard/account/notifications/notifications.less'; +@import '../main/dashboard/account/user-profile-settings/user-profile-settings.less'; +@import '../main/dashboard/checklist/checklist.less'; +@import '../main/dashboard/dashboard/dashboard.less'; +@import '../main/dashboard/detailed-view/detailed-view.less'; +@import '../main/dashboard/get-started-modal/get-started-modal.less'; +@import '../main/dashboard/get-started-modal/wizard/wizard.less'; +@import '../main/dashboard/overview/overview.less'; +@import '../main/documentation/documentation.less'; +@import '../main/documentation/sidebar/documentation.sidebar.less'; +@import '../main/modals/archive-engagement-modal/archive-engagement-modal.less'; +@import '../main/modals/audit-log/audit-log.less'; +@import '../main/modals/checklist/state-approve-or-reject/state-approve-or-reject.less'; +@import '../main/modals/cms-post-modal/cms-post-modal.less'; +@import '../main/modals/detailed-view/vfc/detailed-view-vfc-modal.less'; +@import '../main/modals/feedback/feedback.less'; +@import '../main/modals/general-log-modal/general-log-modal.less'; +@import '../main/modals/general-prompt-modal/general-prompt-modal.less'; +@import '../main/modals/next-steps/next-steps.less'; +@import '../main/modals/select-el-modal/select-el-modal.less'; +@import '../main/modals/set-eng-stage/set-eng-stage-modal.less'; +@import '../main/modals/status/status.less'; +@import '../main/modals/target-lab-entry/change-lab-entry-date.less'; +@import '../main/modals/update-engagement-status-modal/update-engagement-status-modal.less'; +@import '../main/modals/validation-details/detailed-view-validation-details-modal.less'; +@import '../welcome/welcome.less'; +// endinjector:less + diff --git a/vvp/app/styles/buttons.less b/vvp/app/styles/buttons.less new file mode 100644 index 00000000..9b3c10e8 --- /dev/null +++ b/vvp/app/styles/buttons.less @@ -0,0 +1,38 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. diff --git a/vvp/app/styles/fonts.less b/vvp/app/styles/fonts.less new file mode 100644 index 00000000..86077571 --- /dev/null +++ b/vvp/app/styles/fonts.less @@ -0,0 +1,83 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +//Omnes_ATT W02 Italic +@font-face { + font-family: omnes-italic; +} + +//Omnes_ATT W02 Light +@font-face { + font-family: omnes-light; +} + +//Omnes_ATT W02 Light Italic +@font-face { + font-family: omnes-light-italic; +} + +//Omnes_ATT W02 Medium +@font-face { + font-family: omnes-medium; +} + +//Omnes_ATT W02 Medium Italic +@font-face { + font-family: omnes-medium-italic; +} + +//Omnes_ATT W02 Regular +@font-face { + font-family: omnes-regular; +} + +//Omnes_ATT W02 Bold +@font-face { + font-family: omnes-bold; +} + +//Omnes_ATT W02 Bold Italic +@font-face { + font-family: omnes-bold-italic; +} + + +//ClearviewATT Book +@font-face { + font-family: clearview-book; +} diff --git a/vvp/app/styles/form.less b/vvp/app/styles/form.less new file mode 100644 index 00000000..98d221e6 --- /dev/null +++ b/vvp/app/styles/form.less @@ -0,0 +1,54 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +label { + font-weight: 400; +} + +.ice-form-label { + .s_14_r; + + &.required:before { + content: '* '; + .q_14_m; + } +} + +.ice-form-error { + .q_14_r; +} diff --git a/vvp/app/styles/global.less b/vvp/app/styles/global.less new file mode 100644 index 00000000..5a521ed6 --- /dev/null +++ b/vvp/app/styles/global.less @@ -0,0 +1,174 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +html { + height: 100%; +} + +body { + .m_14_r; + height: 100%; +} + +* { + box-sizing: border-box; + margin: 0; + outline: none; + -webkit-transition: none !important; + transition: none !important; +} + + + +/* Extra small devices (phones, less than 768px) */ +/* No media query since this is the default in Bootstrap */ +@media (max-width: 992px) { + .navbar-header { + float: none; + } + .navbar-left,.navbar-right { + float: none !important; + } + .navbar-toggle { + display: block; + } + .navbar-collapse { + border-top: 1px solid transparent; + box-shadow: inset 0 1px 0 rgba(255,255,255,0.1); + } + .navbar-fixed-top { + top: 0; + border-width: 0 0 1px; + } + .navbar-collapse.collapse { + display: none!important; + } + .navbar-nav { + float: none!important; + margin-top: 7.5px; + } + .navbar-nav>li { + float: none; + } + .navbar-nav>li>a { + padding-top: 10px; + padding-bottom: 10px; + } + .collapse.in{ + display:block !important; + } +} + + + + +/* Small devices (tablets, 768px and up) */ +@media (min-width:768px) { html, body { + // height: 100%; + // overflow: auto; + } } + + + + + + +/* Medium devices (desktops, 992px and up) */ +@media (min-width: 998px) { html, body { + height: 100%; + overflow: hidden; + } } + + + + + + +body.ice { + + .container-fluid { height: 100%; } + .container-fluid > .row { height: 100%; } + .container-fluid > .row > #main { height: 100%; } + + #header-title { + height: 130px; + display: flex; + flex-direction: column; + align-items: center; + justify-content: flex-start; + h1 {.p_24; margin: 20px 0 10px 0;} + h2 {.p_16_m; margin: 0;} + } + + #content { + padding: 20px; + /*height: 100%;*/ + + .row { + height: 100%; + } + } + + a, + a:hover, + a:active, + a:focus + { + .m_16_r; + text-decoration: none; + cursor: pointer; + } + + ul { + padding: 0; + } + +} + +.bold { + font-weight: bold; +} +.italic { + font-style: italic; +} +.line-through { + text-decoration-line: line-through; +} +.underline { + text-decoration-line: underline; +} \ No newline at end of file diff --git a/vvp/app/styles/images/Collaborate.png b/vvp/app/styles/images/Collaborate.png new file mode 100644 index 00000000..97a7b52d Binary files /dev/null and b/vvp/app/styles/images/Collaborate.png differ diff --git a/vvp/app/styles/images/Incubate.png b/vvp/app/styles/images/Incubate.png new file mode 100644 index 00000000..bd30eb84 Binary files /dev/null and b/vvp/app/styles/images/Incubate.png differ diff --git a/vvp/app/styles/images/Validate.png b/vvp/app/styles/images/Validate.png new file mode 100644 index 00000000..993f7efe Binary files /dev/null and b/vvp/app/styles/images/Validate.png differ diff --git a/vvp/app/styles/images/actions-sprite.png b/vvp/app/styles/images/actions-sprite.png new file mode 100644 index 00000000..df1b6f14 Binary files /dev/null and b/vvp/app/styles/images/actions-sprite.png differ diff --git a/vvp/app/styles/images/btn1.png b/vvp/app/styles/images/btn1.png new file mode 100644 index 00000000..16d4c049 Binary files /dev/null and b/vvp/app/styles/images/btn1.png differ diff --git a/vvp/app/styles/images/btn2.png b/vvp/app/styles/images/btn2.png new file mode 100644 index 00000000..fb47af39 Binary files /dev/null and b/vvp/app/styles/images/btn2.png differ diff --git a/vvp/app/styles/images/btn3.png b/vvp/app/styles/images/btn3.png new file mode 100644 index 00000000..c8599120 Binary files /dev/null and b/vvp/app/styles/images/btn3.png differ diff --git a/vvp/app/styles/images/btnX.png b/vvp/app/styles/images/btnX.png new file mode 100644 index 00000000..08b2136f Binary files /dev/null and b/vvp/app/styles/images/btnX.png differ diff --git a/vvp/app/styles/images/d2sandbox_logos-150x30.png b/vvp/app/styles/images/d2sandbox_logos-150x30.png new file mode 100644 index 00000000..ceb58efb Binary files /dev/null and b/vvp/app/styles/images/d2sandbox_logos-150x30.png differ diff --git a/vvp/app/styles/images/d2sandbox_logos_color-150x30.png b/vvp/app/styles/images/d2sandbox_logos_color-150x30.png new file mode 100644 index 00000000..e17fd63e Binary files /dev/null and b/vvp/app/styles/images/d2sandbox_logos_color-150x30.png differ diff --git a/vvp/app/styles/images/flags.png b/vvp/app/styles/images/flags.png new file mode 100644 index 00000000..89b1f1cd Binary files /dev/null and b/vvp/app/styles/images/flags.png differ diff --git a/vvp/app/styles/images/flags@2x.png b/vvp/app/styles/images/flags@2x.png new file mode 100644 index 00000000..3624e635 Binary files /dev/null and b/vvp/app/styles/images/flags@2x.png differ diff --git a/vvp/app/styles/images/home_bg1-1920x1138.jpg b/vvp/app/styles/images/home_bg1-1920x1138.jpg new file mode 100644 index 00000000..1a56a1eb Binary files /dev/null and b/vvp/app/styles/images/home_bg1-1920x1138.jpg differ diff --git a/vvp/app/styles/images/icons-sprite-v2.png b/vvp/app/styles/images/icons-sprite-v2.png new file mode 100644 index 00000000..ebba7cb4 Binary files /dev/null and b/vvp/app/styles/images/icons-sprite-v2.png differ diff --git a/vvp/app/styles/images/icons-sprite-v3.png b/vvp/app/styles/images/icons-sprite-v3.png new file mode 100644 index 00000000..0c39540a Binary files /dev/null and b/vvp/app/styles/images/icons-sprite-v3.png differ diff --git a/vvp/app/styles/images/icons-sprite-v4.png b/vvp/app/styles/images/icons-sprite-v4.png new file mode 100644 index 00000000..757006e0 Binary files /dev/null and b/vvp/app/styles/images/icons-sprite-v4.png differ diff --git a/vvp/app/styles/images/icons-sprite-v5.png b/vvp/app/styles/images/icons-sprite-v5.png new file mode 100644 index 00000000..ab0d5a25 Binary files /dev/null and b/vvp/app/styles/images/icons-sprite-v5.png differ diff --git a/vvp/app/styles/images/icons-sprite.png b/vvp/app/styles/images/icons-sprite.png new file mode 100644 index 00000000..97b98b4b Binary files /dev/null and b/vvp/app/styles/images/icons-sprite.png differ diff --git a/vvp/app/styles/images/profiles-sprite.png b/vvp/app/styles/images/profiles-sprite.png new file mode 100644 index 00000000..fda15cc3 Binary files /dev/null and b/vvp/app/styles/images/profiles-sprite.png differ diff --git a/vvp/app/styles/images/steps-sprite.png b/vvp/app/styles/images/steps-sprite.png new file mode 100644 index 00000000..f71abf72 Binary files /dev/null and b/vvp/app/styles/images/steps-sprite.png differ diff --git a/vvp/app/styles/images/top.jpg b/vvp/app/styles/images/top.jpg new file mode 100644 index 00000000..7764a937 Binary files /dev/null and b/vvp/app/styles/images/top.jpg differ diff --git a/vvp/app/styles/images/wait.gif b/vvp/app/styles/images/wait.gif new file mode 100644 index 00000000..32446bd7 Binary files /dev/null and b/vvp/app/styles/images/wait.gif differ diff --git a/vvp/app/styles/mixins.less b/vvp/app/styles/mixins.less new file mode 100644 index 00000000..e34c4344 --- /dev/null +++ b/vvp/app/styles/mixins.less @@ -0,0 +1,381 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +@import "variables"; + +.f-color { + .a {color: @main_color_a;} + .b {color: @main_color_b;} + .c {color: @main_color_c;} + .d {color: @main_color_d;} + .e {color: @main_color_e;} + .f {color: @main_color_f;} + .g {color: @main_color_g;} + .h {color: @main_color_h;} + .i {color: @main_color_i;} + .j {color: @main_color_j;} + .k {color: @main_color_k;} + .l {color: @main_color_l;} + .m {color: @main_color_m;} + .n {color: @main_color_n;} + .o {color: @main_color_o;} + .p {color: @main_color_p;} + + .q {color: @func_color_q;} + .r {color: @func_color_r;} + .s {color: @func_color_s;} + .x {color: @func_color_x;} + + + .t {color: @tlv_color_t;} + .u {color: @tlv_color_u;} + .v {color: @tlv_color_v;} + + .w {color: @bg_color_a;} + + +} + +.f-type { + ._36 { + font-family: @font-omnes-light; + font-size: 36px; + } + ._36_m { + font-family: @font-omnes-medium; + font-size: 36px; + } + ._26 { + font-family: @font-omnes-light; + font-size: 26px; + } + ._26_m { + font-family: @font-omnes-medium; + font-size: 26px; + } + ._24 { + font-family: @font-omnes-light; + font-size: 24px; + } + ._24_m { + font-family: @font-omnes-medium; + font-size: 24px; + } + ._24_r { + font-family: @font-omnes-regular; + font-size: 24px; + } + ._22 { + font-family: @font-omnes-light; + font-size: 22px; + } + ._22_m { + font-family: @font-omnes-medium; + font-size: 22px; + } + ._20 { + font-family: @font-omnes-light; + font-size: 20px; + } + ._20_m { + font-family: @font-omnes-medium; + font-size: 20px; + } + ._18 { + font-family: @font-omnes-light; + font-size: 18px; + } + ._18_r { + font-family: @font-omnes-regular; + font-size: 18px; + } + ._18_m { + font-family: @font-omnes-medium; + font-size: 18px; + } + ._16_i { + font-family: @font-omnes-medium-italic; + font-size: 16px; + } + ._16_r { + font-family: @font-omnes-regular; + font-size: 16px; + } + ._16_m { + font-family: @font-omnes-medium; + font-size: 16px; + } + ._14_r { + font-family: @font-omnes-regular; + font-size: 14px; + } + ._14_m { + font-family: @font-omnes-medium; + font-size: 14px; + } + ._14_i { + font-family: @font-omnes-medium-italic; + font-size: 14px; + } + ._13_r { + font-family: @font-omnes-regular; + font-size: 13px; + } + ._13_m { + font-family: @font-omnes-medium; + font-size: 13px; + } + ._13_i { + font-family: @font-omnes-medium-italic; + font-size: 13px; + } + ._12_r { + font-family: @font-omnes-regular; + font-size: 12px; + } + ._12_m { + font-family: @font-omnes-medium; + font-size: 12px; + } + ._12_i { + font-family: @font-omnes-medium-italic; + font-size: 12px; + } + ._10_r { + font-family: @font-omnes-regular; + font-size: 10px; + } + ._10_m { + font-family: @font-omnes-medium; + font-size: 10px; + } +} + +.buildForColor(a); +.buildForColor(b); +.buildForColor(c); +.buildForColor(d); +.buildForColor(e); +.buildForColor(f); +.buildForColor(g); +.buildForColor(h); +.buildForColor(i); +.buildForColor(j); +.buildForColor(k); +.buildForColor(l); +.buildForColor(m); +.buildForColor(n); +.buildForColor(o); +.buildForColor(p); + +.buildForFuncColor(q); +.buildForFuncColor(r); +.buildForFuncColor(s); +.buildForFuncColor(x); + +.buildForTlvColor(t); +.buildForTlvColor(u); +.buildForTlvColor(v); + + +.buildForColor(@c){ + .@{c}_36 { color: ~"@{main_color_@{c}}"; .f-type > ._36;} + .@{c}_36_m { color: ~"@{main_color_@{c}}"; .f-type > ._36_m;} + .@{c}_26 { color: ~"@{main_color_@{c}}"; .f-type > ._26;} + .@{c}_26_m { color: ~"@{main_color_@{c}}"; .f-type > ._26_m;} + .@{c}_24 { color: ~"@{main_color_@{c}}"; .f-type > ._24;} + .@{c}_24_m { color: ~"@{main_color_@{c}}"; .f-type > ._24_m;} + .@{c}_24_r { color: ~"@{main_color_@{c}}"; .f-type > ._24_r;} + .@{c}_22 { color: ~"@{main_color_@{c}}"; .f-type > ._22;} + .@{c}_22_m { color: ~"@{main_color_@{c}}"; .f-type > ._22_m;} + .@{c}_20 { color: ~"@{main_color_@{c}}"; .f-type > ._20;} + .@{c}_20_m { color: ~"@{main_color_@{c}}"; .f-type > ._20_m;} + .@{c}_18 { color: ~"@{main_color_@{c}}"; .f-type > ._18;} + .@{c}_18_r { color: ~"@{main_color_@{c}}"; .f-type > ._18_r;} + .@{c}_18_m { color: ~"@{main_color_@{c}}"; .f-type > ._18_m;} + .@{c}_16_i { color: ~"@{main_color_@{c}}"; .f-type > ._16_i;} + .@{c}_16_r { color: ~"@{main_color_@{c}}"; .f-type > ._16_r;} + .@{c}_16_m { color: ~"@{main_color_@{c}}"; .f-type > ._16_m;} + .@{c}_14_r { color: ~"@{main_color_@{c}}"; .f-type > ._14_r;} + .@{c}_14_m { color: ~"@{main_color_@{c}}"; .f-type > ._14_m;} + .@{c}_14_i { color: ~"@{main_color_@{c}}"; .f-type > ._14_i;} + .@{c}_13_r { color: ~"@{main_color_@{c}}"; .f-type > ._13_r;} + .@{c}_13_m { color: ~"@{main_color_@{c}}"; .f-type > ._13_m;} + .@{c}_13_i { color: ~"@{main_color_@{c}}"; .f-type > ._13_i;} + .@{c}_12_r { color: ~"@{main_color_@{c}}"; .f-type > ._12_r;} + .@{c}_12_m { color: ~"@{main_color_@{c}}"; .f-type > ._12_m;} + .@{c}_12_i { color: ~"@{main_color_@{c}}"; .f-type > ._12_i;} + .@{c}_10_r { color: ~"@{main_color_@{c}}"; .f-type > ._10_r;} + .@{c}_10_m { color: ~"@{main_color_@{c}}"; .f-type > ._10_m;} + +} + +.buildForFuncColor(@c){ + .@{c}_36 { color: ~"@{func_color_@{c}}"; .f-type > ._36;} + .@{c}_36_m { color: ~"@{func_color_@{c}}"; .f-type > ._36_m;} + .@{c}_26 { color: ~"@{func_color_@{c}}"; .f-type > ._26;} + .@{c}_26_m { color: ~"@{func_color_@{c}}"; .f-type > ._26_m;} + .@{c}_24 { color: ~"@{func_color_@{c}}"; .f-type > ._24;} + .@{c}_24_m { color: ~"@{func_color_@{c}}"; .f-type > ._24_m;} + .@{c}_24_r { color: ~"@{func_color_@{c}}"; .f-type > ._24_r;} + .@{c}_22 { color: ~"@{func_color_@{c}}"; .f-type > ._22;} + .@{c}_22_m { color: ~"@{func_color_@{c}}"; .f-type > ._22_m;} + .@{c}_20 { color: ~"@{func_color_@{c}}"; .f-type > ._20;} + .@{c}_20_m { color: ~"@{func_color_@{c}}"; .f-type > ._20_m;} + .@{c}_18 { color: ~"@{func_color_@{c}}"; .f-type > ._18;} + .@{c}_18_r { color: ~"@{func_color_@{c}}"; .f-type > ._18_r;} + .@{c}_18_m { color: ~"@{func_color_@{c}}"; .f-type > ._18_m;} + .@{c}_16_r { color: ~"@{func_color_@{c}}"; .f-type > ._16_r;} + .@{c}_16_m { color: ~"@{func_color_@{c}}"; .f-type > ._16_m;} + .@{c}_14_r { color: ~"@{func_color_@{c}}"; .f-type > ._14_r;} + .@{c}_14_m { color: ~"@{func_color_@{c}}"; .f-type > ._14_m;} + .@{c}_14_i { color: ~"@{func_color_@{c}}"; .f-type > ._14_i;} + .@{c}_13_r { color: ~"@{func_color_@{c}}"; .f-type > ._13_r;} + .@{c}_13_m { color: ~"@{func_color_@{c}}"; .f-type > ._13_m;} + .@{c}_13_i { color: ~"@{func_color_@{c}}"; .f-type > ._13_i;} + .@{c}_12_r { color: ~"@{func_color_@{c}}"; .f-type > ._12_r;} + .@{c}_12_m { color: ~"@{func_color_@{c}}"; .f-type > ._12_m;} + .@{c}_12_i { color: ~"@{func_color_@{c}}"; .f-type > ._12_i;} +} + + +.buildForTlvColor(@c){ + .@{c}_36 { color: ~"@{tlv_color_@{c}}"; .f-type > ._36;} + .@{c}_36_m { color: ~"@{tlv_color_@{c}}"; .f-type > ._36_m;} + .@{c}_26 { color: ~"@{tlv_color_@{c}}"; .f-type > ._26;} + .@{c}_26_m { color: ~"@{tlv_color_@{c}}"; .f-type > ._26_m;} + .@{c}_24 { color: ~"@{tlv_color_@{c}}"; .f-type > ._24;} + .@{c}_24_m { color: ~"@{tlv_color_@{c}}"; .f-type > ._24_m;} + .@{c}_24_r { color: ~"@{tlv_color_@{c}}"; .f-type > ._24_r;} + .@{c}_22 { color: ~"@{tlv_color_@{c}}"; .f-type > ._22;} + .@{c}_22_m { color: ~"@{tlv_color_@{c}}"; .f-type > ._22_m;} + .@{c}_20 { color: ~"@{tlv_color_@{c}}"; .f-type > ._20;} + .@{c}_20_m { color: ~"@{tlv_color_@{c}}"; .f-type > ._20_m;} + .@{c}_18 { color: ~"@{tlv_color_@{c}}"; .f-type > ._18;} + .@{c}_18_r { color: ~"@{tlv_color_@{c}}"; .f-type > ._18_r;} + .@{c}_18_m { color: ~"@{tlv_color_@{c}}"; .f-type > ._18_m;} + .@{c}_16_r { color: ~"@{tlv_color_@{c}}"; .f-type > ._16_r;} + .@{c}_16_m { color: ~"@{tlv_color_@{c}}"; .f-type > ._16_m;} + .@{c}_14_r { color: ~"@{tlv_color_@{c}}"; .f-type > ._14_r;} + .@{c}_14_m { color: ~"@{tlv_color_@{c}}"; .f-type > ._14_m;} + .@{c}_14_i { color: ~"@{tlv_color_@{c}}"; .f-type > ._14_i;} + .@{c}_13_r { color: ~"@{tlv_color_@{c}}"; .f-type > ._13_r;} + .@{c}_13_m { color: ~"@{tlv_color_@{c}}"; .f-type > ._13_m;} + .@{c}_13_i { color: ~"@{tlv_color_@{c}}"; .f-type > ._13_i;} + .@{c}_12_r { color: ~"@{tlv_color_@{c}}"; .f-type > ._12_r;} + .@{c}_12_m { color: ~"@{tlv_color_@{c}}"; .f-type > ._12_m;} + .@{c}_12_i { color: ~"@{tlv_color_@{c}}"; .f-type > ._12_i;} +} + +.disabled { + opacity: 0.4 !important; + cursor: auto; + background-color: transparent; + pointer-events: none; +} + +.circle(@size) { + border-radius: 50%; + width: @size; + height: @size; +} + +.step-progress(@size, @color, @width) { + position: relative; + .circle { + .circle(@size); + display: inline-block; + background-color: @color; + } + .line { + border-bottom: solid 2px @color; + position: absolute; + top: @size/2-1; + width: @width; + } + .text { + position: absolute; + top: -5px; + margin-left: 10px; + .a_16_m; + } +} + +.step-progress-dashed(@size, @color, @width) { + position: relative; + .circle { + .circle(@size); + display: inline-block; + background-color: #ffffff; + border: dashed 1px @color; + } + .line { + border-bottom: dashed 1px @color; + position: absolute; + top: @size/2-1; + width: @width; + } + .text { + position: absolute; + top: -5px; + margin-left: 10px; + .a_16_m; + } +} + +.step-progress-solid(@size, @color, @width) { + position: relative; + .circle { + .circle(@size); + display: inline-block; + background-color: #ffffff; + border: solid 1px @color; + } + .line { + border-bottom: solid 1px @color; + position: absolute; + top: @size/2-1; + width: @width; + } + .text { + position: absolute; + top: -5px; + margin-left: 10px; + .a_16_m; + } +} diff --git a/vvp/app/styles/modals.less b/vvp/app/styles/modals.less new file mode 100644 index 00000000..b6bf1205 --- /dev/null +++ b/vvp/app/styles/modals.less @@ -0,0 +1,102 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +/* Overrides bootstrap modal */ +.modal-content { + border: 6px solid #1370A3; + border-radius: 0; + padding: 30px 30px; + + .modal-header { + + border-bottom: none; + border-top: none; + padding: 0; + + h2, h3 { + .a_24_m; + margin-bottom: 10px; + } + + .close { + outline: none; + .sprite; + .sprite.close; + display: block; + opacity: 1; + position: absolute; + top: 10px; + right: 7px; + + span { + display: none; + } + } + } + + .modal-body { + padding: 0; + } + + .modal-footer { + border-top: none; + padding: 0; + + .btn { + width: 100%; + } + + .btn4Confirmation { + width: 20%; + } + + .btn-primary { + border: 1px solid #8799A3; + border-radius: 6px; + background: #1E79B0; /* For browsers that do not support gradients */ + background: -webkit-linear-gradient(#1E79B0, #62ADD5); /* For Safari 5.1 to 6.0 */ + background: -o-linear-gradient(#1E79B0, #62ADD5); /* For Opera 11.1 to 12.0 */ + background: -moz-linear-gradient(#1E79B0, #62ADD5); /* For Firefox 3.6 to 15 */ + background: linear-gradient(#1E79B0, #62ADD5); /* Standard syntax (must be last) */ + } + + } + +} + + diff --git a/vvp/app/styles/sprite.less b/vvp/app/styles/sprite.less new file mode 100644 index 00000000..ec729a15 --- /dev/null +++ b/vvp/app/styles/sprite.less @@ -0,0 +1,128 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.sprite { background: url('images/icons-sprite-v5.png') no-repeat top left; width: 20px; height: 20px; } +.profiles-sprite { background: url('images/profiles-sprite.png') no-repeat top left; width: 40px; height: 28px; } +.steps-sprite {background-image: url(images/steps-sprite.png); background-repeat: no-repeat; display: block;} +.actions-sprite { background: url('images/actions-sprite.png') no-repeat top left; width: 15px; height: 15px; } + +.actions-sprite.delete_large { background-position: 0 0; } +.actions-sprite.reject_large { background-position: -25px 0; } +.actions-sprite.approve_large { background-position: -50px 0; } + +.sprite.added { background-position: 0 0; } +.sprite.approve { background-position: -30px 0; } +.sprite.complete { background-position: -60px 0; } +.sprite.electricity { background-position: -90px 0; } +.sprite.invite { background-position: -120px 0; } +.sprite.upload { background-position: -150px 0; } +.sprite.add { background-position: -180px 0; width: 18px; height: 18px; } +.sprite.success { background-position: -208px 0; width: 15px; height: 15px; } +.sprite.delete { background-position: -233px 0; width: 15px; height: 15px; } +.sprite.edit-large { background-position: -258px 0; height: 18px; } +.sprite.edit-medium { background-position: -288px 0; width: 17px; height: 16px; } +.sprite.edit-small { background-position: -315px 0; width: 15px; height: 14px; } +.sprite.approved { background-position: -340px 0; width: 12px; height: 12px; } +.sprite.pendingnon-el { background-position: -362px 0; width: 12px; height: 12px; } +.sprite.pending { background-position: -384px 0; width: 12px; height: 12px; } +.sprite.todo { background-position: -406px 0; width: 12px; height: 12px; } +.sprite.amburger { background-position: -428px 0; width: 12px; height: 12px; } +.sprite.question-mark { background-position: -450px 0; width: 18px; height: 18px; } +.sprite.delete-circle { background-position: -478px 0; width: 15px; height: 15px; } +.sprite.close { background-position: -503px 0; width: 15px; height: 15px; } + +.sprite.automation-state { background-position: -529px 0; width:15px; height:15px;} +.sprite.review-state-active { background-position: -554px 0; width:15px; height:15px;} +.sprite.review-state { background-position: -579px 0; width:15px; height:15px;} +.sprite.peer_review-state-active { background-position: -604px 0; width:15px; height:15px;} +.sprite.peer_review-state { background-position: -629px 0; width:15px; height:15px;} +.sprite.approval-state-active { background-position: -654px 0; width:15px; height:15px;} +.sprite.approval-state { background-position: -679px 0; width:15px; height:15px;} +.sprite.handoff-state-active { background-position: -704px 0; width:15px; height:15px;} +.sprite.handoff-state { background-position: -729px 0; width:15px; height:15px;} +.sprite.closed-state-active { background-position: -754px 0; width:15px; height:15px;} +.sprite.closed-state { background-position: -779px 0; width:15px; height:15px;} +.sprite.active-cl { background-position: -804px 0; width:15px; height:15px;} +.sprite.delete-cl { background-position: -829px 0; width:15px; height:15px;} +.sprite.denied-cl { background-position: -854px 0; width:15px; height:15px;} +.sprite.approved-cl { background-position: -879px 0; width: 15px;height:15px;} +.sprite.denied-cl-btn-active { background-position: -904px 0; width: 25px; height: 25px; } +.sprite.denied-cl-btn { background-position: -939px 0; width: 25px; height: 25px; } +.sprite.approved-cl-btn-active { background-position: -974px 0; width: 25px; height: 25px; } +.sprite.approved-cl-btn { background-position: -1009px 0; width: 25px; height: 25px; } +.sprite.not-relevant-btn-active { background-position: -1044px 0; width: 25px; height: 25px; } +.sprite.not-relevant-btn { background-position: -1079px 0; width: 25px; height: 25px; } +.sprite.items-todo { background-position: -1114px 0; width: 8px; height: 8px; } +.sprite.duedate { background-position: -1132px 0; width: 12px; height: 12px; } +.sprite.small-edit { background-position: -1154px 0; height: 14px; } +.sprite.not-relevant-cl { background-position: -1179px 0; width:15px; height:15px; } +.sprite.pending-state { background-position: -1204px 0; width:15px; height:15px; } +.sprite.starred { background-position: -1230px 0; width:19px; height:19px; } +.sprite.starred-selected { background-position: -1260px 0; width:19px; height:19px; } +.sprite.small-grey-add { background-position: -1288px 0; width:17px; height:15px; } +.sprite.big-grey-add { background-position: -1313px 0; width:19px; height:18px; } +.sprite.red-delete { background-position: -1341px 0; width:17px; height:16px; } +.sprite.grey-check-mark { background-position: -1390px 0; width:17px; height:15px; } +.sprite.order { background-position: -1417px 0; width: 14px; height: 12px;} +.sprite.admin-dropdown { background-position: 0 -63px; width: 14px; height: 14px; } + + +.profiles-sprite.avatar-blue { background-position: 0 0; height: 40px; } +.profiles-sprite.notification { background-position: 0 -50px; width: 25px; } +.profiles-sprite.profile-large { background-position: 0 -88px; width: 150px; height: 140px; } +.profiles-sprite.profile-medium { background-position: 0 -238px; height: 40px; } +.profiles-sprite.profile-white { background-position: 0 -288px; width: 32px; } +.profiles-sprite.avatar-white { background-position: 0 -326px; width: 30px; height: 30px; } + +.steps-sprite.confirmed { width: 12px; height: 12px; background-position: -5px -5px;} +.steps-sprite.completed {width: 12px;height: 12px;background-position: -27px -5px;} +.steps-sprite.completed-non-el {width: 12px;height: 12px;background-position: -49px -5px;} +.steps-sprite.todo {width: 12px;height: 12px;background-position: -71px -5px;} + + +.logo-white { + background: url('images/d2sandbox_logos-150x30.png') no-repeat 0 0; + width: 150px; + height: 30px; +} + +.logo-color { + background: url('images/d2sandbox_logos_color-150x30.png') no-repeat 0 0; + width: 150px; + height: 30px; +} diff --git a/vvp/app/styles/table-flex.less b/vvp/app/styles/table-flex.less new file mode 100644 index 00000000..d25c679b --- /dev/null +++ b/vvp/app/styles/table-flex.less @@ -0,0 +1,77 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.table-container-flex { + clear: both; + + .table { + width: 100%; + + .head { + + .head-row { + text-align: center; + padding: 8px 15px; + .l_14_m; + + &:last-child { + border-right: none; + } + + } + } + .body { + + } + + } + + .flex-container { + display: flex; + } + + .flex-item { + width:10px; + line-height: 25px; + padding: 5px 15px; + flex-grow: 1; + text-align: left; + + } + +} diff --git a/vvp/app/styles/variables.less b/vvp/app/styles/variables.less new file mode 100644 index 00000000..c8b6163b --- /dev/null +++ b/vvp/app/styles/variables.less @@ -0,0 +1,122 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +// Fonts +@font-omnes-light: omnes-light, sans-serif; +@font-omnes-regular: omnes-regular, sans-serif; +@font-omnes-medium: omnes-medium, sans-serif; +@font-omnes-medium-italic: omnes-medium-italic, sans-serif; +@font-omnes-bold: omnes-bold, sans-serif; + +/*---------------------------------------------- General ----------------------------------------------*/ +@images: "images"; + + + +// Main Colors +@main_color_a: #1370a3; +@main_color_b: #1370a3; +@main_color_c: #1370a3; +@main_color_d: #4ca90c; +@main_color_e: #007a3e; +@main_color_f: #b5bd00; +@main_color_g: #ea7499; +@main_color_h: #ffb81c; +@main_color_i: #702f8a; +@main_color_j: #9063cd; +@main_color_k: #caa2dd; +@main_color_l: #000000; +@main_color_m: #5a5a5a; +@main_color_n: #959595; +@main_color_o: #d2d2d2; +@main_color_p: #ffffff; +@main_color_q: #abb8c0; +@main_color_r: #1370A3; +@main_color_s: #dddddd; +@main_color_gray: #9B9B9B; + +// Functional Colors +@func_color_q: #cf2a2a; +@func_color_r: #f2f2f2; +@func_color_s: #191919; +@func_color_b: #0568ae; +@func_color_e: #007a3e; +@func_color_h: #ffb81c; +@func_color_x: #D74854; + + +// Tlv Colors +@tlv_color_t: #faf8f8; +@tlv_color_u: #eaeaea; +@tlv_color_v: #e6f6fb; + +// BG color +@bg_color_a: #EEF9FF; +@bg_color_b: #f6f3f3; +@bg_color_navigation: #DEF3FF; + +// Welcome page colors: +@welcome_box_text_color: #5c5c5c; +@welcome_button_gradient1: #1E79B0; +@welcome_button_gradient2: #62ADD5; +@welcome_button_border: #8799A3; +@welcome_navbar_hr: #585858; +@welcome_footer_bg: #2e2e2e; +@welcome_footer_text: #cbcbcb; + +// Tooltip colors: +@tooltip_header_color: #444141; + +//Toolbar colors: +@toolbar_background_color: #4990E2; + +//Progress directive colors: +@gradient_left: #4990E2; +@gradient_right: #DCEEFC; + +//Target completion box colors: +@target_completion_color: #FAC05F; + +//Engagement status box colors: +@engagement_status_color: #98C678; + +//Engagement team box colors: +@engagement_team_color: @main_color_gray; + +/*---------------------------------------------- Parameters ----------------------------------------------*/ +@header_height: 90px; diff --git a/vvp/app/welcome/index.html b/vvp/app/welcome/index.html new file mode 100644 index 00000000..63a921b1 --- /dev/null +++ b/vvp/app/welcome/index.html @@ -0,0 +1,50 @@ + + + + + + + AT&T | {{'program.name' | i18next}} + + + + diff --git a/vvp/app/welcome/welcome.controller.js b/vvp/app/welcome/welcome.controller.js new file mode 100644 index 00000000..8f5aa1a8 --- /dev/null +++ b/vvp/app/welcome/welcome.controller.js @@ -0,0 +1,58 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +/** + * Created by almog on 26/12/2016. + */ +(function() { + 'use strict'; + + angular + .module('ice.welcome') + .controller('WelcomeController', ["$state", "$location", "localStorageService", WelcomeController]); + + function WelcomeController($state, $location, localStorageService) { + var vm = this; + + var init = function() { + + } + + init(); + } +})(); diff --git a/vvp/app/welcome/welcome.html b/vvp/app/welcome/welcome.html new file mode 100644 index 00000000..14292a6a --- /dev/null +++ b/vvp/app/welcome/welcome.html @@ -0,0 +1,114 @@ + + + +
+
+
+

Welcome to {{'program.name' | i18next}}

+

{{'program.name' | i18next}} is a process allowing VFs to be incubated & validated against the {{'serviceProvider.name' | i18next}} Domain 2.0 architecture.

+ Get Started +
+
+
+ +
+
+
+
+ +

Incubate

+

{{'program.name' | i18next}} encourages you to engage early to make sure the process is as iterative and collaborative as possible.

+
+
+
+
+ +

Validate

+

{{'program.name' | i18next}} is focused to help validate your VF according the {{'serviceProvider.name' | i18next}} guidelines and requirements to allow for seamless onboarding.

+
+
+
+
+ +

Collaborate

+

{{'program.name' | i18next}} allows and encourages you to collaborate with your VF team to validate your VF both internally and externally.

+
+
+
+
+ +
+ +
diff --git a/vvp/app/welcome/welcome.less b/vvp/app/welcome/welcome.less new file mode 100644 index 00000000..426e1dfd --- /dev/null +++ b/vvp/app/welcome/welcome.less @@ -0,0 +1,208 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +.welcome-boxes { + margin-top: 60px; +} + +.welcome-box { + h3 { + font-weight: bold; + } + + p { + font-size: 16px; + padding: 0 15px; + color: @welcome_box_text_color; + margin-bottom: 0; + } +} + +.get-started-button { + width:190px; + margin-top:20px; + text-align:center; + margin-left:auto; + margin-right:auto; + color:white !important; + height:48px; + font-size:18px !important; + font-weight: bold; + line-height:38px; + vertical-align: middle; + background: linear-gradient(@welcome_button_gradient1, @welcome_button_gradient2); + border: 1px solid @welcome_button_border; + border-radius: 6px; +} + +.welcome-body { + overflow: auto; +} + +.welcome-navbar { + background-color: black; + padding-left: 10%; + padding-right: 10%; + border-color: @welcome_navbar_hr; + border-left: black; + z-index: 1030; + left: 0; + right: 0; + position: absolute; + border-radius: 0; + top: 0; +} + +.welcome-nav-link { + color: @main_color_p !important; + font-weight: 600; + line-height: 20px; + margin-top: 7px; +} + +.welcome { + position: relative; + width: 100%; + //min-height: auto; + -webkit-background-size: cover; + -moz-background-size: cover; + background-size: cover; + -o-background-size: cover; + background: url('../styles/images/home_bg1-1920x1138.jpg') center; + text-align: center; + color: white; +} + +.welcome .header-content { + position: relative; + text-align: center; + padding: 100px 15px 100px; + width: 100%; +} +.welcome .header-content .header-content-inner h1 { + font-weight: 700; + margin-top: 0; + margin-bottom: 0; + font-size: 30px; + color: @main_color_p; +} + +.welcome .header-content .header-content-inner p { + font-weight: 300; + font-size: 16px; + margin-bottom: 50px; + color: @main_color_p; +} + +@media (min-width: 768px) { + .welcome { + min-height: 73%; + } + + .welcome .header-content { + position: absolute; + top: 50%; + -webkit-transform: translateY(-50%); + -ms-transform: translateY(-50%); + transform: translateY(-50%); + padding: 0 50px; + } + + .welcome .header-content .header-content-inner { + max-width: 100%; + margin-left: auto; + margin-right: auto; + } + + .welcome .header-content .header-content-inner h1 { + font-size: 50px; + } + + .welcome .header-content .header-content-inner p { + font-size: 18px; + max-width: 90%; + margin-left: auto; + margin-right: auto; + } +} + +.welcome-footer { + background: @welcome_footer_bg; + color: @welcome_footer_text; + padding: 60px 0 0; + margin-top: 60px; +} + +.welcome-footer-copyright { + color: @welcome_footer_text; + font-size: 17px; + line-height: 25px; + padding-bottom: 5px; + text-align: center; +} + +.welcome-logo { + margin-top: -8px; +} + +.navbar-collapse .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus { + background: none; +} + +.navbar-collapse .navbar-nav > li > a:hover:after, +.navbar-collapse .navbar-nav > li.active > a:after, +.navbar-collapse .navbar-nav > li.active > a:hover:after, +.navbar-collapse .navbar-nav > li.active > a:focus:after { + position:absolute; + bottom:9px; + left:50%; + content:''; + width:20px; + height:2px; + margin-left:-10px; + background-color:#fff; +} + + +.navbar-nav > li + li {margin-left:2px} +.navbar-collapse .navbar-nav > li.active > a, +.navbar-collapse .navbar-nav > li.active > a:hover, +.navbar-collapse .navbar-nav > li.active > a:focus { + color:#828282; + background-color:transparent; +} diff --git a/vvp/app/welcome/welcome.module.js b/vvp/app/welcome/welcome.module.js new file mode 100644 index 00000000..a17e3680 --- /dev/null +++ b/vvp/app/welcome/welcome.module.js @@ -0,0 +1,63 @@ +// +// ============LICENSE_START========================================== +// org.onap.vvp/portal +// =================================================================== +// Copyright © 2017 AT&T Intellectual Property. All rights reserved. +// =================================================================== +// +// Unless otherwise specified, all software contained herein is licensed +// under the Apache License, Version 2.0 (the “License”); +// you may not use this software except in compliance with the License. +// You may obtain a copy of the License at +// +// http:www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// +// Unless otherwise specified, all documentation contained herein is licensed +// under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +// you may not use this documentation except in compliance with the License. +// You may obtain a copy of the License at +// +// https:creativecommons.org/licenses/by/4.0/ +// +// Unless required by applicable law or agreed to in writing, documentation +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ============LICENSE_END============================================ +// +// ECOMP is a trademark and service mark of AT&T Intellectual Property. +/** + * Created by almog on 26/12/2016. + */ +(function () { + 'use strict'; + + angular + .module('ice.welcome', []) + .config(config); + + function config($stateProvider) { + $stateProvider + .state('app.welcome', { + url: '/', + views: { + 'main@': { + templateUrl: 'welcome/welcome.html', + controller: 'WelcomeController as vm' + } + }, + params: {}, + bodyClass: 'welcome-body' + }); + } +})(); diff --git a/vvp/bower.json b/vvp/bower.json new file mode 100644 index 00000000..9f4ffd37 --- /dev/null +++ b/vvp/bower.json @@ -0,0 +1,57 @@ +{ + "name": "ice", + "version": "0.0.0", + "dependencies": { + "angular": "1.5.0", + "bootstrap": "3.2.0", + "angular-ui-router": "0.3.0", + "angular-animate": "1.5.0", + "angular-bootstrap": "1.3.3", + "moment": "momentjs#2.17.0", + "angular-sanitize": "1.5.0", + "angular-wysiwyg": "git://github.com/TerryMooreII/angular-wysiwyg.git#master", + "components-font-awesome": "4.7.0", + "moment-timezone": "0.5.10", + "angular-utils": "michaelbromley/angularUtils-pagination", + "angular-ui-select": "0.19.6", + "angular-bootstrap-multiselect": "edgargonzalez525/angular-bootstrap-multiselect", + "bootstrap-ui-datetime-picker": "2.4.3", + "angular-material": "1.1.1", + "angular-toArrayFilter": "1.0.1", + "ng-intl-tel-input": "2.0.0", + "angular-aria": "1.5.0", + "angular-cookies": "1.5.0", + "angular-mocks": "1.5.0", + "angular-messages": "1.5.0", + "angular-file-saver": "1.1.3", + "animate.css": "3.5.2", + "lodash": "4.17.4", + "angular-ui-sortable": "0.16.1", + "ng-i18next": "1.0.4", + "i18next-xhr-backend": "1.4.2" + }, + "appPath": "app", + "moduleName": "iceApp", + "overrides": { + "bootstrap": { + "main": [ + "less/bootstrap.less", + "dist/css/bootstrap.css", + "dist/js/bootstrap.js" + ] + }, + "angular-wysiwyg": { + "main": "./dist/angular-wysiwyg.js" + }, + "ng-intl-tel-input": { + "main": [ + "./dist/ng-intl-tel-input.js", + "../intl-tel-input/build/js/utils.js" + ] + } + }, + "resolutions": { + "angular": "1.5.0", + "jquery": ">=1.7" + } +} diff --git a/vvp/bower_components b/vvp/bower_components new file mode 120000 index 00000000..55889217 --- /dev/null +++ b/vvp/bower_components @@ -0,0 +1 @@ +app/bower_components \ No newline at end of file diff --git a/vvp/dist/favicon.png b/vvp/dist/favicon.png new file mode 100644 index 00000000..6e9f04df Binary files /dev/null and b/vvp/dist/favicon.png differ diff --git a/vvp/dist/fonts/FontAwesome.otf b/vvp/dist/fonts/FontAwesome.otf new file mode 100644 index 00000000..401ec0f3 Binary files /dev/null and b/vvp/dist/fonts/FontAwesome.otf differ diff --git a/vvp/dist/fonts/fontawesome-webfont.eot b/vvp/dist/fonts/fontawesome-webfont.eot new file mode 100644 index 00000000..e9f60ca9 Binary files /dev/null and b/vvp/dist/fonts/fontawesome-webfont.eot differ diff --git a/vvp/dist/fonts/fontawesome-webfont.svg b/vvp/dist/fonts/fontawesome-webfont.svg new file mode 100644 index 00000000..855c845e --- /dev/null +++ b/vvp/dist/fonts/fontawesome-webfont.svg @@ -0,0 +1,2671 @@ + + + + +Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 + By ,,, +Copyright Dave Gandy 2016. All rights reserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vvp/dist/fonts/fontawesome-webfont.ttf b/vvp/dist/fonts/fontawesome-webfont.ttf new file mode 100644 index 00000000..35acda2f Binary files /dev/null and b/vvp/dist/fonts/fontawesome-webfont.ttf differ diff --git a/vvp/dist/fonts/fontawesome-webfont.woff b/vvp/dist/fonts/fontawesome-webfont.woff new file mode 100644 index 00000000..400014a4 Binary files /dev/null and b/vvp/dist/fonts/fontawesome-webfont.woff differ diff --git a/vvp/dist/fonts/fontawesome-webfont.woff2 b/vvp/dist/fonts/fontawesome-webfont.woff2 new file mode 100644 index 00000000..4d13fc60 Binary files /dev/null and b/vvp/dist/fonts/fontawesome-webfont.woff2 differ diff --git a/vvp/dist/fonts/glyphicons-halflings-regular.eot b/vvp/dist/fonts/glyphicons-halflings-regular.eot new file mode 100644 index 00000000..4a4ca865 Binary files /dev/null and b/vvp/dist/fonts/glyphicons-halflings-regular.eot differ diff --git a/vvp/dist/fonts/glyphicons-halflings-regular.svg b/vvp/dist/fonts/glyphicons-halflings-regular.svg new file mode 100644 index 00000000..e3e2dc73 --- /dev/null +++ b/vvp/dist/fonts/glyphicons-halflings-regular.svg @@ -0,0 +1,229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/vvp/dist/fonts/glyphicons-halflings-regular.ttf b/vvp/dist/fonts/glyphicons-halflings-regular.ttf new file mode 100644 index 00000000..67fa00bf Binary files /dev/null and b/vvp/dist/fonts/glyphicons-halflings-regular.ttf differ diff --git a/vvp/dist/fonts/glyphicons-halflings-regular.woff b/vvp/dist/fonts/glyphicons-halflings-regular.woff new file mode 100644 index 00000000..8c54182a Binary files /dev/null and b/vvp/dist/fonts/glyphicons-halflings-regular.woff differ diff --git a/vvp/dist/index.html b/vvp/dist/index.html new file mode 100644 index 00000000..ba1b14a2 --- /dev/null +++ b/vvp/dist/index.html @@ -0,0 +1,86 @@ + + + + + + + + + {{'serviceProvider.name' | i18next}} | {{'program.name' | i18next}} + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+ + + + + + diff --git a/vvp/dist/locales/en/translation.json b/vvp/dist/locales/en/translation.json new file mode 100644 index 00000000..5cdb3286 --- /dev/null +++ b/vvp/dist/locales/en/translation.json @@ -0,0 +1,8 @@ +{ + "serviceProvider": { + "name": "ServiceProvider" + }, + "program": { + "name": "VVP" + } +} diff --git a/vvp/dist/robots.txt b/vvp/dist/robots.txt new file mode 100644 index 00000000..d7bb81b6 --- /dev/null +++ b/vvp/dist/robots.txt @@ -0,0 +1,42 @@ +# +# ============LICENSE_START========================================== +# org.onap.vvp/portal +# =================================================================== +# Copyright © 2017 AT&T Intellectual Property. All rights reserved. +# =================================================================== +# +# Unless otherwise specified, all software contained herein is licensed +# under the Apache License, Version 2.0 (the “License”); +# you may not use this software except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# +# +# Unless otherwise specified, all documentation contained herein is licensed +# under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +# you may not use this documentation except in compliance with the License. +# You may obtain a copy of the License at +# +# https://creativecommons.org/licenses/by/4.0/ +# +# Unless required by applicable law or agreed to in writing, documentation +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# ============LICENSE_END============================================ +# +# ECOMP is a trademark and service mark of AT&T Intellectual Property. +# robotstxt.org + +User-agent: * +Disallow: diff --git a/vvp/dist/scripts/scripts.3e3147f7.js b/vvp/dist/scripts/scripts.3e3147f7.js new file mode 100644 index 00000000..969773f9 --- /dev/null +++ b/vvp/dist/scripts/scripts.3e3147f7.js @@ -0,0 +1,12 @@ +!function(){"use strict";angular.module("ice",["ngSanitize","ngAnimate","wysiwyg.module","ui.router","ice.env","ice.modals","angularUtils.directives.dirPagination","ui.select","ui.multiselect","ui.bootstrap","ui.bootstrap.datetimepicker","ngMaterial","ngMessages","angular-toArrayFilter","ngIntlTelInput","ui.sortable","jm.i18next","ice.toolbar","ice.navigation","ice.main","ice.contactUs","ice.dashboard.main","ice.dashboard.overview","ice.dashboard.dashboard","ice.activation.login","ice.activation.register","ice.activation.addVf","ice.activation.addVendorContact","ice.activation.resendActivation","ice.activation.terms","ice.activation.activateUser","ice.dashboard.account","ice.documentation","ice.activation.resetPassword","ice.activation.updatePassword","ice.dashboard.checklist","ice.welcome","ice.main.admin","ice.services.cacheService","ice.services.users","ice.services.localStorage","ice.services.vf","ice.services.steps","ice.services.vfc","ice.services.dtsite","ice.services.checklist","ice.services.status","ice.services.feedback","ice.services.toast","ice.services.cms","ice.services.sessionStorage","ice.directives","ice.filters","ice.interceptors.http"])}(),angular.module("ice.env",[]).constant("ENV",{name:"production",apiBase:"/vvp/v1/engmgr/"}),function(){"use strict";angular.module("ice").constant("_",window._).constant("iceConstants",{states:{incomplete:"Incomplete",completed:"Completed"},stages:{intake:"Intake",active:"Active",validated:"Validated",completed:"Completed"},roles:{standard:"standard_user",el:"el",admin:"admin",admin_ro:"admin_ro"},checklist_states:["automation","review","peer review","approval","handoff","closed"]})}(),function(){"use strict";function a(a){a.defaults.useXDomain=!0,delete a.defaults.headers.common["X-Requested-With"],a.interceptors.push("httpRequestInterceptor"),a.interceptors.push("httpResponseInterceptor"),a.interceptors.push("httpRequestErrorInterceptor"),a.interceptors.push("httpResponseErrorInterceptor")}angular.module("ice").config(a).config(["ngIntlTelInputProvider",function(a){a.set({initialCountry:"us"})}]),a.$inject=["$httpProvider"]}(),function(){"use strict";function a(a,b,c){c.hashPrefix(""),b.otherwise("/login"),b.when("/dashboard","/dashbaord/overview");var d="horizontalNavigation",e={horizontalNavigation:{main:"core/layouts/dashboard/dashboard.html",toolbar:"core/toolbar/layouts/horizontal-navigation/toolbar.html",navigation:"core/navigation/layouts/horizontal-navigation/navigation.html"},contentOnly:{main:"core/layouts/content-only.html",toolbar:"",navigation:""},contentWithToolbar:{main:"core/layouts/content-with-toolbar.html",toolbar:"toolbar/layouts/content-with-toolbar/toolbar.html",navigation:""}};a.state("app",{"abstract":!0,views:{"main@":{templateUrl:e[d].main,controller:"MainController as vm"},"toolbar@app":{templateUrl:e[d].toolbar,controller:"ToolbarController as vm"},"navigation@app":{templateUrl:e[d].navigation,controller:"NavigationController as vm"}}})}angular.module("ice").config(a),a.$inject=["$stateProvider","$urlRouterProvider","$locationProvider"]}(),function(){"use strict";function a(a,b,c,d){var e=!1;if(-1!=navigator.userAgent.indexOf("Safari")&&-1==navigator.userAgent.indexOf("Chrome"))d.debug("Smooth Scroll Off (Safari).");else try{e=$("#content-israel").niceScroll({zindex:2e4,scrollspeed:60,mousescrollstep:60,cursorborderradius:"10px",cursorborder:"1px solid rgba(255, 255, 255, 0.4)",cursorcolor:"rgba(0, 0, 0, 0.6)",cursorwidth:"10px"})}catch(f){d.debug("Smooth Scroll Off.")}}angular.module("ice").controller("AppController",["$state","$timeout","$rootScope","$log",a])}(),function(){"use strict";function a(a,b,c,d,e,f,g,h){var i="LastDocumentationPageId",j=function(){a.user={},a.ice={},a.ice.loader={},a.state=d,a.baseURL=f.apiBase,m();var b=a.$on("$stateChangeStart",function(a,b,c,d,e){k(),l(b)}),c=a.$on("$stateChangeSuccess",function(){});a.$on("$destroy",function(){b(),c()}),e.set("configuration",{urls:{auth:{login:a.baseURL+"login/@t",register:a.baseURL+"signup",addVfs:a.baseURL+"vf/",getCompanies:a.baseURL+"vendors",resendActivationMail:a.baseURL+"users/activation-mail/@user_uuid",addVendorContact:a.baseURL+"add-contact",single_engagement:a.baseURL+"single-engagement/@engagementUuid",engagements:a.baseURL+"engagement",inviteMembers:a.baseURL+"invite-team-members",activities:a.baseURL+"engagement/@engagementUuid/activities/",updateDaysLeft:a.baseURL+"engagements/@engagementUuid/target_date",updateLabEntryDaysLeft:a.baseURL+"engagements/@engagementUuid/target_lab_date",setSSHKey:a.baseURL+"users/ssh",getIceUser:a.baseURL+"users",getRGWASecret:a.baseURL+"users/account/rgwa/",account:a.baseURL+"users/account",updatePassword:a.baseURL+"users/pwd/",sendResetPwdInstructions:a.baseURL+"users/pwd/reset-instructions/"},notifications:{getNotifications:a.baseURL+"notifications/num",resetNotificationNum:a.baseURL+"notifications/reset",notificationsDelete:a.baseURL+"notifications/@uuid",getNotificationsDescription:a.baseURL+"notifications/@userUuid/@offset/@limit"},steps:{get:a.baseURL+"engagements/@engagement/nextsteps/@progress",add:a.baseURL+"engagements/@engagement/nextsteps",edit:a.baseURL+"nextsteps/@stepUuid/engagement/@engUuid",order_next_steps:a.baseURL+"engagements/@engUuid/nextsteps/order_next_steps",update:a.baseURL+"nextsteps/@stepUuid/state","delete":a.baseURL+"nextsteps/@stepUuid",createChecklistNextStep:a.baseURL+"engagement/@engUuid/checklist/@checkListUuid/nextstep/",createNextStep:a.baseURL+"eng/@engUuid/nextstep/",getByUser:a.baseURL+"engagements/user/nextsteps/"},vf:{updateVfs:{put:a.baseURL+"vf/@vf_uuid/validation-details/"},deployment_target:{getDeployTargets:a.baseURL+"deployment-targets",updateDeployTargets:a.baseURL+"engagement/@engagementUuid//deployment-targets/@deployment_target_uuid"},ecomp:{getECOMPReleases:a.baseURL+"ecomp-releases",updateECOMPReleases:a.baseURL+"engagement/@engagementUuid/ecomp-releases/@ecomp_uuid"},version:{getVFVersion:a.baseURL+"vf/@vfUuid/vf-version/"}},vfcs:{add:a.baseURL+"vfcs/",get:a.baseURL+"vf/@vfUuid/vfcs/","delete":a.baseURL+"vf/@vfUuid/vfcs/@vfcUuid"},status:{get:a.baseURL+"engagements/@engagement/status",add:a.baseURL+"engagements/@engagement/status",update:a.baseURL+"engagements/@engagement/status"},feedback:{add:a.baseURL+"add-feedback"},dtsite:{get:a.baseURL+"dtsites/",getVFSites:a.baseURL+"vf/@vfUuid/dtsites/",add:a.baseURL+"dtsites/","delete":a.baseURL+"vf/@vfUuid/dtsites/@dtsUuid"},checklist:{state:{put:a.baseURL+"checklist/@cl_uuid/state/"},createChecklist:a.baseURL+"engagement/@engUuid/checklist/new/",getDataForChecklist:a.baseURL+"engagement/@engUuid/checklist/new/",getChecklist:a.baseURL+"checklist/@checklistUuid",putDataForChecklist:a.baseURL+"checklist/@checklist_uuid",checklistDecision:a.baseURL+"checklist/decision/@decisionUuid",createAuditlogChecklist:a.baseURL+"checklist/@checklist_uuid/auditlog/",createAuditlogDecisionChecklist:a.baseURL+"checklist/decision/@decision_uuid/auditlog/",getChecklistTemplates:a.baseURL+"checklist/templates/",getChecklistTemplate:a.baseURL+"checklist/template/@templateUuid",saveChecklistTemplate:a.baseURL+"checklist/template/"},engagement:{put:a.baseURL+"engagements/@engagementUuid/",updateProgress:a.baseURL+"engagements/@engagementUuid/progress",setStage:a.baseURL+"single-engagement/@engagementUuid/stage/@stage",starred_engagement:{put:a.baseURL+"engagements/starred_eng/",get:a.baseURL+"engagements/starred_eng/"},recent_engagement:{get:a.baseURL+"engagements/recent_eng/"},engagement_team:{put:a.baseURL+"engagements/engagement-team/"},engagementsExpanded:a.baseURL+"engagement/expanded/",exportEngagementsCSV:a.baseURL+"engagement/export/?stage=@stage&keyword=@keyword",reviewer:{put:a.baseURL+"engagements/@engagementUuid/reviewer/"},peerreviewer:{put:a.baseURL+"engagements/@engagementUuid/peerreviewer/"},switchReviewers:{put:a.baseURL+"engagements/@engagementUuid/switch-reviewers/"},archive:{put:a.baseURL+"engagements/@engagementUuid/archive/"}},welcome:{welcome:a.baseURL+"welcome/"},cms:{posts:{get:a.baseURL+"cms/posts/?limit=@limit&offset=@offset&fromLastDays=@fromLastDays&category=@category"},pages:{get:a.baseURL+"cms/pages/?title=@title",getById:a.baseURL+"cms/pages/@id/",search:a.baseURL+"cms/pages/search/?keyword=@keyword"}},users:{engagementleads:{get:a.baseURL+"users/engagementleads/"},activate:a.baseURL+"users/activate/@userid/@token"}}})},k=function(){var a=b.getToast();a&&!a.sticky&&b.clearToast()},l=function(a){a&&a.name&&"app.documentation.page"!==a.name&&"app.documentation"!==a.name&&c["delete"](i)},m=function(){g.i18next&&(g.i18next.use(g.i18nextXHRBackend),g.i18next.init({debug:!1,lng:"en",fallbackLng:"en",backend:{loadPath:"locales/{{lng}}/{{ns}}.json"},useCookie:!1,useLocalStorage:!1},function(a,b){a&&h.error(a)}))};j()}angular.module("ice").run(a),a.$inject=["$rootScope","toastService","sessionStorageService","$state","cacheService","ENV","$window","$log"]}(),angular.module("ice.interceptors.http",[]).factory("httpRequestInterceptor",["$injector","$rootScope",function(a,b){return{request:function(c){if(-1!==c.url.indexOf(b.baseURL)){c.headers=c.headers||{};var d=a.get("usersService").getUserData(function(){});d&&!c.skipAuth&&(c.headers.Authorization="token "+d.jwtToken)}return c}}}]).factory("httpResponseInterceptor",["$rootScope",function(a){return{response:function(a){return a}}}]).factory("httpRequestErrorInterceptor",["$q",function(a){return{requestError:function(a){return a}}}]).factory("httpResponseErrorInterceptor",["$q","$rootScope","$injector","toastService",function(a,b,c,d){return{responseError:function(b){var e=c.get("$state"),f=b.status;switch(f){case 401:d.setToast(b.statusText,"danger");break;case 403:e.go("app.login");break;case 404:}return a.reject(b)}}}]),function(){"use strict";angular.module("ice.services.cacheService",[]).service("cacheService",function(){var a={};this.get=function(b){return a[b]},this["delete"]=function(b){return a[b]=void 0},this.deleteAll=function(){return a={}},this.set=function(b,c){void 0===a[b]?a[b]=c:a[b]=$.extend({},c,a[b])},this.toString=function(){return a}}).factory("pageService",function(){var a="";return{getPage:function(){return a},setPage:function(b){a=b}}})}(),function(){"use strict";function a(a,b,c,d,e,f,g,h,i){var j=c.get("configuration").urls,k="user",l=g.getJson(k);this.isEngagementEL=function(a){var b=h.find(a,{uuid:l.uuid});return void 0==b?!1:l&&l.role.name===d.roles.el?!0:!1},this.isUserInRole=function(a){return l&&l.role&&l.role.name===a},this.isReviewer=function(a,b){return a&&b&&a.uuid==b},this.isPeerReviewer=function(a,b){return a&&b&&a.uuid==b},this.isAdmin=function(a){return a&&a.role&&a.role.name===d.roles.admin},this.updatePassword=function(c,d){var e=b.defer();return a.put(j.auth.updatePassword,d).success(function(a,b,c,d){e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise},this.sendResetPwdInstructions=function(c){var d=b.defer();return a.post(j.auth.sendResetPwdInstructions,c).success(function(a,b,c,e){d.resolve({data:a,status:b})}).error(function(a,b,c,e){d.reject({message:a,status:b})}),d.promise},this.login=function(c,d){var e=b.defer();return a.post(j.auth.login.replace("/@t",d),c).success(function(a,b,c,d){l=a,delete l.password,l.jwtToken=a.token,g.setJson(k,l),e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise},this.register=function(c){var d=b.defer();return a.post(j.auth.register,c).success(function(a,b,c,e){l=a,l.jwtToken=a.token,g.setJson(k,l),d.resolve({data:a,status:b})}).error(function(a,b,c,e){d.reject({message:a,status:b})}),d.promise},this.addVendorContact=function(c){var d=b.defer();return a.post(j.auth.addVendorContact,c).success(function(a,b,c,e){d.resolve({data:a,status:b})}).error(function(a,b,c,e){d.reject({message:a,status:b})}),d.promise},this.resendActivationMail=function(c){var d=b.defer();return a.get(j.auth.resendActivationMail.replace("@user_uuid",c),{skipAuth:!0}).success(function(a,b,c,e){d.resolve({data:a,status:b})}).error(function(a,b,c,e){d.reject({message:a,status:b})}),d.promise},this.getNotifications=function(c){var d=b.defer();return a.get(j.notifications.getNotifications).success(function(a,b,c,e){d.resolve({data:a,status:b})}).error(function(a,b,c,e){d.reject({message:a,status:b})}),d.promise},this.resetNotificationNum=function(c){var d=b.defer();return a.put(j.notifications.resetNotificationNum).success(function(a,b,c,e){d.resolve({data:a,status:b})}).error(function(a,b,c,e){d.reject({message:a,status:b})}),d.promise},this.notificationsDelete=function(c){var d=b.defer();return a["delete"](j.notifications.notificationsDelete.replace("@uuid",c)).success(function(a,b,c,e){d.resolve({data:a,status:b})}).error(function(a,b,c,e){d.reject({message:a,status:b})}),d.promise},this.getNotificationsDescription=function(c,d,e){var f=b.defer();return a.get(j.notifications.getNotificationsDescription.replace("@userUuid",c).replace("@offset",d).replace("@limit",e)).success(function(a,b,c,d){f.resolve({data:a,status:b})}).error(function(a,b,c,d){f.reject({message:a,status:b})}),f.promise},this.getIceUser=function(){var c=b.defer();return a.get(j.auth.getIceUser).success(function(a,b,d,e){c.resolve({data:a,status:b})}).error(function(a,b,d,e){c.reject({message:a,status:b})}),c.promise},this.updateAccount=function(c,d){var e=b.defer();return a.put(j.auth.account,d).success(function(a,b,c,d){var f=l.jwtToken;l=a,l.jwtToken=f,g.setJson(k,l),e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise},this.setSSHKey=function(c,d){var e=b.defer();return a.post(j.auth.setSSHKey,d).success(function(a,b,c,d){e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise},this.getUserData=function(a){return l||(a?(i.debug("There is no user data, will invoke callback pass as argument."),a()):(i.debug("There is no user data, will be redirected into /login page."),f.go("app.login"))),l},this.resetUserData=function(){i.debug("Clearing user from cache..."),l=void 0,g["delete"](k),e.setJson("ice.settings.view_type",void 0),e.setJson("ice.settings.eng_uuid",void 0),e.setJson("ice.settings.sub_id",void 0)},this.setUserActivationSuccess=function(a){l&&(l.activationSuccess=a,g.setJson(k,l))},this.getEngagementLeads=function(){var c=b.defer(),d=this.getUserData();return this.isAdmin(d)?a.get(j.users.engagementleads.get).success(function(a,b,d,e){c.resolve({data:a,status:b})}).error(function(a,b,d,e){c.reject({message:a,status:b})}):c.reject("Just admin allowed to get engagement leads list."),c.promise},this.activateUser=function(c,d){var e=b.defer();return a.get(j.users.activate.replace("@userid",c).replace("@token",d),{skipAuth:!0}).success(function(a,b,c,d){e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise},this.getRGWASecret=function(){var c=b.defer();return a.get(j.auth.getRGWASecret).success(function(a,b,d,e){c.resolve({data:a,status:b})}).error(function(a,b,d,e){c.reject({message:a,status:b})}),c.promise}}angular.module("ice.services.users",[]).service("usersService",["$http","$q","cacheService","iceConstants","localStorageService","$state","sessionStorageService","_","$log",a])}(),function(){"use strict";angular.module("ice.services.vf",[]).service("vfService",["$http","$q","cacheService",function(a,b,c){var d=c.get("configuration").urls;this.addVfs=function(c){var e=b.defer();return a.post(d.auth.addVfs,c).success(function(a,b,c,d){e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise},this.updateVfs=function(c,e){var f=b.defer();return a.put(d.vf.updateVfs.put.replace("@vf_uuid",e),c).success(function(a,b,c,d){f.resolve({data:a,status:b})}).error(function(a,b,c,d){f.reject({message:a,status:b})}),f.promise},this.inviteMembers=function(c){var e=b.defer();return a.post(d.auth.inviteMembers,c).success(function(a,b,c,d){e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise},this.getCompanies=function(){var c=b.defer();return a.get(d.auth.getCompanies).success(function(a,b,d,e){c.resolve({data:a,status:b})}).error(function(a,b,d,e){c.reject({message:a,status:b})}),c.promise},this.getDeployTargets=function(){var c=b.defer();return a.get(d.vf.deployment_target.getDeployTargets).success(function(a,b,d,e){c.resolve({data:a,status:b})}).error(function(a,b,d,e){c.reject({message:a,status:b})}),c.promise},this.getECOMPReleases=function(){var c=b.defer();return a.get(d.vf.ecomp.getECOMPReleases).success(function(a,b,d,e){c.resolve({data:a,status:b})}).error(function(a,b,d,e){c.reject({message:a,status:b})}),c.promise},this.getVFVersion=function(c){var e=b.defer();return a.get(d.vf.version.getVFVersion.replace("@vfUuid",c)).success(function(a,b,c,d){e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise},this.getEngagements=function(c){var e=b.defer();return a.get(d.auth.engagements).success(function(a,b,c,d){e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise},this.getExpandedEngagements=function(c){var e=b.defer();return a.post(d.engagement.engagementsExpanded,c).success(function(a,b,c,d){e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise},this.getSingleEngagement=function(c,e){var f=b.defer();return a.get(d.auth.single_engagement.replace("@engagementUuid",e)).success(function(a,b,c,d){f.resolve({data:a,status:b})}).error(function(a,b,c,d){f.reject({message:a,status:b})}),f.promise},this.getStarredEngagements=function(){var c=b.defer();return a.get(d.engagement.starred_engagement.get).success(function(a,b,d,e){c.resolve({data:a,status:b})}).error(function(a,b,d,e){c.reject({message:a,status:b})}),c.promise},this.putStarredEngagements=function(c){var e=b.defer(),f={};return f.engagement_uuid=c,a.put(d.engagement.starred_engagement.put,f).success(function(a,b,c,d){e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise},this.getRecentEngagements=function(){var c=b.defer();return a.get(d.engagement.recent_engagement.get).success(function(a,b,d,e){c.resolve({data:a,status:b})}).error(function(a,b,d,e){c.reject({message:a,status:b})}),c.promise},this.getActivities=function(c){var e=b.defer();return a.get(d.auth.activities.replace("@engagementUuid",c)).success(function(a,b,c,d){e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise},this.updateProgress=function(c,e){var f=b.defer();return a.put(d.engagement.updateProgress.replace("@engagementUuid",c),e).success(function(a,b,c,d){f.resolve({data:a,status:b})}).error(function(a,b,c,d){f.reject({message:a,status:b})}),f.promise},this.updateDeployTargets=function(c,e){var f=b.defer();return a.put(d.vf.deployment_target.updateDeployTargets.replace("@engagementUuid",c).replace("@deployment_target_uuid",e)).success(function(a,b,c,d){f.resolve({data:a,status:b})}).error(function(a,b,c,d){f.reject({message:a,status:b})}),f.promise},this.updateECOMPReleases=function(c,e){var f=b.defer();return a.put(d.vf.ecomp.updateECOMPReleases.replace("@engagementUuid",c).replace("@ecomp_uuid",e)).success(function(a,b,c,d){f.resolve({data:a,status:b})}).error(function(a,b,c,d){f.reject({message:a,status:b})}),f.promise},this.updateDaysLeft=function(c,e){var f=b.defer();return a.post(d.auth.updateDaysLeft.replace("@engagementUuid",c),e).success(function(a,b,c,d){f.resolve({data:a,status:b})}).error(function(a,b,c,d){f.reject({message:a,status:b})}),f.promise},this.updateLabEntryDaysLeft=function(c,e){var f=b.defer();return a.post(d.auth.updateLabEntryDaysLeft.replace("@engagementUuid",c),e).success(function(a,b,c,d){f.resolve({data:a,status:b})}).error(function(a,b,c,d){f.reject({message:a,status:b})}),f.promise},this.set_engagement_stage=function(c,e){var f=b.defer();return a.put(d.engagement.setStage.replace("@engagementUuid",c).replace("@stage",e)).success(function(a,b,c,d){f.resolve({data:a,status:b})}).error(function(a,b,c,d){f.reject({message:a,status:b})}),f.promise},this.exportEngagementsCSV=function(c,e){var f=b.defer();return null==c||null==e?f.reject("Invalid arguments on engagements export csv."):a({method:"GET",url:d.engagement.exportEngagementsCSV.replace("@stage",c).replace("@keyword",e),headers:{"Content-Type":"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"},responseType:"arraybuffer"}).success(function(a,b,c,d){f.resolve({data:a,status:b})}).error(function(a,b,c,d){f.reject({message:a,status:b})}),f.promise},this.archiveEngagement=function(c,e){var f=b.defer(),g={reason:e};return a.put(d.engagement.archive.put.replace("@engagementUuid",c),g).success(function(a,b,c,d){f.resolve()}).error(function(a,b,c,d){f.reject({message:a,status:b})}),f.promise},this.updateEngagementReviewer=function(c,e){var f=b.defer(),g={reviewer:e};return a.put(d.engagement.reviewer.put.replace("@engagementUuid",c),g).success(function(a,b,c,d){f.resolve({data:a,status:b})}).error(function(a,b,c,d){f.reject({message:a,status:b})}),f.promise},this.updateEngagementPeerReviewer=function(c,e){var f=b.defer(),g={peerreviewer:e};return a.put(d.engagement.peerreviewer.put.replace("@engagementUuid",c),g).success(function(a,b,c,d){f.resolve({data:a,status:b})}).error(function(a,b,c,d){f.reject({message:a,status:b})}),f.promise},this.switchEngagementReviewers=function(c,e,f){var g=b.defer(),h={reviewer:e,peerreviewer:f};return a.put(d.engagement.switchReviewers.put.replace("@engagementUuid",c),h).success(function(a,b,c,d){g.resolve({data:a,status:b})}).error(function(a,b,c,d){g.reject({message:a,status:b})}),g.promise},this.updateEngagement=function(c,e){var f=b.defer(),g={engagement:c,status:e};return a.put(d.engagement.put.replace("@engagementUuid",c.uuid),g).success(function(a,b,c,d){f.resolve({data:a,status:b})}).error(function(a,b,c,d){f.reject({message:a,status:b})}),f.promise},this.remove_user_from_eng=function(c){var e=b.defer();return null==c?e.reject("Invalid arguments on remove_user_from_eng."):a.put(d.engagement.engagement_team.put,c).success(function(a,b,c,d){e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise}}])}(),function(){"use strict";angular.module("ice.services.vfc",[]).service("vfcService",["$http","$q","cacheService",function(a,b,c){var d=c.get("configuration").urls;this.get=function(c){var e=b.defer();return a.get(d.vfcs.get.replace("@vfUuid",c)).success(function(a,b,c,d){e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise},this["delete"]=function(c,e){var f=b.defer();return a["delete"](d.vfcs["delete"].replace("@vfUuid",e).replace("@vfcUuid",c)).success(function(a,b,c,d){f.resolve({data:a,status:b})}).error(function(a,b,c,d){f.reject({message:a,status:b})}),f.promise},this.add=function(c){var e=b.defer();return a.post(d.vfcs.add,c).success(function(a,b,c,d){e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise},this.getCompanies=function(){var c=b.defer();return a.get(d.auth.getCompanies).success(function(a,b,d,e){c.resolve({data:a,status:b})}).error(function(a,b,d,e){c.reject({message:a,status:b})}),c.promise}}])}(),angular.module("ice.services.localStorage",[]).service("localStorageService",["$window",function(a){this.setJson=function(b,c){return a.localStorage&&a.localStorage.setItem(b,JSON.stringify(c)),this},this.getJson=function(b){var c,d=a.localStorage&&a.localStorage.getItem(b);try{c=d?JSON.parse(d):void 0}catch(e){}return c},this["delete"]=function(b){return a.localStorage&&a.localStorage.removeItem(b)}}]),function(){"use strict";angular.module("ice.services.steps",[]).service("stepsService",["$http","$q","cacheService",function(a,b,c){var d=c.get("configuration").urls;this.getByUser=function(){var c=b.defer();return a.get(d.steps.getByUser).success(function(a,b,d,e){c.resolve({data:a,status:b})}).error(function(a,b,d,e){c.reject({message:a,status:b})}),c.promise},this.get=function(c,e){var f=b.defer();return a.get(d.steps.get.replace("@engagement",c).replace("@progress",e)).success(function(a,b,c,d){f.resolve({data:a,status:b})}).error(function(a,b,c,d){f.reject({message:a,status:b})}),f.promise},this.update=function(c,e){var f=b.defer();return a.put(d.steps.update.replace("@stepUuid",c),e).success(function(a,b,c,d){f.resolve({data:a,status:b})}).error(function(a,b,c,d){f.reject({message:a,status:b})}),f.promise},this["delete"]=function(c){var e=b.defer();return a["delete"](d.steps["delete"].replace("@stepUuid",c)).success(function(a,b,c,d){e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise},this.add=function(c,e){var f=b.defer();return a.post(d.steps.add.replace("@engagement",c),e).success(function(a,b,c,d){f.resolve({data:a,status:b})}).error(function(a,b,c,d){f.reject({message:a,status:b})}),f.promise},this.edit=function(c,e,f){var g=b.defer();return a.put(d.steps.edit.replace("@stepUuid",e).replace("@engUuid",c),f).success(function(a,b,c,d){g.resolve({data:a,status:b})}).error(function(a,b,c,d){g.reject({message:a,status:b})}),g.promise},this.order_next_steps=function(c,e){var f=b.defer();return a.put(d.steps.order_next_steps.replace("@engUuid",c),e).success(function(a,b,c,d){f.resolve({data:a,status:b})}).error(function(a,b,c,d){f.reject({message:a,status:b})}),f.promise},this.createNextStep=function(c,e,f){var g=b.defer();return a.post(d.steps.createNextStep.replace("@engUuid",e),f).success(function(a,b,c,d){g.resolve({data:a,status:b})}).error(function(a,b,c,d){g.reject({message:a,status:b})}),g.promise},this.createChecklistNextStep=function(c,e,f){var g=b.defer();return a.post(d.steps.createChecklistNextStep.replace("@checkListUuid",c).replace("@engUuid",e),f).success(function(a,b,c,d){g.resolve({data:a,status:b})}).error(function(a,b,c,d){g.reject({message:a,status:b})}),g.promise}}])}(),function(){"use strict";angular.module("ice.services.dtsite",[]).service("dtsiteService",["$http","$q","cacheService",function(a,b,c){var d=c.get("configuration").urls;this.getVFSites=function(c){var e=b.defer();return a.get(d.dtsite.getVFSites.replace("@vfUuid",c)).success(function(a,b,c,d){e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise},this.get=function(){var c=b.defer();return a.get(d.dtsite.get).success(function(a,b,d,e){c.resolve({data:a,status:b})}).error(function(a,b,d,e){c.reject({message:a,status:b})}),c.promise},this["delete"]=function(c,e){var f=b.defer();return a["delete"](d.dtsite["delete"].replace("@vfUuid",c).replace("@dtsUuid",e)).success(function(a,b,c,d){f.resolve({data:a,status:b})}).error(function(a,b,c,d){f.reject({message:a,status:b})}),f.promise},this.add=function(c){var e=b.defer();return a.post(d.dtsite.add,c).success(function(a,b,c,d){e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise}}])}(),function(){"use strict";var a;angular.module("ice.services.checklist",[]).factory("checklistService",["$rootScope","$http","$q","cacheService","$log",function(b,c,d,e,f){var g=e.get("configuration").urls;return this.setState=function(a,b){var e=d.defer();return c.put(g.checklist.state.put.replace("@cl_uuid",a),b).success(function(a,b,c,d){e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise},this.createChecklist=function(a,b){var e=d.defer();return c.post(g.checklist.createChecklist.replace("@engUuid",a),b).success(function(a,b,c,d){e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise},this.getDataForCreateChecklist=function(a){var b=d.defer();return c.get(g.checklist.getDataForChecklist.replace("@engUuid",a)).success(function(a,c,d,e){b.resolve({data:a,status:c})}).error(function(a,c,d,e){b.reject({message:a,status:c})}),b.promise},this.getChecklist=function(a){var b=d.defer();return c.get(g.checklist.getChecklist.replace("@checklistUuid",a)).success(function(a,c,d,e){b.resolve({data:a,status:c})}).error(function(a,c,d,e){b.reject({message:a,status:c})}),b.promise},this.putDataForChecklist=function(a,b){var e=d.defer();return c.put(g.checklist.putDataForChecklist.replace("@checklist_uuid",a),b).success(function(a,b,c,d){e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise},this.putChecklistDecision=function(a,b){var e=d.defer();return c.put(g.checklist.checklistDecision.replace("@decisionUuid",a),b).success(function(a,b,c,d){e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise},this.createAuditlogChecklist=function(a,b){var e=d.defer();return c.post(g.checklist.createAuditlogChecklist.replace("@checklist_uuid",a),b).success(function(a,b,c,d){e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise},this.createAuditlogDecisionChecklist=function(a,b){var e=d.defer();return c.post(g.checklist.createAuditlogDecisionChecklist.replace("@decision_uuid",a),b).success(function(a,b,c,d){e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise},this.setChecklistExitEntity=function(b){a=b,f.debug("set checklist")},this.callChecklistExit=function(b){if(void 0!=a&&"checklist"==b){var c="set_state";angular.forEach(a.data.checklistDecisions,function(a,b){angular.forEach(a.decisions,function(a,b){("approved"!=a.view_value&&"not_relevant"!=a.view_value||""==a.view_value)&&(c="next_step")})}),"next_step"==c?this.openNextSteps():"set_state"==c&&this.openSetState()}},this.getChecklistTemplates=function(){var a=d.defer();return c.get(g.checklist.getChecklistTemplates).success(function(b,c,d,e){a.resolve({data:b,status:c})}).error(function(b,c,d,e){a.reject({message:b,status:c})}),a.promise},this.getChecklistTemplate=function(a){var b=d.defer();return c.get(g.checklist.getChecklistTemplate.replace("@templateUuid",a)).success(function(a,c,d,e){b.resolve({data:a,status:c})}).error(function(a,c,d,e){b.reject({message:a,status:c})}),b.promise},this.saveChecklistTemplate=function(a){var b=d.defer();return c.put(g.checklist.saveChecklistTemplate,a).success(function(a,c,d,e){b.resolve({data:a,status:c})}).error(function(a,c,d,e){b.reject({message:a,status:c})}),b.promise},this}])}(),function(){"use strict";angular.module("ice.services.status",[]).service("statusService",["$http","$q","cacheService",function(a,b,c){var d=c.get("configuration").urls;this.get=function(c){var e=b.defer();return a.get(d.status.get.replace("@engagement",c)).success(function(a,b,c,d){e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise},this.update=function(c,e){var f=b.defer();return a.put(d.status.update.replace("@engagement",c),e).success(function(a,b,c,d){f.resolve({data:a,status:b})}).error(function(a,b,c,d){f.reject({message:a,status:b})}),f.promise},this.add=function(c,e){var f=b.defer();return a.post(d.status.update.replace("@engagement",c),e).success(function(a,b,c,d){f.resolve({data:a,status:b})}).error(function(a,b,c,d){f.reject({message:a,status:b})}),f.promise}}])}(),function(){"use strict";angular.module("ice.services.feedback",[]).service("feedbackService",["$http","$q","cacheService",function(a,b,c){var d=c.get("configuration").urls;this.add=function(c){var e=b.defer();return a.post(d.feedback.add.replace(),c).success(function(a,b,c,d){e.resolve({data:a,status:b})}).error(function(a,b,c,d){e.reject({message:a,status:b})}),e.promise}}])}(),function(){"use strict";angular.module("ice.services.toast",[]).service("toastService",["$rootScope",function(a){var b,c,d,e,f=!1,g="all",h=function(h,i,j){if(h&&void 0!=h.detail&&(h=h.detail),!h||!i)throw"You must provide both message an type in order to set new message toast";b=h,c=i,d=j&&j.sticky?j.sticky:!1,e=j&&j.readMoreCallback?j.readMoreCallback:void 0,g=j&&j.displayFor?j.displayFor:"all", +f=!0,a.showToast=!0},i=function(){b=void 0,c=void 0,f=!1,g="all",a.showToast=!1},j=function(){return{message:b,type:c,show:f,sticky:d,readMore:e,displayFor:g}};return{setToast:h,clearToast:i,getToast:j}}])}(),function(){"use strict";function a(a,b,c,d,e,f,g){var h,i=c.get("configuration").urls,j="lastAnnouncement";this.getPosts=function(c,d,e){var f=b.defer(),g=e&&e instanceof Array?e.join():"";return a.get(i.cms.posts.get.replace("@limit",c).replace("@offset",0).replace("@fromLastDays",d).replace("@category",g)).success(function(a,b,c,d){f.resolve({data:a,status:b})}).error(function(a,b,c,d){f.reject({message:a,status:b})}),f.promise},this.getLastAnnouncementPost=function(){var c=b.defer(),d=1;return a.get(i.cms.posts.get.replace("@limit",d).replace("@offset",0).replace("@fromLastDays","").replace("@category","Announcement")).success(function(a,b,d,e){c.resolve({data:a,status:b})}).error(function(a,b,d,e){c.reject({message:a,status:b})}),c.promise},this.setAnnouncementToast=function(){var a=function(){e.open({templateUrl:"main/modals/cms-post-modal/cms-post-modal.html",controller:"cmsPostModalController",controllerAs:"vm",size:"cms-post-read-more",resolve:{post:function(){return void 0}}})};this.getLastAnnouncementPost().then(function(b){if(b&&b.data&&1===b.data.length){var c=d.getJson(j);if(!c||c.id!=b.data[0].id||!c.closed){d.setJson(j,{id:b.data[0].id,closed:!1});var e="Important announcement: "+b.data[0].title+".";h={message:e,readMore:a,type:"warning",show:!0,displayFor:"all",publishDate:b.data[0].publish_date},f.showAnnouncement=!f.showAnnouncement}}})["catch"](function(a){g.error(a)})},this.getAnnouncement=function(){return h},this.getPages=function(c){var d=b.defer();return c||(c=""),a.get(i.cms.pages.get.replace("@title",c)).success(function(a,b,c,e){d.resolve({data:a,status:b})}).error(function(a,b,c,e){d.reject({message:a,status:b})}),d.promise},this.getPage=function(c){var d=b.defer();return a.get(i.cms.pages.getById.replace("@id",c)).success(function(a,b,c,e){d.resolve({data:a,status:b})}).error(function(a,b,c,e){d.reject({message:a,status:b})}),d.promise},this.searchPages=function(c){var d=b.defer();return a.get(i.cms.pages.search.replace("@keyword",c)).success(function(a,b,c,e){d.resolve({data:a,status:b})}).error(function(a,b,c,e){d.reject({message:a,status:b})}),d.promise}}angular.module("ice.services.cms",[]).service("cmsService",["$http","$q","cacheService","localStorageService","$uibModal","$rootScope","$log",a])}(),function(){"use strict";function a(a){this.setJson=function(b,c){return a.sessionStorage&&a.sessionStorage.setItem(b,JSON.stringify(c)),this},this.getJson=function(b){var c,d=a.sessionStorage&&a.sessionStorage.getItem(b);try{c=d?JSON.parse(d):void 0}catch(e){}return c},this["delete"]=function(b){return a.sessionStorage&&a.sessionStorage.removeItem(b)}}angular.module("ice.services.sessionStorage",[]).service("sessionStorageService",["$window",a])}(),function(){"use strict";function a(a,b,c,d,e){var f={};return f.restrict="E",f.templateUrl="directives/step-stages/step-stages.html",f.scope={stage:"=stage",stage_num:"=stageNum",eng_uuid:"@engUuid",team:"=team",eng_name:"@engName",initactivitylogs:"&"},f.controller=["$scope","vfService","$log",function(b,c,d){b.set_engagement_stage=function(f,g){var h=e.open({templateUrl:"main/modals/set-eng-stage/set-eng-stage-modal.html",controller:"setEngStageModalController",controllerAs:"vm",resolve:{stage:function(){return g},eng_name:function(){return b.eng_name},current_stage:function(){return b.stage}}});h.result.then(function(e){e&&c.set_engagement_stage(f.eng_uuid,g).then(function(c){if(202!==c.status)return!1;switch(f.stage=g,g){case"Intake":f.stage_num=1;break;case"Active":f.stage_num=2;break;case"Validated":f.stage_num=3;break;case"Completed":f.stage_num=4}a.$broadcast("onUpdateNextSteps",{stage:f.stage,eng_uuid:f.eng_uuid}),b.initactivitylogs()})["catch"](function(a){d.error(a)})})},b.hover_design=function(a,c){b.temp_num=c,b.hover=a}}],f.link=function(a,c,e){a.hover=!1,a.temp_num=0,a.priviliged=!1,a["const"]=b.stages,a.loaded=!1,a.user=d.getUserData(),a.$watchGroup(["user","team"],function(a,b,c){a[0]&&a[1]&&(c.loaded||((d.isEngagementEL(c.team)||d.isAdmin(c.user))&&(c.priviliged=!0),c.loaded=!0))}),a.hover_actions=function(b,c){a.priviliged&&a.hover_design(b,c)},a.set_stage=function(b){if(a.priviliged){if(a.stage===b)return void $log.debug("Same stage was chosen, request ignored.");a.set_engagement_stage(a,b)}}},f}angular.module("ice.directives",[]).directive("stepStagesDirective",a),a.$inject=["$rootScope","iceConstants","localStorageService","usersService","$uibModal"]}(),function(){"use strict";function a(a,b,c,d){var e={};return e.restrict="E",e.templateUrl="directives/progress/progress.html",e.scope={progress:"@progress",data:"=data",callback:"=callback",statuses:"@statuses",enable_refresh:"@enableRefresh"},e.link=function(e,f,g){var h=function(){e.statuses||(e.statuses=!1),i(),j()},i=function(){var a=moment(),b=moment(e.data.completion_date),c=Math.ceil(b.diff(a,"days",!0));0>c&&(c=0),e.daysLeft=c},j=function(){e.$watch("data.completion_date",function(a,b){a!==b&&i()}),e.$watch("data.heat_validated_time",function(a,b){a!==b&&k()}),e.$watch("data.vnf_version",function(a,b){a!==b&&k()}),e.$watch("data.image_scan_time",function(a,b){a!==b&&k()}),e.$watch("data.aic_instantiation_time",function(a,b){a!==b&&k()}),e.$watch("data.asdc_onboarding_time",function(a,b){a!==b&&k()})},k=function(){e.data&&(e.data.ecomp_release||(e.data.ecomp_release="-"),e.data.aic_version||(e.data.aic_version="-"),e.data.aic_instantiation_time||(e.data.aic_instantiation_time="-"),e.data.vnf_version||(e.data.vnf_version="-"),e.data.asdc_onboarding_time||(e.data.asdc_onboarding_time="-"),e.data.heat_validated_time||(e.data.heat_validated_time="-"),e.data.image_scan_time||(e.data.image_scan_time="-"))};e.starEngagement=function(){d.putStarredEngagements(e.data.engagement_uuid).then(function(a){b.ice.loader.show=!1,200===a.status&&a.data&&""!==a.data&&(b.$broadcast("onUpdateEngagements",{select:{uuid:e.data.engagement_uuid,page_type:"dashboard",sub_id:void 0,enable_refresh:e.enable_refresh}}),0==e.data.starred?e.data.starred=!0:e.data.starred=!1)})["catch"](function(a){b.ice.loader.show=!1,c.error(a)})},e.goToEngagement=function(a){b.$broadcast("searchSelectEngagement",a)},e.changeProgress=function(){var b=a.open({templateUrl:"main/modals/change-progress/change-progress.html",controller:"ChangeProgressModalController",controllerAs:"vm",resolve:{progress:function(){return e.progress},engagementUuid:function(){return e.data.engagement_uuid}}});b.result.then(function(a){a&&(e.progress=a.progress||e.progress,a.progress&&e.callback(a))},function(){c.debug("Modal dismissed at: "+new Date)})},h()},e}angular.module("ice.directives").directive("progressDirective",["$uibModal","$rootScope","$log","vfService",a])}(),function(){"use strict";function a(a,b,c,d,e){var f={};return f.restrict="E",f.template="
",f.scope={activity:"="},f.controller=["$scope",function(a){a.addDateStamp=function(a){var c="",d=moment().format("z"),e=moment().format("A"),f=moment().tz(moment.tz.guess()).format("z");return c=-1==a.description.indexOf(" at ")?"."==a.description.substr(a.description.length-1)?a.description.substr(0,a.description.length-1):a.description:a.description.substring(0,a.description.indexOf(" at ")),a.description=c+" at "+b("date")(a.create_time,"yyyy-MM-dd hh:mm:ss",d)+" "+e+" "+f,a},a.addPopover=function(a,b,c,d){var e=""+c+"";a.description=a.description.replaceAll(b,e)},a.addSelectEngagement=function(a,b,c,d){var e="";a.description=a.description.replaceAll(b,e)},a.goToEngagement=function(a){e.setJson("ice.settings.eng_uuid",a),d.path("/dashboard/overview"),d.replace(),c.$broadcast("onUpdateEngagements",{select:{uuid:a,page_type:"overview",sub_id:void 0}})}}],f.link=function(b,c,d,e){var f=b.activity;f.meta_data=JSON.parse(f.metadata),b.addDateStamp(f),angular.forEach(f.meta_data.macros,function(a,c){switch(a.type){case"popover":b.addPopover(f,c,a["short"],a["long"]);break;case"select_engagement":b.addSelectEngagement(f,c,a["short"],a.eng_uuid)}});var g=""+b.activity.description+"";c.html(g).show(),a(c.contents())(b)},f}angular.module("ice.directives").directive("notifications",a),String.prototype.replaceAll=function(a,b,c){return this.replace(new RegExp(a.replace(/([\/\,\!\\\^\$\{\}\[\]\(\)\.\*\+\?\|\<\>\-\&])/g,"\\$&"),c?"gi":"g"),"string"==typeof b?b.replace(/\$/g,"$$$$"):b)},a.$inject=["$compile","$filter","$rootScope","$location","localStorageService"]}(),function(){"use strict";function a(a){var b={};return b.restrict="E",b.transclude=!1,b.scope={selector:"@selector"},b.link=function(b,c,d){a.$watch("ice.loader.show",function(a,c){if(a===!0){var d=$(b.selector),f=e(),g=$('
');$("body").append(g),d.addClass("ice-loader-overlay");var h=d.offset();h&&g.css({top:h.top+d.height()/2,left:h.left+d.width()/2,position:"fixed"})}else if(a===!1){var d=$(b.selector);d.removeClass("ice-loader-overlay");var f=e(),g=$("#"+f);g.remove()}},!0);var e=function(){var a="ice-loader-",c=b.selector;return c=c.replace(".",""),c=c.replace("#",""),a+c}},b}angular.module("ice.directives").directive("iceLoader",a),a.$inject=["$rootScope"]}(),function(){"use strict";function a(a,b){var c={};return c.restrict="E",c.templateUrl="directives/ice-toast/ice-toast.html",c.scope={isModal:"=isModal"},c.link=function(c,d,e){var f=function(){var a=b.getToast();a&&(c.toast=a)};c.closeAlert=function(){b.clearToast()},f(),a.$watch("showToast",function(a,b){f()},!0)},c}angular.module("ice.directives").directive("iceToast",["$rootScope","toastService",a])}(),function(){"use strict";function a(a,b,c){var d={};return d.restrict="E",d.templateUrl="directives/ice-announcement/ice-announcement.html",d.link=function(d,e,f){function g(a){var b=c.getJson(h)||{};b.closed=a,c.setJson(h,b)}var h="lastAnnouncement",i=function(){var a=b.getAnnouncement();if(a){d.toast=a;var c=new Date;c.setDate(c.getDate()-2);var e=new Date(d.toast.publishDate);c>e&&d.closeAlert()}};d.closeAlert=function(){d.toast.show=!1,g(!0)},i(),a.$watch("showAnnouncement",function(a,b){i()},!0)},d}angular.module("ice.directives").directive("iceAnnouncement",["$rootScope","cmsService","localStorageService",a])}(),function(){"use strict";function a(a,b){var c={};return c.restrict="E",c.templateUrl="directives/ice-tooltip/ice-tooltip.html",c.link=function(c,d,e){var f=5;a.getPosts(f,"",["FAQ"]).then(function(a){if(a.data&&a.data.length>0){var b=a.data.length,d=Math.floor(Math.random()*b);c.tipContent=a.data[d]}})["catch"](function(a){b.error(a)})},c}angular.module("ice.directives").directive("iceToolTip",["cmsService","$log",a])}(),function(){"use strict";function a(a,b,c){var d={};return d.restrict="E",d.templateUrl="directives/ice-news-and-announcement/ice-news-and-announcement.html",d.scope={limit:"=limit",fromLastDays:"=fromLastDays",showDescription:"=showDescription"},d.link=function(d,e,f){var g=d.limit||5,h=d.fromLastDays||"",i=function(){a.getPosts(g,h,["Announcement","News"]).then(function(a){d.cmsPosts=a.data})["catch"](function(a){c.error(a)})};d.openCMSReadMoreModal=function(a){a?b.open({templateUrl:"main/modals/cms-post-modal/cms-post-modal.html",controller:"cmsPostModalController",controllerAs:"vm",size:"cms-post-read-more",resolve:{post:function(){return a}}}):c.debug("Cannot open cms post.")},i()},d}angular.module("ice.directives").directive("iceNewsAndAnnouncement",["cmsService","$uibModal","$log",a])}(),function(){"use strict";function a(a){return function(b){return a.trustAsHtml(b)}}angular.module("ice.filters",[]).filter("trusted",["$sce",a])}(),function(){"use strict";function a(a,b,c){return function(a,b){return a.toLowerCase().includes(b.toLowerCase())}}angular.module("ice.filters").filter("doesExists",["$sce","$injector","$log",a])}(),function(){"use strict";function a(){return function(a){return a?a.charAt(0).toUpperCase()+a.substr(1).toLowerCase():""}}angular.module("ice.filters").filter("capitalize",[a])}(),function(){"use strict";function a(a,b){return function(c,d){var e={stage:"All",keyword:d,offset:0,limit:20};return a.getExpandedEngagements(e).then(function(a){return 200===a.status&&a.data&&""!==a.data?a.data.array:void 0})["catch"](function(a){$rootScope.ice.loader.show=!1,b.error(a)})}}angular.module("ice.filters").filter("customVFSearchFilter",["vfService","$log",a])}(),function(){"use strict";function a(a){var b=["th","st","nd","rd"];return function(c,d){if(c){var e=a("date")(c,d),f=parseInt(a("date")(c,"dd")),g=30>f?f%20:f%30,h=3>=g?b[g]:b[0];return e.replace("oo",h)}return c}}angular.module("ice.filters").filter("date2",["$filter",a])}(),function(){"use strict";function a(a,b){return function(b){return b=a.replace(b,/\&\;/g,"&"),b=a.replace(b,/\<\;/g,"<"),b=a.replace(b,/\>\;/g,">"),b=a.replace(b,/\"\;/g,'"'),b=a.replace(b,/\\;/g,"'"),b=a.replace(b,/<(\s)*script/g,"_script")}}angular.module("ice.filters").filter("htmlspecialchars",["_","$filter",a])}(),function(){"use strict";function a(a,b){return function(b){return b=a.replace(b,/style=\"font-weight: bold;\"/g,'class="bold"'),b=a.replace(b,/style=\"font-style: italic;\"/g,'class="italic"'),b=a.replace(b,/style=\"text-decoration-line: line-through;\"/g,'class="line-through"'),b=a.replace(b,/style=\"text-decoration-line: underline;\"/g,'class="underline"')}}angular.module("ice.filters").filter("htmlstylespan",["_","$filter",a])}(),function(){"use strict";function a(a){return function(b,c){return a.searchPages(c).then(function(a){return a.data})["catch"](function(a){$log.error(a)})}}angular.module("ice.filters").filter("customDocumentationPageSearch",["cmsService",a])}(),function(){"use strict";function a(){}angular.module("ice.toolbar",[]).config(a)}(),function(){"use strict";function a(a,b,c,d,e,f){var g=this;g.notifications=0;var h=c.getUserData();h&&(g.isAdmin=c.isAdmin(h),c.getNotifications(h.uuid).then(function(a){200===a.status&&(g.notifications=a.data.notifications_number?a.data.notifications_number:0)})["catch"](function(a){e.error(a)})),g.logout=function(){c.resetUserData(),b.setJson("ice.settings.eng_uuid",void 0),d.go("app.login")},g.addFeedback=function(){f.open({templateUrl:"main/modals/feedback/feedback.html",controller:"FeedbackModalController",controllerAs:"vm",size:"lg",resolve:{action:function(){return"add"}}})},a.$on("eventClearNotifications",function(a,b){g.notifications=0})}angular.module("ice.toolbar").controller("ToolbarController",["$rootScope","localStorageService","usersService","$state","$log","$uibModal",a])}(),function(){"use strict";function a(){}angular.module("ice.navigation",[]).config(a)}(),function(){"use strict";function a(a,b,c,d,e,f,g,h,i,j,k,l,m,n){var o=this;k.selected=void 0,k.states=["Alabama","Alaska","Arizona","Arkansas","California","Colorado","Connecticut","Delaware","Florida","Georgia","Hawaii","Idaho","Illinois","Indiana","Iowa","Kansas","Kentucky","Louisiana","Maine","Maryland","Massachusetts","Michigan","Minnesota","Mississippi","Missouri","Montana","Nebraska","Nevada","New Hampshire","New Jersey","New Mexico","New York","North Dakota","North Carolina","Ohio","Oklahoma","Oregon","Pennsylvania","Rhode Island","South Carolina","South Dakota","Tennessee","Texas","Utah","Vermont","Virginia","Washington","West Virginia","Wisconsin","Wyoming"],o.formatted_engagements={},o.starred_engagements={},o.recent_engagements={},o.showOpenWizardButton=!1;var p=i.getUserData();void 0!=p&&1==p.activationSuccess&&(o.activation_success=!0),o.selectEngagement=function(a,c,e,f){var j=angular.element(l);void 0!=c&&j.width()<992&&$(".navbar-collapse").collapse("hide"),null!=h.params.messagePass&&(m.setToast(h.params.messagePass,"success"),null==h.params.messagePass),void 0==a&&void 0!=g.getJson("ice.settings.eng_uuid")?a=g.getJson("ice.settings.eng_uuid"):h.go("app.dashboard.dashboard");var n=b.defer();return void 0!=c?o.view_type=c:""!=d.getPage()?o.view_type=d.getPage():void 0!=g.getJson("ice.settings.view_type")?o.view_type=g.getJson("ice.settings.view_type"):o.view_type="overview",void 0!=e?e=e:void 0!=g.getJson("ice.settings.sub_id")&&(e=g.getJson("ice.settings.sub_id")),g.setJson("ice.settings.view_type",o.view_type),g.setJson("ice.settings.sub_id",e),d.setPage(o.view_type),k.$watch(function(){return d.getPage()},function(a,b){a!==b&&(o.view_type=a)}),o.engagement=void 0,angular.forEach(o.recent_engagements,function(b,c){b.uuid===a?(o.engagement=b,o.engagement.selected=!0,o.engagement.page=o.view_type,o.engagement.sub_id=e,o.engagement.view_type=o.view_type):b.selected=void 0;o.recent_engagements[c]=b}),angular.forEach(o.starred_engagements,function(b,c){b.uuid===a?(o.engagement=b,o.engagement.selected=!0,o.engagement.page=o.view_type,o.engagement.sub_id=e,o.engagement.view_type=o.view_type):b.selected=void 0;o.starred_engagements[c]=b}),o.engagement?(g.setJson("ice.settings.eng_uuid",a),o.showOpenWizardButton=!0,(void 0===f||f===!0)&&(o.activation_success?h.go("app.dashboard."+o.view_type,{engagement_uuid:a,engagement:o.engagement,sub_id:e,messagePass:"You have successfully activated your account!"}):h.go("app.dashboard."+o.view_type,{engagement_uuid:a,engagement:o.engagement,sub_id:e,messagePass:null}))):1!=o.last_not_found_engagement?(g.setJson("ice.settings.eng_uuid",void 0),r()):r(!0),o.isReviewer=i.isReviewer(o.me,o.engagement.reviewer_uuid),o.isPeerReviewer=i.isPeerReviewer(o.me,o.engagement.peer_reviewer_uuid),n.resolve(a),n.promise},o.searchSelectEngagement=function(b){f.getSingleEngagement(o.me.uuid,b).then(function(c){a.ice.loader.show=!1,200===c.status&&c.data&&""!==c.data&&r(!1,{uuid:b,page_type:"overview",sub_id:void 0})})["catch"](function(b){a.ice.loader.show=!1,n.error(b)})};var q=function(){return o.me=o.user=i.getUserData(),o.isAdmin=i.isAdmin(o.me),o.isEngagementEL=i.isUserInRole(c.roles.el),o.vfc_num=0,o.user&&o.user.is_active===!1?void h.go("app.resend_activation",{message:"Please activate your account first"}):void 0===o.user?void h.go("app.login",{message:"Please login first"}):(r(!1),void a.$on("onUpdateEngagements",function(a,b){void 0!=b&&void 0!=b.select?r(!1,b.select):r(!0)}))},r=function(b,c){a.ice.loader.show=!0,o.starred_engagements={},o.recent_engagements={},o.formatted_engagements={},f.getStarredEngagements().then(function(d){a.ice.loader.show=!1,200===d.status&&d.data&&""!==d.data?s(d.data,!0,!1):204===d.status?n.error("no starred VFs were found for you."):n.error("getStarredEngagements Failed."),f.getRecentEngagements().then(function(d){a.ice.loader.show=!1,200===d.status&&d.data&&""!==d.data?d.data.length>0?s(d.data,!1,!0,b,c):h.go("app.dashboard.overview",{engagement_uuid:void 0,engagement:void 0,sub_id:void 0}):204===d.status?(n.error("no recent VFs were found for you."),t(b)):n.error("getRecentEngagements Failed.")})["catch"](function(b){a.ice.loader.show=!1,n.error(b)})})["catch"](function(b){a.ice.loader.show=!1,n.error(b)})};a.$on("searchSelectEngagement",function(a,b){o.searchSelectEngagement(b)});var s=function(a,b,c,d,e){var f=void 0;for(f=0;f0){if(1==a?b=o.formatted_engagements[Object.keys(o.formatted_engagements)[0]].uuid:e.search().eng_uuid?b=e.search().eng_uuid:null!=c?b=c:void 0!=h.params.engagement_uuid&&(b=h.params.engagement_uuid),0!=b){o.selectEngagement(b)}else h.go("app.dashboard.dashboard"),null!=h.params.messagePass&&(m.setToast(h.params.messagePass,"success"),null==h.params.messagePass);0==b&&(b=o.formatted_engagements[Object.keys(o.formatted_engagements)[0]].uuid,o.engagement=o.formatted_engagements[Object.keys(o.formatted_engagements)[0]]),void 0!=o.engagement&&null!=o.engagement.creator&&d.uuid==o.engagement.creator&&1==o.activation_success&&o.openGettingStartedWizard(b)}else 1==d.activationSuccess?(o.openGettingStartedWizard(),h.go("app.dashboard.dashboard")):h.go("app.dashboard.dashboard");o.activation_success=!1,i.setUserActivationSuccess(void 0)};q(),o.openGettingStartedWizard=function(b){var c=o.engagement&&b?o.engagement.is_service_provider_internal:!1;b=b||"";var d={user:o.user,eng_uuid:b,is_service_provider_internal:c,showActivationMessage:o.activation_success};a.$broadcast("openGettingStartedWizard",d),o.activation_success=!1},o.addChecklist=function(a){var b=j.open({templateUrl:"main/modals/checklist/checklist.html",controller:"ChecklistModalController",controllerAs:"vm",size:"lg",resolve:{engagementUuid:function(){return a},modal_type:function(){return"create"},wizardData:function(){return!1}}});b.result.then(function(b){var c=void 0;void 0!=b&&(c=b.uuid,r(!1,{uuid:a,page_type:"checklist",sub_id:c}),b.progress&&o.callback(b))},function(){n.debug("Modal dismissed at: "+new Date)})}}angular.module("ice.navigation",["ui.bootstrap"]).controller("NavigationController",["$rootScope","$q","iceConstants","pageService","$location","vfService","localStorageService","$state","usersService","$uibModal","$scope","$window","toastService","$log",a])}(),function(){"use strict";function a(a,b,c,d,e){var f=this,g=function(){f.checkListTemplates=null,i(),h()},h=function(){a.$watch(function(){return e.params.templateName},function(a,b){a!==b&&f.selectedTemplate&&(f.selectedTemplate.name=a)})},i=function(){c.getChecklistTemplates().then(function(a){d.ice.loader.show=!1,200===a.status&&a.data&&""!==a.data?f.checkListTemplates=a.data.checkListTemplates:b.debug("getChecklistTemplates Failed. response.status="+a.status)})["catch"](function(a){d.ice.loader.show=!1,b.error(a)})};f.selectTemplate=function(a){a!==f.selectedTemplate&&(f.selectedTemplate=a,e.go("app.admin.checklisttemplate",{template_uuid:a.uuid}))},g()}angular.module("ice.main.admin",["ice.services.users"]).controller("adminNavigationController",["$scope","$log","checklistService","$rootScope","$state",a])}(),function(){"use strict";function a(a,b,c,d,e){var f=this,g="LastDocumentationPageId",h=function(){c.getPages("Documentation").then(function(a){if(a&&a.data&&1===a.data.length){f.documentationPage=a.data[0];var b=d.getJson(g);b?f.loadPageContent(b):f.loadPageContent(f.documentationPage.id)}})["catch"](function(a){e.error(a)})};f.loadPageContent=function(a){f.selectedSearchedPage&&delete f.selectedSearchedPage,f.pageId=a,d.setJson(g,a),b.go("app.documentation.page",{page_id:a})},f.isPageCollapsed=function(b){var c=!0;if(b&&b.children&&b.children.length>0){var d=a.flatMap(b.children,function(b){return a.concat(b.children,b)});c=b.id!=f.pageId&&!a.some(d,["id",f.pageId])}return c},h()}angular.module("ice.documentation",[]).controller("documentationNavigationController",["_","$state","cmsService","sessionStorageService","$log",a])}(),function(){"use strict";function a(a){var b=this,c=function(){b.selectedPage=a.$current.name||"app.account"};b.loadPageContent=function(c){b.selectedPage=c,a.go(c)},c()}angular.module("ice.dashboard.account",[]).controller("accountNavigationController",["$state",a])}(),function(){"use strict";function a(a,b,c,d,e,f){var g=this;g.progress=b,g.closeModal=function(){a.close()},g.submitForm=function(){var b={progress:g.progress};d.updateProgress(c,b).then(function(c){202===c.status&&a.close(b)})["catch"](function(a){e.error(a),f.setToast(a.status+": Error changing progress!","danger")})}}angular.module("ice.modals",[]).controller("ChangeProgressModalController",["$uibModalInstance","progress","engagementUuid","vfService","$log","toastService",a])}(),function(){"use strict";function a(a,b,c,d,e,f){var g=this;g.completionDate=b,g.dateOptions={minDate:new Date,showWeeks:!0},g.closeModal=function(){a.close()},g.submitForm=function(){var b={target_date:moment(g.completionDate).format("YYYY-MM-DD")};d.updateDaysLeft(c,b).then(function(c){200===c.status&&a.close(b)})["catch"](function(a){f.setToast(a.status+": Error changing completion date!","danger")})}}angular.module("ice.modals").controller("ChangeDateModalController",["$uibModalInstance","completionDate","engagementUuid","vfService","$rootScope","toastService",a])}(),function(){"use strict";function a(a,b,c,d,e,f){var g=this;g.targetLabDate=b,g.dateOptions={minDate:new Date,showWeeks:!0},g.closeModal=function(){a.close()},g.myDate=new Date,g.minDate=moment(g.myDate).format("YYYY-MM-DD"),g.maxDate=moment(g.myDate).add(2,"years").format("YYYY-MM-DD"),g.submitForm=function(){var b={target_date:moment(g.targetLabDate).format("YYYY-MM-DD")};d.updateLabEntryDaysLeft(c,b).then(function(c){200===c.status&&a.close(b)})["catch"](function(a){f.setToast(a.status+": Error changing completion date!","danger")})}}angular.module("ice.modals").controller("ChangeLabEntryDateModalController",["$uibModalInstance","targetLabDate","engagementUuid","vfService","$rootScope","toastService",a])}(),function(){"use strict";function a(a,b,c,d,e,f,g,h,i,j,k){var l=this;l.nextSteps=[{assigneesUuids:"",description:"",files:"",duedate:""}];var m=function(){l.myDate=new Date,l.minDate=new Date(l.myDate.getFullYear(),l.myDate.getMonth(),l.myDate.getDate()),l.maxDate=new Date(l.myDate.getFullYear()+2,l.myDate.getMonth(),l.myDate.getDate()),l.onlyWeekendsPredicate=function(a){var b=a.getDay();return 0===b||6===b},l.wysiwyg_menu=[["bold","italic","strikethrough","underline"],["unordered-list","ordered-list","outdent","indent"]],l.select_str={File:"Select All"},l.select_all_flag=!1,l.associated_files=[],l.associated_files.push(l.select_str),l.assigness=[],l.title=e,void 0==h?(l.checklist={},l.checklist.uuid=void 0):l.checklist=h;var a=[];if(angular.forEach(f,function(b,c){-1==a.indexOf(b)&&(a.push(b),l.associated_files.push({File:b}))}),angular.forEach(d,function(a,b){l.assigness.push({name:a.full_name,id:a.uuid})}),l.edit=!1,void 0!=i){l.edit=!0;var b={};b.description=i.description,b.files=[],b.duedate=new Date(i.due_date);var a=[];angular.forEach(i.files,function(c,d){-1==a.indexOf(value)&&(a.push(value),b.files.push({File:c}))}),b.assigneesUuids=[],angular.forEach(i.assignees,function(a,c){b.assigneesUuids.push({name:a.full_name,id:a.uuid})}),l.nextSteps=[b]}};m(),l.get_chosen_files_num=function(a){return a.files.length==f.length+1?a.files.length-1:a.files.length},l.add_all_associated_files=function(a,b){1==b?(a.files=[],a.files.push({File:"Select All"}),_.forEach(f,function(b,c){a.files.push({File:b})})):(l.select_all_flag=!1,a.files=[])},l.pull_select_all_from_list=function(a){var b=[];_.forEach(a.files,function(a){_.isEqual(a,l.select_str)||b.push(a)}),a.files=b},l.verify_files_choice=function(a){_.forEach(a.files,function(b){a.files.length==f.length&&l.select_all_flag?b===l.select_str?(l.select_all_flag=!1,l.pull_select_all_from_list(a)):l.add_all_associated_files(a,!1):a.files.length!=f.length||l.select_all_flag?b===l.select_str&&(l.select_all_flag=!0,l.add_all_associated_files(a,!0)):(a.files.push({File:"Select All"}),l.select_all_flag=!0)})},l.addNewStep=function(){var a=l.nextSteps.length+1;l.nextSteps.push({id:a})},l.removeStep=function(a){l.nextSteps.splice(a,1)},l.closeModal=function(){a.ice.loader.show=!1,j.clearToast(),b.close()},l.submitForm=function(){var d,e=[];angular.forEach(l.nextSteps,function(a,b){var c={};c.files=[],a.files.length>f.length&&l.pull_select_all_from_list(a),angular.forEach(a.files,function(a,b){c.files.push(a.File)}),c.assigneesUuids=[],angular.forEach(a.assigneesUuids,function(a,b){c.assigneesUuids.push(a.id)}),d=new Date(Date.parse(a.duedate+moment().format("z"))),c.duedate=d.getFullYear()+"-"+n(d.getMonth()+1)+"-"+n(d.getDate()),c.description=a.description,e.push(c)});var h=l.checklist.uuid,m=g;l.edit?c.edit(g,i.uuid,e[0]).then(function(a){202===a.status&&b.close(a.data)})["catch"](function(a){k.error(a),j.setToast(a.status+": Error adding next step!","danger",{displayFor:"modal"})}):void 0==l.checklist.uuid?c.add(g,e).then(function(a){200===a.status&&b.close(a.data)})["catch"](function(a){k.error(a),j.setToast(a.status+": Error adding next step!","danger",{displayFor:"modal"})}):c.createChecklistNextStep(h,m,e).then(function(c){200===c.status?(b.close(c.status),l.closeModal()):(j.setToast(error.message,"danger",{displayFor:"modal"}),a.ice.loader.show=!1,k.error(error))})["catch"](function(b){j.setToast(b.message,"danger",{displayFor:"modal"}),a.ice.loader.show=!1,k.error(b)})};var n=function(a){return 10>a?"0"+a:a}}angular.module("ice.modals").controller("NextStepsModalController",["$rootScope","$uibModalInstance","stepsService","engagement_team","title","associated_files","engagement_uuid","checklist","nextstep","toastService","$log",a])}(),function(){"use strict";function a(a,b,c,d,e){var f=this,g=function(){f.stage=c,f.current_stage=e,f.modalText="Are you sure you want to set the Engagement's stage to "+f.stage+"?",f.eng_name=d};f.closeModal=function(a){b.close(a)},g()}angular.module("ice.modals").controller("setEngStageModalController",["$rootScope","$uibModalInstance","stage","eng_name","current_stage",a])}(),function(){"use strict";function a(a,b,c,d,e,f,g,h){var i=this;i.checkListAssociatedFiles=[],i.selectedCheckListAssociatedFiles=[],i.isDisabled=!1;var j=function(){switch(f){case"create":i.create=!0,i.createUpadeTitle="Create",i.modalType="create",i.modalTitle="Create",d.getDataForCreateChecklist(e).then(function(a){200===a.status&&(i.checkListTemplatesLists=[],i.checkListTemplates=a.data.checkListTemplates,angular.forEach(a.data.checkListAssociatedFiles,function(a,b){i.checkListAssociatedFiles.push({File:a})}),b.ice.loader.show=!1)})["catch"](function(c){a.setToast(c.message,"danger",{displayFor:"modal"}),b.ice.loader.show=!1,h.error(c.message)});break;case"update":i.update=!0,i.createUpadeTitle="Update",i.modalType="udpate",i.modalTitle="Update",i.checklistUuid=g.uuid,i.checkListName=g.name,d.getDataForCreateChecklist(e).then(function(a){200===a.status&&(i.checkListAssociatedFiles=[],angular.forEach(a.data.checkListAssociatedFiles,function(a,b){i.checkListAssociatedFiles.push({File:a})}),b.ice.loader.show=!1,i.selectedCheckListAssociatedFiles=[],angular.forEach(g.associatedFiles,function(a,b){i.selectedCheckListAssociatedFiles.push({File:a})}))})["catch"](function(c){a.setToast(c.message,"danger",{displayFor:"modal"}),b.ice.loader.show=!1,h.error(c.message)}),i.selectedTemplateUuid=g.selectedTemplateUuid,i.selectedTemplateName=g.selectedTemplateName}};j(),i.addFile=function(){var a=i.selectedCheckListAssociatedFiles.length+1; +i.selectedCheckListAssociatedFiles.push({id:a})},i.removeFile=function(a){i.selectedCheckListAssociatedFiles.splice(a,1)},i.closeModal=function(){a.clearToast(),b.$emit("onChecklistUpdate"),c.close(i.checkListName),c.close()},i.submitForm=function(){i.isDisabled=!0;var j=[];switch(f){case"create":angular.forEach(i.selectedCheckListAssociatedFiles,function(a,b){j.push(a.File)});var k={checkListAssociatedFiles:j,checkListName:i.checkListName,checkListTemplateUuid:i.selectedTemplateUuid};d.createChecklist(e,k).then(function(a){200===a.status&&(c.close(a.data),b.ice.loader.show=!1,i.closeModal())})["catch"](function(c){a.setToast(c.message||"Error creating check list.","danger",{displayFor:"modal"}),b.ice.loader.show=!1,i.isDisabled=!1,h.error(c.message)});break;case"update":var l=[];angular.forEach(i.selectedCheckListAssociatedFiles,function(a,b){l.push(a.File)}),h.debug("update",l);var m={checklistUuid:i.checklistUuid,checkListAssociatedFiles:l,checkListName:i.checkListName,checkListTemplateUuid:i.selectedTemplateUuid};d.putDataForChecklist(i.checklistUuid,m).then(function(f){if(200===f.status){b.$broadcast("onUpdateEngagements",{select:{uuid:e,view_type:"checklist",sub_id:i.checklistUuid}}),b.ice.loader.show=!1;var j={};j.checklist_name=i.checkListName,j.associated_files=l;var k=i.checkListAssociatedFiles.sort(),m=l.sort(),n=k.length==m.length&&k.every(function(a,b){return a===m[b]});if(!n&&"pending"!=g.state){var o={};o.description="Rejected due to file list change",o.decline="True",d.setState(i.checklistUuid,o).then(function(c){return 200!==c.status?(a.setToast(c.error,"danger",{displayFor:"modal"}),b.ice.loader.show=!1,void(i.isDisabled=!1)):void b.$broadcast("onUpdateEngagements")})["catch"](function(b){h.error(b),a.setToast(b.status+": Error changing progress!","danger"),i.isDisabled=!1})}c.close(j),i.closeModal()}})["catch"](function(c){a.setToast(c.message,"danger",{displayFor:"modal"}),b.ice.loader.show=!1,h.error(c.message),i.isDisabled=!1});break;default:h.debug("no submit action found"),i.isDisabled=!1}}}angular.module("ice.modals").controller("ChecklistModalController",["toastService","$rootScope","$uibModalInstance","checklistService","engagementUuid","modal_type","wizardData","$log",a])}(),function(){"use strict";function a(a,b,c,d,e,f){var g=this,h=function(){var a=[],b=moment().tz(moment.tz.guess()).format("z"),c="";g.name=d.name,g.checklistAuditLogs=d.checklistAuditLogs,g.checklistAuditLogs.forEach(function(d){c=moment(d.create_time).local().format("YYYY-MM-DD hh:mm:ss A")+" "+b,a.push({name:d.creator.full_name,dt:c,desc:d.description})}),g.checklistAuditLogs=a};h(),g.submitForm=function(){var h={description:g.description};c.createAuditlogChecklist(d.uuid,h).then(function(c){200===c.status?(b.close(c.data),g.closeModal()):(e.setToast(c.error,"danger",{displayFor:"modal"}),a.ice.loader.show=!1)})["catch"](function(a){e.setToast(a.message,"danger",{displayFor:"modal"}),f.error(a.message)})},g.closeModal=function(){e.clearToast(),b.close()}}angular.module("ice.modals").controller("AuditLogModalController",["$rootScope","$uibModalInstance","checklistService","wizardData","toastService","$log",a])}(),function(){"use strict";function a(a,b,c,d,e,f,g){var h=this,i=function(){h.me=f.getUserData(),j()};h.vfcs=[{name:"",external_ref_id:"",company:""}],h.companies=[],h.closeModal=function(){b.close()},h.addNewChoice=function(){var a=h.vfcs.length+1;h.vfcs.push({id:a})},h.removeChoice=function(a){h.vfcs.splice(a,1)},h.submitForm=function(){var a=[];angular.forEach(h.vfcs,function(b,c){h.item=[];var d=new Object;d.name=b.name,d.external_ref_id=b.external_ref_id,d.company=b.company,a.push(d)});var f={vfcs:a,vf_uuid:e,creator:h.me};c.add(f).then(function(a){200===a.status&&b.close(a.status)})["catch"](function(a){g.error(a),d.setToast(a.status+": Error changing progress!","danger")})};var j=function(){a.ice.loader.show=!0,c.getCompanies().then(function(b){a.ice.loader.show=!1,200===b.status&&(h.companies=b.data,0===h.companies.length&&console.warn("No vendors pulled, request was successfull"))})["catch"](function(b){a.ice.loader.show=!1,g.error(b)})};i()}angular.module("ice.modals").controller("detailedViewVFCModalController",["$rootScope","$uibModalInstance","vfcService","toastService","vf_uuid","usersService","$log",a])}(),function(){"use strict";function a(a,b,c,d,e,f,g,h,i,j){function k(){d.getDeployTargets().then(function(b){a.ice.loader.show=!1,200===b.status&&(n.deployTargets=b.data,0===j.filter(n.deployTargets,{uuid:n.dtversion.uuid}).length&&(n.dtversion.disabled=!0,n.deployTargets.push(n.dtversion)))})["catch"](function(b){a.ice.loader.show=!1,i.error(b)})}function l(){d.getECOMPReleases().then(function(a){200===a.status&&(n.ECOMPReleases=a.data,0===j.filter(n.ECOMPReleases,{uuid:n.ecomp_release.uuid}).length&&(n.ecomp_release.disabled=!0,n.ECOMPReleases.push(n.ecomp_release)))})["catch"](function(b){a.ice.loader.show=!1,i.error(b)})}function m(){d.getVFVersion(g).then(function(b){a.ice.loader.show=!1,200===b.status&&(n.VFVersion=b.data)})["catch"](function(b){a.ice.loader.show=!1,i.debug(b)})}var n=this,o=function(){e.engagement&&(n.engagement=e.engagement),n.me=h.getUserData(),d.getSingleEngagement(n.me.uuid,n.engagement.uuid).then(function(b){if(a.ice.loader.show=!1,200===b.status&&b.data&&""!==b.data){var c=b.data;n.engagement_manual_id=c.engagement.engagement_manual_id,n.vf_name=c.name,n.vf_uuid=c.uuid,n.ecomp_release=c.ecomp_release,n.target_lab=new Date(c.target_lab_entry_date),n.dtversion=c.deployment_target,n.selected_dt_uuid=n.dtversion.uuid,n.selected_ecomp_uuid=n.ecomp_release.uuid,n.me=h.getUserData(),n.name=n.engagement.name,n.isEngagementEL=h.isEngagementEL(c.engagement.engagement_team),n.isAdmin=h.isAdmin(n.me),n.choices=[{TargetLab:"",TargetAic:""}],k(),l(),m()}})["catch"](function(b){a.ice.loader.show=!1,i.error(b)})};n.closeModal=function(){b.close()},n.addNewChoice=function(){var a=n.choices.length+1;n.choices.push({id:a})},n.removeChoice=function(a){n.choices.splice(a,1)},n.submitForm=function(){var a={vf_uuid:n.vf_uuid,version:n.VFVersion,target_aic_uuid:n.TargetAic,ecomp_release:n.ECOMPRelease};d.updateVfs(a,n.vf_uuid).then(function(a){200===a.status&&b.close(a.status)})["catch"](function(a){i.error(a),f.setToast(a.status+": Error changing progress!","danger")})},n.update_deployment_target=function(){n.dtversion.uuid!=n.selected_dt_uuid&&(angular.forEach(n.dt_AIC_versions,function(a,b){a.uuid===n.selected_dt_uuid&&(n.dtversion=a)}),d.updateDeployTargets(n.engagement.uuid,n.selected_dt_uuid).then(function(b){a.ice.loader.show=!1})["catch"](function(b){a.ice.loader.show=!1,i.error(b)}),n.set_edit_mode("aic"))},n.update_ECOMP_release=function(){n.ecomp_release.uuid!=n.selected_ecomp_uuid&&(j.each(n.ECOMPReleases,function(a,b){a.uuid===n.selected_ecomp_uuid&&(n.ecomp_release=a)}),d.updateECOMPReleases(n.engagement.uuid,n.selected_ecomp_uuid).then(function(b){a.ice.loader.show=!1})["catch"](function(b){a.ice.loader.show=!1,i.error(b)}),n.set_edit_mode("ecomp"))},o()}angular.module("ice.modals").controller("validationDetailsModalController",["$rootScope","$uibModalInstance","vfcService","vfService","$stateParams","toastService","vf_uuid","usersService","$log","_",a])}(),function(){"use strict";function a(a,b,c,d,e,f,g){var h=this,i=function(){void 0!=c.engagement&&(h.vf=c.engagement.vf),j()};h.closeModal=function(){b.close()},h.json="",h.submitForm=function(){var a={name:h.json,vf_uuid:f};d.add(a).then(function(a){b.close(a.status)})["catch"](function(a){g.error(a),e.setToast(a.status+": Error changing progress!","danger")})};var j=function(){a.ice.loader.show=!0,d.get().then(function(b){a.ice.loader.show=!1,200===b.status&&(h.dtsites=b.data)})["catch"](function(b){a.ice.loader.show=!1,g.error(b)})};i()}angular.module("ice.modals").controller("detailedViewDtsitesModalController",["$rootScope","$uibModalInstance","$stateParams","dtsiteService","toastService","vf_uuid","$log",a])}(),function(){"use strict";function a(a,b,c,d,e,f,g){var h=this,i=function(){h.description=null,h.checklist_name=f.name,h.state=f.state,h.action=e,h.modalText="pending"==h.state?"Are you sure you want to move the checklist state to Automation?":"Please use the button below to either approve or reject the checklist.
You can also add a log entry comment."};h.submitForm=function(e){var i={};null!=h.description?i.description=h.description:i.description="",e===!0?i.decline="False":i.decline="True",c.setState(f.uuid,i).then(function(c){200===c.status?(b.close(c.data),h.closeModal()):(d.setToast(c.error,"danger"),a.ice.loader.show=!1)})["catch"](function(a){g.error(a),d.setToast(a.status+": Error changing progress!","danger")})},h.closeModal=function(){b.close()},i()}angular.module("ice.modals").controller("stateDecisionModalController",["$rootScope","$uibModalInstance","checklistService","toastService","action","checklist","$log",a])}(),function(){"use strict";function a(a,b,c,d,e,f,g){var h=this,i=function(){h.engagement_uuid=d,h.action=e,"edit"==e?c.get(d).then(function(a){200===a.status?(h.status=a.data,h.status_modal_description=h.status.description,h.eng_status_uuid=h.status.uuid):g.error(a)})["catch"](function(a){h.status=!1,g.error(a.message)}):h.status_modal_description=""};i(),h.submitForm=function(){var d={description:h.status_modal_description};"edit"==e?(d.eng_status_uuid=h.eng_status_uuid,c.update(h.engagement_uuid,d).then(function(c){200===c.status?(b.close(c.data),h.closeModal()):(f.setToast(c.error,"danger"),a.ice.loader.show=!1)})["catch"](function(a){f.setToast(a.message,"danger"),g.error(a.message)})):c.add(h.engagement_uuid,d).then(function(c){200===c.status?(b.close(c.data),h.closeModal()):(f.setToast(c.error,"danger"),a.ice.loader.show=!1)})["catch"](function(a){f.setToast(a.message,"danger"),g.error(a.message)})},h.closeModal=function(){b.close()}}angular.module("ice.modals").controller("StatusModalController",["$rootScope","$uibModalInstance","statusService","engagement_uuid","action","toastService","$log",a])}(),function(){"use strict";function a(a,b,c,d,e,f){var g=this,h=function(){g.action=d,g.feedback_modal_description=""};h(),g.submitForm=function(){var h={description:g.feedback_modal_description};"add"==d&&c.add(h).then(function(c){200===c.status?(b.close(c.data),e.setToast("Feedback was sent successfully.","success")):(e.setToast(c.error,"danger"),a.ice.loader.show=!1)})["catch"](function(a){e.setToast(a.message,"danger"),f.error(a.message)})},g.closeModal=function(){b.close()}}angular.module("ice.modals").controller("FeedbackModalController",["$rootScope","$uibModalInstance","feedbackService","action","toastService","$log",a])}(),function(){"use strict";function a(a,b){var c=this,d=function(){b&&(c.upper_headline=b.upper_headline,c.upper_headline_value=b.upper_headline_value,c.headline=b.headline||"sp",c.message=b.message||"Are you sure?",c.closeCallback=b.closeCallback,c.approveText=b.approve||"Approve",c.cancelText=b.cancel||"Cancel",c.is_close_modal_button=b.is_close_modal_button,c.is_message=b.is_message)};c.closeModal=function(b){c.closeCallback&&c.closeCallback(b),a.close(b)},d()}angular.module("ice.modals").controller("generalPromptModalController",["$uibModalInstance","modalDetails",a])}(),function(){"use strict";function a(a,b){var c=this,d=function(){b&&(c.headline=b.headline||"General log modal",c.body=b.body||"There is no body")};d(),c.closeModal=function(){a.close()}}angular.module("ice.modals").controller("GeneralLogModalController",["$uibModalInstance","modalDetails",a])}(),function(){"use strict";function a(a,b,c,d){function e(){var a=5,c="";b.getPosts(a,c,["Announcement","News"]).then(function(a){f.recentPosts=a.data})["catch"](function(a){d.error(a)})}var f=this,g=function(){c?f.post=c:b.getLastAnnouncementPost().then(function(a){a&&a.data&&1===a.data.length&&(f.post=a.data[0])})["catch"](function(a){d.error(a)}),e()};f.closeModal=function(b){a.close(b)},f.loadSelectedPostData=function(a){a&&(f.post=a)},g()}angular.module("ice.modals").controller("cmsPostModalController",["$uibModalInstance","cmsService","post","$log",a])}(),function(){"use strict";function a(a,b){var c=this,d=function(){b&&(c.engagement=b)};c.closeModal=function(){a.dismiss()},c.archiveEngagement=function(){a.close(c.reason)},d()}angular.module("ice.modals").controller("archiveEngagementModalController",["$uibModalInstance","engagementDetails",a])}(),function(){"use strict";function a(a,b,c,d,e,f){var g=this;g.show_warning=!1;var h=function(){d.getEngagementLeads().then(function(a){g.engagementLeads=e.filter(a.data,function(a){return a.uuid}),g.selectedUserUuid=e.find(g.engagementLeads,["uuid",c])})["catch"](function(a){f.error(a),g.closeModal()})};g.closeModal=function(){a.dismiss()},g.onUserSelect=function(){g.selectedUserUuid&&a.close(g.selectedUserUuid)},h()}angular.module("ice.modals").controller("selectELModalController",["$uibModalInstance","excludeUuids","selectedOption","usersService","_","$log",a])}(),function(){"use strict";function a(a,b){var c=this,d=function(){c.engagement=b,e()};c.closeModal=function(){a.dismiss()},c.updateEngagement=function(){e(),a.close({engagement:c.engagement,status:c.status})};var e=function(){c.engagement.target_completion_date&&(c.engagement.target_completion_date=new Date(c.engagement.target_completion_date)),c.engagement.heat_validated_time&&(c.engagement.heat_validated_time=new Date(c.engagement.heat_validated_time)),c.engagement.image_scan_time&&(c.engagement.image_scan_time=new Date(c.engagement.image_scan_time)),c.engagement.aic_instantiation_time&&(c.engagement.aic_instantiation_time=new Date(c.engagement.aic_instantiation_time)),c.engagement.asdc_onboarding_time&&(c.engagement.asdc_onboarding_time=new Date(c.engagement.asdc_onboarding_time))};d()}angular.module("ice.modals").controller("updateEngagementStatusModalController",["$uibModalInstance","engagement",a])}(),function(){"use strict";function a(a,b){}angular.module("ice.main",[]).controller("MainController",a).config(["$mdDateLocaleProvider",function(a){a.formatDate=function(a){return a?moment(a).format("MMMM Do YYYY"):""},a.parseDate=function(a){var b=moment(a,"YYYY-MM-DD",!0);return b.isValid()?b.toDate():new Date(NaN)}}]),a.$inject=["$scope","$rootScope"]}(),function(){"use strict";function a(a){a.state("app.dashboard",{"abstract":!0,views:{"navigation@app":{templateUrl:"core/navigation/layouts/horizontal-navigation/navigation.html",controller:"NavigationController as vm"}},bodyClass:"dashboard"}).state("app.dashboard.dashboard",{url:"/dashboard/dashboard",views:{"content@app":{templateUrl:"main/dashboard/dashboard/dashboard.html",controller:"DashboardMainController as vm"}},params:{engagement_uuid:null,engagement:null,messagePass:null},bodyClass:"dashboard"}).state("app.dashboard.overview",{url:"/dashboard/overview",views:{"content@app":{templateUrl:"main/dashboard/overview/overview.html",controller:"OverviewMainController as vm"}},params:{engagement_uuid:null,engagement:null,messagePass:null},bodyClass:"dashboard"}).state("app.dashboard.detailedview",{url:"/dashboard/detailedview",views:{"content@app":{templateUrl:"main/dashboard/detailed-view/detailed-view.html",controller:"detailedViewController as vm"}},params:{engagement_uuid:null,engagement:null},bodyClass:"dashboard"}).state("app.dashboard.checklist",{url:"/dashboard/checklist",views:{"content@app":{templateUrl:"main/dashboard/checklist/checklist.html",controller:"DashboardChecklistController as vm"}},params:{engagement_uuid:null,sub_id:null,engagement:null},bodyClass:"dashboard"})}angular.module("ice.dashboard.main",["ice.dashboard.get-started-modal"]).config(a),a.$inject=["$stateProvider"]}(),function(){"use strict";function a(a,b,c,d,e,f,g,h,i,j,k,l,m,n){var o=this;o.sortableOptions={handle:" .order-nextstep",axis:"y",update:function(a,b){f.order_next_steps(o.engagement.uuid,o.steps).then(function(a){200===a.status&&n.debug("updated")})["catch"](function(a){n.error(a)})}};var p=function(){k.setAnnouncementToast(),b.timeGapLocal=moment().format("z"),b.ampm=moment().format("A"),b.mom=moment().tz(moment.tz.guess()).format("z"),o.engagement=d.engagement,void 0!=o.engagement&&(o.me=h.getUserData(),g.getSingleEngagement(o.me.uuid,o.engagement.uuid).then(function(a){b.ice.loader.show=!1,200===a.status&&a.data&&""!==a.data&&(o.vf=a.data,o.is_service_provider_internal=o.vf.is_service_provider_internal,o.name=o.vf.name,o.manual_id=o.vf.engagement.engagement_manual_id,o.vf.git_repo_url&&-1!=o.vf.git_repo_url?o.git_repo_url=o.vf.git_repo_url:o.git_repo_url=!1,o.storage_bucket_url=o.manual_id+"_"+o.name.toLowerCase(),o.team=o.vf.engagement.engagement_team,o.me=h.getUserData(),o.stages=i.stages,o.stage=o.vf.engagement.engagement_stage,o.stage_num=0,o.set_stage_num(o.stage),o.in_overview_page=!0,o.uuid=o.engagement.uuid,o.progress=o.vf.engagement.progress,o.completion_date=o.vf.engagement.target_completion_date,o.starred=!1,o.isEngagmentLead=h.isUserInRole("el"),o.isEngagementEL=h.isEngagementEL(o.team),o.isAdmin=h.isAdmin(o.me),o.does_user_role_allow_action_array=[o.isAdmin,o.isEngagementEL],o.unremoveable_users_from_eng_team_array=[o.vf.engagement.reviewer.uuid,o.vf.engagement.peer_reviewer.uuid,o.vf.engagement.creator.uuid],null!=o.vf.engagement.contact_user&&o.unremoveable_users_from_eng_team_array.push(o.vf.engagement.contact_user.uuid),o.states=i.states,o.states_select=s(i.states),o.selected_state_filter=t(),o.steps=[],o.vf_name=o.vf.name,o.vf.engagement.starred_engagement.forEach(function(a){o.me.uuid==a.uuid&&(o.starred=!0)}),o.all_states=!1,o.all_files=!0,q(),o.initActivityLogs(),o.files=o.vf.files,o.files_filter_options=[],o.files_filter_options=o.files_filter_options.concat(o.files),o.files_filter_options.push("Any file"),o.chosen_files_filter=["Any file"],o.show_step=!0,o.status=!1,e.get(o.uuid).then(function(a){200===a.status?o.status=a.data:n.error(a)})["catch"](function(a){o.status=!1,n.error(a.message)}),o.progress_needed_data=u())})["catch"](function(a){b.ice.loader.show=!1,n.error(a)}))};o.set_stage_num=function(a){switch(a){case"Intake":o.stage_num=1;break;case"Active":o.stage_num=2;break;case"Validated":o.stage_num=3;break;case"Completed":o.stage_num=4}},o.checkIfAdmin=function(a){return h.isAdmin(a)},o.is_user_allowed=function(){return 1==c.includes(o.does_user_role_allow_action_array,!0)?!0:!1},o.is_able_to_delete=function(a){return!o.is_user_allowed()||c.includes(o.unremoveable_users_from_eng_team_array,a.uuid)||o.checkIfAdmin(a)?!1:!0},o.remove_user_from_eng=function(a){if(!o.is_able_to_delete(a))return l.setToast("Action is not allowed.","danger"),void(b.ice.loader.show=!1);var c=j.open({templateUrl:"main/modals/general-prompt-modal/general-prompt-modal.html",controller:"generalPromptModalController",controllerAs:"vm",resolve:{modalDetails:function(){return{upper_headline:"Remove user from engagement team: ",upper_headline_value:a.full_name,headline:"Are you sure you would like to remove the user out of the team members?",is_message:!1,message:"",approve:"Yes",cancelText:"No",is_close_modal_button:!0}}}});angular.element("body").click(),c.result.then(function(c){if(c){var d={eng_uuid:o.vf.engagement.uuid,user_uuid:a.uuid};g.remove_user_from_eng(d).then(function(a){b.ice.loader.show=!1,204===a.status&&b.$broadcast("onUpdateEngagements",{select:{uuid:o.engagement.uuid,page_type:"overview",sub_id:void 0}})})["catch"](function(a){b.ice.loader.show=!1,n.error(a)})}})},a.is_match_both_filters=function(){return function(a){var b=!1;return o.all_files&&o.all_states?b=!0:o.all_states&&o.is_contain_files(a)?b=!0:o.all_files&&o.is_same_state(a.state)?b=!0:o.is_contain_files(a)&&o.is_same_state(a.state)&&(b=!0),b?a:!1}},o.is_all_files=function(){o.all_files=-1!==o.chosen_files_filter.indexOf("Any file")},o.is_contain_files=function(a){if(a.files)for(var b=0;b1&&(b=a.vfc.split(", ").length,c+=b)):a.engagement_stage==o.statistic_stage_filter&&(d++,a.vfc.length>1&&("Validated"==a.engagement_stage||"Completed"==a.engagement_stage)&&(b=a.vfc.split(", ").length,c+=b))}),o.vfc_num=c,o.eng_num=d}})["catch"](function(b){a.ice.loader.show=!1,l.error(b)})},o.onStageChange=function(){o.page_num=1,o.searchEngagements()},o.onKeywordChange=function(){o.page_num=1,o.searchEngagements()},o.searchEngagements=function(){o.current_starting_offset=(o.page_num-1)*o.pagination_num_of_objects,o.postData={stage:o.search_stage,keyword:o.search_keyword,offset:o.current_starting_offset,limit:o.pagination_num_of_objects},d.getExpandedEngagements(o.postData).then(function(a){200===a.status&&a.data&&""!==a.data&&(o.vf_search_list=a.data.array,o.num_of_returned_items=a.data.num_of_objects,o.vf_search_list.forEach(function(a){var b={enable_edit:!1,completion_date:a.engagement__target_completion_date,ecomp_release:a.ecomp_release__name,vnf_version:a.version,aic_version:a.deployment_target__version,aic_instantiation_time:a.engagement__aic_instantiation_time,asdc_onboarding_time:a.engagement__asdc_onboarding_time,heat_validated_time:a.engagement__heat_validated_time, +image_scan_time:a.engagement__image_scan_time,engagement_uuid:a.engagement__uuid,manual_id:a.engagement__engagement_manual_id,name:a.vf__name,starred:!1};a.progress_needed_data=b,a.starred_users.forEach(function(b){o.me.uuid==b&&(a.progress_needed_data.starred=!0)})}),o.vf_display_list=o.vf_search_list,n())})["catch"](function(b){a.ice.loader.show=!1,l.error(b)})},o.goToEngagement=function(b){a.$broadcast("searchSelectEngagement",b)},o.exportEngagementCSV=function(){var b=o.search_stage||"",c=o.search_keyword||"";a.ice.loader.show=!0,d.exportEngagementsCSV(b,c).then(function(b){if(b&&b.data){var c=new i([b.data],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"});h.saveAs(c,"sp.xlsx"),a.ice.loader.show=!1}})["catch"](function(b){a.ice.loader.show=!1,l.error(b)})},o.openCMSReadMoreModal=function(a){a?k.open({templateUrl:"main/modals/cms-post-modal/cms-post-modal.html",controller:"cmsPostModalController",controllerAs:"vm",size:"cms-post-read-more",resolve:{post:function(){return a}}}):l.warn("Cannot open cms post.")},p()}angular.module("ice.dashboard.dashboard",["angularUtils.directives.dirPagination","ngFileSaver"]).controller("DashboardMainController",["$rootScope","pageService","stepsService","vfService","usersService","iceConstants","localStorageService","FileSaver","Blob","cmsService","$uibModal","$log",a])}(),function(){"use strict";function a(a,b,c,d,e,f,g,h,i){var j=this;j.data={};var k=b.engagement_uuid;j.checklistUuid=b.sub_id,j.selected_decision=!1;var l=function(){null!=j.checklistUuid&&d.getChecklist(j.checklistUuid).then(function(a){200===a.status&&(j.data=a.data,j.data.states=e.checklist_states,j.me=f.getUserData(),j.is_peer_reviewer=f.isPeerReviewer(j.me,a.data.checklist.engagement.peer_reviewer.uuid),j.data.checklist.associated_files?j.has_files=!0:j.has_files=!1,j.formatDecisions())})["catch"](function(a){return 410!==a.status?(i.error(a.message),!1):void c.$broadcast("onUpdateEngagements",{select:{uuid:b.engagement_uuid,view_type:"overview",sub_id:void 0}})})};j.formatDecisions=function(){var a=0;j.data.checklistDecisions=_.orderBy(j.data.checklistDecisions,"weight"),angular.forEach(j.data.checklistDecisions,function(b,c){a++,b.counter=a;var d=0;b.decisions=_.orderBy(b.decisions,"weight"),angular.forEach(b.decisions,function(b,e){d++,b.counter=a+"."+d,0==j.selected_decision&&(j.selected_decision=b,j.selectDecision(b));var f;switch(j.data.checklist.state){case"peer_review":f=b.peer_review_value;break;case"review":case"approval":case"handoff":case"closed":f=b.review_value}var g;switch(f){case"approved":g="sprite approved-cl";break;case"denied":g="sprite denied-cl";break;case"not_relevant":g="sprite not-relevant-cl"}var h;switch(b.lineitem.line_type){case"auto":h="sprite automation-state"}j.data.checklistDecisions[c].decisions[e]["selected-value"]=f,j.data.checklistDecisions[c].decisions[e].view_value=f,j.data.checklistDecisions[c].decisions[e].view_value_css=g,j.data.checklistDecisions[c].decisions[e].auto_icon_css=h})}),j.refreshStateOptions()},j.setDecision=function(a,b){d.putChecklistDecision(a.uuid,{value:b}).then(function(c){if(200===c.status){switch(j.data.checklist.state){case"peer_review":a.peer_review_value=b;break;case"review":a.review_value=b}j.formatDecisions()}})},j.refreshStateOptions=function(){var a=!1;j.is_able_to_approve=!0,angular.forEach(j.data.checklistDecisions,function(b,c){a||angular.forEach(b.decisions,function(b,c){a||"approved"!=b.view_value&&"not_relevant"!=b.view_value&&(j.is_able_to_approve=!1,a=!0)})})},j.stateAction=function(a){switch(a){case"approve":var b={};b.description="",b.decline="False",d.setState(j.data.checklist.uuid,b).then(function(a){200===a.status?c.$broadcast("onUpdateEngagements",{select:{uuid:k,page_type:"overview",sub_id:j.data.checklist.uuid}}):(h.setToast(a.error,"danger"),c.ice.loader.show=!1)})["catch"](function(a){i.error(a),h.setToast(a.status+": Error changing progress!","danger")});break;case"reject":j.openSetState(a,j.data.checklist);break;case"next_step":j.openNextSteps(j.data.checklist)}},j.formatDate=function(a){var b=moment().tz(moment.tz.guess()).format("z"),c="";return c=moment(a).local().format("YYYY-MM-DD hh:mm:ss A")+" "+b},j.submitDecisionAuditLog=function(){var a={description:j.selected_decision.new_audit_log_description};d.createAuditlogDecisionChecklist(j.selected_decision.uuid,a).then(function(a){200===a.status?(void 0==j.data.decisionAuditLogs[j.selected_decision.uuid]&&(j.data.decisionAuditLogs[j.selected_decision.uuid]=[]),j.data.decisionAuditLogs[j.selected_decision.uuid].push(a.data),j.selected_decision.new_audit_log_description=""):(h.setToast(a.error,"danger"),c.ice.loader.show=!1)})["catch"](function(a){h.setToast(a.message,"danger"),i.error(a.message)})},j.selectDecision=function(b,c){(j.selected_decision!=b||void 0===j.selected_decision.selected)&&(j.selected_decision.selected=!1,j.selected_decision=b,j.selected_decision.selected=!0,a.$$postDigest(function(){if(void 0!=c){var a=angular.element(c.target).prop("offsetHeight")+angular.element(c.target).prop("offsetTop"),b=angular.element("#line-item-extended").prop("offsetHeight"),d=a-b;d>0?angular.element("#line-item-extended").css("margin-top",20+d+"px"):angular.element("#line-item-extended").css("margin-top","")}}))},j.openNextSteps=function(a){var b=g.open({templateUrl:"main/modals/next-steps/next-steps.html",controller:"NextStepsModalController",controllerAs:"vm",size:"lg",resolve:{engagement_team:function(){return a.engagement.engagement_team},title:function(){return a.name},associated_files:function(){return a.repo_associated_files},engagement_uuid:function(){return a.engagement.uuid},checklist:function(){return a},nextstep:function(){return void 0}}});b.result.then(function(b){200===b&&c.$broadcast("onUpdateEngagements",{select:{uuid:k,page_type:"overview",sub_id:a.uuid}})},function(){})},j.openSetState=function(a,b){var d=g.open({templateUrl:"main/modals/checklist/state-approve-or-reject/state-approve-or-reject.html",controller:"stateDecisionModalController",controllerAs:"vm",resolve:{checklist:function(){return b},action:function(){return a}}});d.result.then(function(a){a&&c.$broadcast("onUpdateEngagements",{select:{uuid:k,page_type:"overview",sub_id:b.uuid}})},function(){})},j.openJenkinsLogModal=function(){g.open({templateUrl:"main/modals/general-log-modal/general-log-modal.html",controller:"GeneralLogModalController",controllerAs:"vm",size:"general-log-modal",resolve:{modalDetails:function(){return{headline:"Jenkins log",body:j.data.checklist.jenkins_log}}}})},j.auditLog=function(){var a={name:j.data.checklist.name,uuid:j.data.checklist.uuid,checklistAuditLogs:j.data.checklistAuditLogs},b=g.open({templateUrl:"main/modals/audit-log/audit-log.html",controller:"AuditLogModalController",controllerAs:"vm",size:"lg",resolve:{wizardData:function(){return a}}});b.result.then(function(a){a&&j.data.checklistAuditLogs.push(a)},function(){i.debug("Modal dismissed at: "+new Date)})},j.editChecklist=function(){var a={uuid:j.data.checklist.uuid,name:j.data.checklist.name,templates:j.data.checklist.templates,selectedTemplateUuid:j.data.checklist.template.uuid,selectedTemplateName:j.data.checklist.template.name,associatedFiles:j.data.checklist.associated_files,state:j.data.checklist.state},b=g.open({templateUrl:"main/modals/checklist/checklist.html",controller:"ChecklistModalController",controllerAs:"vm",size:"lg",resolve:{wizardData:function(){return a},engagementUuid:function(){return k},modal_type:function(){return"update"}}});b.result.then(function(a){a&&(j.data.checklist.name=a.checklist_name,j.data.checklist.associated_files=a.associated_files)})},l()}angular.module("ice.dashboard.checklist",[]).controller("DashboardChecklistController",["$scope","$stateParams","$rootScope","checklistService","iceConstants","usersService","$uibModal","toastService","$log",a])}(),function(){"use strict";angular.module("ice.dashboard.get-started-modal",["ngAnimate","ui.bootstrap","ice.activation.addVf"])}(),function(){"use strict";angular.module("ice.dashboard.get-started-modal").directive("getStartedModal",function(){return{restrict:"AEC",scope:{},link:function(a,b,c){a.$emit("openGettingStartedWizardLoaded")},controller:["$rootScope","$scope","$uibModal","toastService","$log",function(a,b,c,d,e){var f=this;f.data={},f.openModal=function(){d.clearToast();c.open({templateUrl:"main/dashboard/get-started-modal/wizard/wizard-container.html",controller:"ModalCtrl",controllerAs:"wizard",resolve:{wizardData:function(){return f.wizardData}},backdrop:"static"})},b.$on("openGettingStartedWizard",function(a,b){f.wizardData=b,f.openModal()})}],controllerAs:"gm"}}).controller("ModalCtrl",["$rootScope","$scope","$uibModalInstance","vfService","usersService","localStorageService","wizardData","toastService","$log","$i18next",function(a,b,c,d,e,f,g,h,i,j){function k(){if(a.ice.loader.show=!0,g.showActivationMessage&&h.setToast("You have successfully activated your account!","success",{displayFor:"modal"}),m.stepIndex=0,m.requiredStep)return m.steps.push(o[m.requiredStep]),m.setStep(m.steps[m.stepIndex]),void(a.ice.loader.show=!1);m.eng_uuid&&""!==m.eng_uuid||m.steps.push(o.addVF),m.user.is_service_provider_contact!==!0||m.is_service_provider_internal?m.user.is_service_provider_contact||m.steps.push(o.addSponsor):m.steps.push(o.addVendor),l(),m.steps.push(o.inviteMembers);var b=e.getUserData()||{},c=b.ssh_public_key;""!==m.user.ssh_public_key&&null!==m.user.ssh_public_key||""!==c&&null!==c||m.steps.push(o.addSSH),a.ice.loader.show=!1,m.setStep(m.steps[m.stepIndex])}function l(){d.getCompanies().then(function(a){if(200===a.status&&(m.companies=a.data,void 0!=m.companies))for(var b=0;b=a;a++)b.push({val:c(a)+"-"+f,nam:d(a)+" "+f});for(a=1;e>a;a++)b.push({val:c(a)+"-"+(f+1),nam:d(a)+" "+(f+1)});return b},c=function(a){var b=a;return 10>a&&(b="0"+a),b},d=function(a){var b;switch(a){case 1:b="January";break;case 2:b="February";break;case 3:b="March";break;case 4:b="April";break;case 5:b="May";break;case 6:b="June";break;case 7:b="July";break;case 8:b="August";break;case 9:b="September";break;case 10:b="October";break;case 11:b="November";break;case 12:b="December"}return b},e=function(a){return 10>a?"0"+a:a}}(),function(){"use strict";function a(a){a.state("app.addVendorContact",{url:"/addVendorContact",views:{"main@":{templateUrl:"core/layouts/full-page-with-header/full-page-with-header.html",controller:"MainController as vm"},"content@app.addVendorContact":{templateUrl:"main/activation/addVendorContact/addVendorContact.html",controller:"AddVendorContactController as vm"}},bodyClass:"addVendorContact"})}angular.module("ice.activation.addVendorContact",[]).config(a),a.$inject=["$stateProvider"]}(),function(){"use strict";function a(a,b,c,d,e){var f=this;f.data={};var g=function(){e.ice.loader.show=!0,e.headerTitle="",e.headerSubTitle="",f.choices=[{VirtualFunction:"",TargetLab:"",TargetAic:"",is_service_provider_internal:""}],b.getCompanies().then(function(a){e.ice.loader.show=!1,200===a.status&&(f.companies=a.data)})["catch"](function(a){e.ice.loader.show=!1,d.error(a)})};f.submitForm=function(){f.data.company=f.data.company.uuid,e.ice.loader.show=!0,c.addVendorContact(f.data).then(function(b){e.ice.loader.show=!1,200===b.status&&(b.data.is_active?a.go("app.dashboard.overview"):a.go("app.resend_activation"))})["catch"](function(a){e.ice.loader.show=!1,f.Msg=response.status+" : "+response.statusText,f.bgColor="#FFEBEB",d.error(a)})},f.addNewChoice=function(){var a=f.choices.length+1;f.choices.push({id:a})},f.removeChoice=function(){var a=f.choices.length-1;f.choices.splice(a)},g()}angular.module("ice.activation.addVendorContact").controller("AddVendorContactController",["$state","vfService","usersService","$log","$rootScope",a])}(),function(){"use strict";function a(a){a.state("app.resend_activation",{url:"/resendActivation",views:{"main@":{templateUrl:"core/layouts/full-page-with-header/full-page-with-header.html",controller:"MainController as vm"},"content@app.resend_activation":{templateUrl:"main/activation/resendActivation/resendActivation.html",controller:"resendActivationController as vm"}},params:{message:null},bodyClass:"resend-activation"})}angular.module("ice.activation.resendActivation",[]).config(a),a.$inject=["$stateProvider"]}(),function(){"use strict";function a(a,b,c,d,e){var f=this;f.data=[];var g=function(){c.headerTitle="Activate Your Account",c.headerSubTitle="Please follow the instructions below to activate your account.",d.params.message&&b.setToast(d.params.message,"danger"),f.activated=!1,f.showHideMsg=!1,f.showHideWait=!1};f.submitForm=function(){c.ice.loader.show=!0,a.resendActivationMail().then(function(a){c.ice.loader.show=!1,200===a.status})["catch"](function(a){c.ice.loader.show=!1,e.error(a)})},g()}angular.module("ice.activation.resendActivation").controller("resendActivationController",["usersService","toastService","$rootScope","$state","$log",a])}(),function(){"use strict";function a(a){a.state("app.terms",{url:"/terms",views:{"main@":{templateUrl:"core/layouts/full-page-with-header/full-page-with-header.html",controller:"MainController as vm"},"content@app.terms":{templateUrl:"main/activation/terms/terms.html",controller:"TermsController as vm"}},params:{message:null},bodyClass:"terms"})}angular.module("ice.activation.terms",[]).config(a),a.$inject=["$stateProvider"]}(),function(){"use strict";function a(a){var b=this;b.data={},a.headerTitle="Terms of Service",a.headerSubTitle="Last updated 2016-06-10"}angular.module("ice.activation.terms").controller("TermsController",["$rootScope",a])}(),function(){"use strict";function a(a){a.state("app.contactus",{url:"/contactUs",views:{"main@":{templateUrl:"core/layouts/full-page-with-header/full-page-with-header.html",controller:"MainController as vm"},"content@app.contactus":{templateUrl:"main/activation/contactUs/contactUs.html",controller:"ContactUsController as vm"}},bodyClass:"contact-us"})}angular.module("ice.contactUs",[]).config(a),a.$inject=["$stateProvider"]}(),function(){"use strict";function a(a){a.headerTitle="Contact Us",a.headerSubTitle="Please fill in the details below"}angular.module("ice.contactUs").controller("ContactUsController",["$rootScope",a])}(),function(){"use strict";function a(a){a.state("app.account",{url:"/account",views:{"content@app":{templateUrl:"main/dashboard/account/account.html",controller:"DashboardAccountController as vm"},"navigation@app":{templateUrl:"core/navigation/layouts/account-navigation/navigation.html",controller:"accountNavigationController as vm"}},params:{engagement_uuid:null},bodyClass:"account"}).state("app.account.notifications",{url:"/account/notifications",views:{"content@app":{templateUrl:"main/dashboard/account/notifications/notifications.html",controller:"DashboardNotificationsController as vm"}},bodyClass:"notifications"}).state("app.account.userProfile",{url:"/account/userProfile",views:{"content@app":{templateUrl:"main/dashboard/account/user-profile-settings/user-profile-settings.html",controller:"accountUserProfileSettingsController as vm"}},bodyClass:"account"})}angular.module("ice.dashboard.account").config(a),a.$inject=["$stateProvider"]}(),function(){"use strict";function a(a,b,c,d,e,f){var g=this;g.data={};var h=function(){if(g.user=b.getUserData(),void 0==g.user)return void a.go("app.login");var h=g.user.uuid;e.ice.loader.show=!0,b.getIceUser(h).then(function(a){200===a.status?(g.data.full_name=a.data.full_name,g.data.email=a.data.email,g.data.phone_number=a.data.phone_number,g.data.password="",g.data.ssh_key=a.data.ssh_public_key,g.data.company=a.data.company.name,g.data.access_key=a.data.rgwa_access_key,g.data.access_secret="•••••••••••••••",e.ice.loader.show=!1):(f.setToast("Error getting account","danger"),d.error("Error getting account: "+uuid),e.ice.loader.show=!1)})["catch"](function(a){f.setToast(a.message,"danger"),d.error(a.message)}),c.getCompanies().then(function(a){200===a.status&&(g.companies=a.data)})["catch"](function(a){d.error(a.message)})};h(),g.getAccessSecret=function(){b.getRGWASecret().then(function(a){200===a.status?g.data.access_secret=a.data.rgwa_secret_key:(f.setToast("Error getting user's access secret","danger"),d.error("Error getting access secret: "+uuid),e.ice.loader.show=!1)})["catch"](function(a){f.setToast(a.message,"danger"),d.error(a.message)})},g.submitForm=function(){var a=b.getUserData();b.updateAccount(a.uuid,g.data).then(function(a){200===a.status&&f.setToast("Account was updated successfully!","success")})["catch"](function(a){f.setToast(a.message.detail,"danger")})}}angular.module("ice.dashboard.account").controller("DashboardAccountController",["$state","usersService","vfService","$log","$rootScope","toastService",a])}(),function(){"use strict";function a(a,b,c,d,e,f,g){var h=this;h.data={};var i=function(){return b.setPage("notification"),e.timeGapLocal=moment().format("z"),e.ampm=moment().format("A"),e.mom=moment().tz(moment.tz.guess()).format("z"),h.pagination_num_of_objects=10,h.current_starting_offset="0",h.page_num=1,h.user=c.getUserData(),void 0==h.user?void a.go("app.login"):void h.getNotifications(!0)};h.getNotifications=function(a){var b=h.user.uuid;e.ice.loader.show=!0,h.current_starting_offset=(h.page_num-1)*h.pagination_num_of_objects,c.getNotificationsDescription(h.user.uuid,h.current_starting_offset,h.pagination_num_of_objects).then(function(i){200===i.status?(h.notifications=i.data.serilizedActivitySet,h.num_of_returned_items=i.data.num_of_objects,h.notifications_display_list=h.notifications,a&&c.resetNotificationNum(b).then(function(a){200===a.status&&f.$emit("eventClearNotifications",0)})["catch"](function(a){d.setToast(a.message,"danger"), +e.ice.loader.show=!1,g.error(a)}),e.ice.loader.show=!1):(d.setToast(i.error,"danger"),e.ice.loader.show=!1)})["catch"](function(a){d.setToast(a.message,"danger"),e.ice.loader.show=!1,g.error(a)})},h.delNotification=function(a){for(var b=0,f=0;f0?angular.element("#line-item-extended").css("margin-top",20+c+"px"):angular.element("#line-item-extended").css("margin-top","")}}))},i.addLineItem=function(b){if(b){var c=a.maxBy(b.lineItems,function(a){return a.weight})+1,d={uuid:"newEntity",name:"Untitled line item",description:"Please add a description",weight:c,validation_instructions:"Please add validation instructions for the line item."};b.lineItems.push(d)}},i.addSection=function(){if(i.template){var b=a.maxBy(i.template.sections,function(a){return a.weight})+1,c={uuid:"newEntity",name:"Untitled section",description:"Section added from portal",validation_instructions:"valid instructions",weight:b,lineItems:[]};i.template.sections.push(c)}},i.deleteLineItem=function(b){a.remove(i.selectedSection.lineItems,function(a){return b===a}),l()},i.isSaveInvalid=function(){var b=!1;return i.template&&(b=void 0!=a.find(i.template.sections,function(a){return 0===a.lineItems.length})),b};var k=function(){b.$watch("vm.template.name",function(a,b){d.templateName=a},!0)},l=function(){i.selectedSection=i.template.sections&&i.template.sections.length>0?i.template.sections[0]:void 0,i.selectedLineItem=i.selectedSection?i.selectedSection.lineItems[0]:void 0,angular.element("#line-item-extended").css("margin-top","")},m=function(){i.template&&(i.template.sections=a.orderBy(i.template.sections,"weight"),a.forEach(i.template.sections,function(b){b.lineItems=a.orderBy(b.lineItems,"weight")}))};j()}angular.module("ice.main.admin").controller("checklistTemplateController",["_","$scope","checklistService","$stateParams","toastService","$uibModal","$log",a])}(),function(){"use strict";function a(a,b,c,d,e,f,g,h,i){var j=this,k=function(){a.timeGapLocal=moment().format("z"),a.ampm=moment().format("A"),a.mom=moment().tz(moment.tz.guess()).format("z"),j.is_aic_edit_mode=!1,j.is_ecomp_edit_mode=!1,j.aic_loaded=!1,j.ecomp_loaded=!1,void 0!=b.engagement&&(j.engagement=b.engagement),void 0!=j.engagement&&(j.me=e.getUserData(),g.getSingleEngagement(j.me.uuid,j.engagement.uuid).then(function(b){if(a.ice.loader.show=!1,200===b.status&&b.data&&""!==b.data){var c=b.data;j.engagement_manual_id=c.engagement.engagement_manual_id,j.vf_name=c.name,j.vf_version=c.version,j.vf_uuid=c.uuid,j.ecomp_release=c.ecomp_release,j.target_lab=new Date(c.target_lab_entry_date),j.dtversion=c.deployment_target,j.selected_dt_uuid=j.dtversion.uuid,j.selected_ecomp_uuid=j.ecomp_release.uuid,j.me=e.getUserData(),j.name=j.engagement.name,j.isEngagementEL=e.isEngagementEL(c.engagement.engagement_team),j.isAdmin=e.isAdmin(j.me),l(),m()}})["catch"](function(b){a.ice.loader.show=!1,h.error(b)}))};j.addVfc=function(){var a=f.open({templateUrl:"main/modals/detailed-view/vfc/detailed-view-vfc-modal.html",controller:"detailedViewVFCModalController",controllerAs:"vm",resolve:{vf_uuid:function(){return j.vf_uuid}}});a.result.then(function(a){a&&m()})},this.personArray=[j.dtversion,j.vf_uuid],j.editValidationDetails=function(){var a=f.open({templateUrl:"main/modals/validation-details/detailed-view-validation-details-modal.html",controller:"validationDetailsModalController",controllerAs:"vm",resolve:{vf_uuid:function(){return j.vf_uuid}}});a.result.then(function(a){a&&k()})},j.addDTS=function(){if(j.isEngagementEL||j.isAdmin){var a=f.open({templateUrl:"main/modals/detailed-view/dtsite/detailed-view-dtsites-modal.html",controller:"detailedViewDtsitesModalController",controllerAs:"vm",resolve:{vf_uuid:function(){return j.vf_uuid}}});a.result.then(function(a){a&&200===a&&l()})}},j.changeTargetLabEntry=function(){var a=f.open({templateUrl:"main/modals/target-lab-entry/change-lab-entry-date.html",controller:"ChangeLabEntryDateModalController",controllerAs:"vm",resolve:{targetLabDate:function(){return j.target_lab},engagementUuid:function(){return j.engagement.uuid}}});a.result.then(function(a){a&&(j.target_lab=new Date(a.target_date),h.debug("data.target_date",a.target_date),h.debug("vm.target_lab",j.target_lab))},function(){h.error("Modal dismissed at: "+new Date)})},j.deleteVfc=function(a){c["delete"](a,j.vf_uuid).then(function(a){204===a.status&&m()})["catch"](function(a){h.error(a)})},j.deleteDTSite=function(a,b){d["delete"](j.vf_uuid,b).then(function(a){204===a.status&&l()})["catch"](function(a){h.error(a)})};var l=function(){(j.isEngagementEL||j.isAdmin)&&(a.ice.loader.show=!0,d.getVFSites(j.vf_uuid).then(function(b){a.ice.loader.show=!1,200===b.status&&(j.dtsites=b.data)})["catch"](function(b){a.ice.loader.show=!1,h.error(b)}))},m=function(){a.ice.loader.show=!0,c.get(j.vf_uuid).then(function(b){a.ice.loader.show=!1,200===b.status&&(j.vfcs=b.data)})["catch"](function(b){a.ice.loader.show=!1,h.error(b)})};k()}angular.module("ice.dashboard.main").controller("detailedViewController",["$rootScope","$stateParams","vfcService","dtsiteService","usersService","$uibModal","vfService","$log","_",a])}(),function(){"use strict";function a(a){a.state("app.documentation",{views:{"navigation@app":{templateUrl:"core/navigation/layouts/documentation-navigation/navigation.html",controller:"documentationNavigationController as vm"},"sidebar@app":{templateUrl:"main/documentation/sidebar/documentation.sidebar.html"}},bodyClass:"documentation",params:{displaySidebar:!0}}).state("app.documentation.page",{url:"/documentation",views:{"content@app":{templateUrl:"main/documentation/documentation.html",controller:"documentationController as vm"}},bodyClass:"documentation",params:{displaySidebar:!0,page_id:void 0}})}angular.module("ice.documentation").config(a),a.$inject=["$stateProvider"]}(),function(){"use strict";function a(a,b,c){function d(){b.page_id&&a.getPage(b.page_id).then(function(a){a&&a.data&&(e.pageId=b.page_id,e.pageTitle=a.data.title,e.pageContent=a.data.content,e.publishDate=a.data.publish_date)})["catch"](function(a){c.error(a)})}var e=this,f=function(){d()};f()}angular.module("ice.documentation").controller("documentationController",["cmsService","$stateParams","$log",a])}(),function(){"use strict";function a(a,b){var c=this,d=function(){b.getIceUser().then(function(a){c.receiveEmails=a.data.regular_email_updates,c.receiveEmailsEveryTime=a.data.email_updates_on_every_notification,c.receiveDigestEmails=a.data.email_updates_daily_digest,c.receiveNotifications=c.receiveEmailsEveryTime||c.receiveDigestEmails})["catch"](function(b){a.setToast(b.message,"danger"),$log.error(b.message)})};c.submitForm=function(){var d=b.getUserData(),e={};e.regular_email_updates=c.receiveEmails,e.email_updates_on_every_notification=c.receiveEmailsEveryTime,e.email_updates_daily_digest=c.receiveDigestEmails,e.company=d.company.name,e.full_name=d.full_name,e.email=d.email,e.phone_number=d.phone_number,b.updateAccount(d.uuid,e).then(function(b){200===b.status&&a.setToast("User profile settings was updated successfully!","success")})["catch"](function(b){a.setToast(b.message.detail,"danger")})},c.changeReceiveNotifications=function(){c.receiveNotifications||(c.receiveEmailsEveryTime=!1,c.receiveDigestEmails=!1)},d()}angular.module("ice.dashboard.account").controller("accountUserProfileSettingsController",["toastService","usersService",a])}(),angular.module("ice").run(["$templateCache",function(a){"use strict";a.put("main/activation/activate/activateUser.html",'
'),a.put("main/activation/addVendorContact/addVendorContact.html",'
Please select a company
Name is a required field. Full Name is too short. Full Name is too long.
Email is a required field. Enter a valid email.
Phone is a required field. Phone is too short. Phone is too long. Phone must consist of numbers only.
 I agree to receive regular email updates.
 I accept the AT&T\'s {{\'program.name\' | i18next}} Terms of Service and Privacy Policy.
reCAPTCHA is invalid.
'),a.put("main/activation/addVf/addVf.html",'
Use the form below to add your VF.Try to be as accurate as you can around the information to make sure the validation can accomplished as possible.
VF Name
VF Name can be alphanumeric or/and Hyphen

Key Metadata

Target Lab Entry Date
The virtual function is only developed internally inside AT&T.
'),a.put("main/activation/contactUs/contactUs.html",'
'),a.put("main/activation/inviteMembers/inviteMembers.html",'
Email is a required field. Enter a valid email.
Invite another team member
'),a.put("main/activation/login/login.html",'
'), +a.put("main/activation/register/register.html",'
Please select a company
Name is a required field. Full Name is too short. Full Name is too long. Full Name must be alphanumeric
Email is a required field. Enter a valid email.
Phone is a required field. Phone is too short. Phone is too long. Phone format invalid
Password is a required field. Password is too short. Password is too long.
 I agree to receive regular email updates from AT&T {{\'program.name\' | i18next}}.
{{PleaseFill}}
'),a.put("main/activation/resendActivation/resendActivation.html",'

You have successfully created your account! To begin using this site you will need to activate your account via the email we have just sent to your email address.

Please note that sometimes activation emails end up in users spam/junk folders, so please check there.

If you have not received it, please click the resend the Activation Email button below.

'),a.put("main/activation/resetPassword/resetPassword.html",'
Email is a required field. Enter a valid email.
'),a.put("main/activation/terms/terms.html",'

The {{'serviceProvider.name' | i18next}} Domain 2 ICE ({{'program.name' | i18next}}) are maintained by {{'serviceProvider.name' | i18next}} Foundry (“{{'serviceProvider.name' | i18next}}”) for use by any one interested in incubating or validating their Virtual Function (VF) against our Domain 2.0 architecture. When you or any other person, employee or representative authorized by you (collectively referred to as “You” or “Your”) use the {{'serviceProvider.name' | i18next}} Domain 2.0 ICE, You accept the Terms and Conditions stated below (the “Terms and Conditions”).  Do not use the {{'program.name' | i18next}} if You do not agree with these Terms and Conditions.

  1. Content Ownership. The {{'serviceProvider.name' | i18next}} Domain 2.0 ICE (“{{'program.name' | i18next}}”) provide You access to technical resources, such as product, service, and network information, and community forums and contain trademarks, service marks, logos, copyrights, other intellectual property, including, without limitation, text, data, graphics, audio, video, and product, service, network, process, and technical descriptions and information (collectively, the \"Content\") owned by, licensed to, and/or supplied to {{'serviceProvider.name' | i18next}}. As between You, {{'serviceProvider.name' | i18next}} its third party Content licensors and suppliers, {{'serviceProvider.name' | i18next}} or such third party Content licensors and suppliers are the sole owners of all Content on the {{'program.name' | i18next}}, including, without limitation, all copyrights, trademarks, service marks, patent, trade secret, and other intellectual property rights thereto. {{'serviceProvider.name' | i18next}} is the sole owner of the {{'program.name' | i18next}}. The {{'program.name' | i18next}} may contain links and references to third-party websites, which are provided for the convenience.  {{'serviceProvider.name' | i18next}} is not responsible for the content or information contained on such third party websites

  2. Account Registration. In order to use certain features of the {{'program.name' | i18next}}, You will be asked to create a user Account and password (an \"Account\") and provide certain information (\"Registration Data\"). You agree: (i) that the Registration Data You provide will be true, accurate, current and complete at the time You provide it; (ii) to maintain and update such Registration Data to keep it true, accurate, current and complete; and (iii) that {{'serviceProvider.name' | i18next}} may contact You and require You to confirm some or all of Your Registration Data before using certain features of the {{'program.name' | i18next}}. You are responsible for maintaining the confidentiality of Your Account credentials and for all activities, charges and/or liabilities that occur from Your Account, whether or not authorized by You. You must immediately notify {{'serviceProvider.name' | i18next}} of any unauthorized use of Your Account credentials or any other breach of security of which You become aware. We will not be liable for any loss or damage arising from Your failure to comply with this section.

  3. Limited License. Subject to Your compliance with these Terms and Conditions, and in consideration of Your promises reflected herein, {{'serviceProvider.name' | i18next}} grants to You a limited, non-exclusive, revocable, non-transferable license to access, view and use the {{'program.name' | i18next}}, including the Content contained therein, subject to any access restrictions or fees {{'serviceProvider.name' | i18next}} may establish from time to time. You may download, view, copy and print the Content solely for Your own use; provided that, without the express prior written permission of {{'serviceProvider.name' | i18next}}, such Content may not be adapted, modified, published, displayed, transmitted, transferred, shared with or disseminated to anyone for any purpose which is inconsistent with the business purpose of these {{'program.name' | i18next}}, facilitates unfair competition with these {{'program.name' | i18next}}, or exploits these {{'program.name' | i18next}} in any way or which is inappropriate under applicable US or international law. You are not permitted to distribute, assign, transfer or sublicense any right to use the {{'program.name' | i18next}}, either in whole or in part, to any third party.

  4. Use Restrictions. Notwithstanding the foregoing license grant, You may not resell, redistribute, broadcast or transfer the Content or use the Content in a searchable, machine-readable database or file except through the authorized access to these {{'program.name' | i18next}}. Unless separately and specifically authorized in writing by {{'serviceProvider.name' | i18next}}, You may not rent, lease, sublicense, distribute, transfer, copy, reproduce, publicly display, publish, adapt, modify, create derivative works, mine, harvest, collect, store or time-share these {{'program.name' | i18next}}, any part thereof, or any of the Content received or accessed therefrom to or through any person or entity.  Access to any restricted area of the {{'program.name' | i18next}} without the authorization of {{'serviceProvider.name' | i18next}} is prohibited. You agree to use these {{'program.name' | i18next}}, including, without limitation, any restricted area, and the Content contained herein for lawful purposes only. You may not utilize logos, marks, or other distinctive graphics, video, or audio material in Your links, without {{'serviceProvider.name' | i18next}}’s express written permission, which {{'serviceProvider.name' | i18next}} may withhold in its discretion. You may not link in any manner reasonably likely to (i) imply affiliation with or endorsement or sponsorship by {{'serviceProvider.name' | i18next}}, (ii) cause confusion, mistake, or deception, (iii) dilute {{'serviceProvider.name' | i18next}}'s trademarks or service marks, or (iv) otherwise violate state or federal law. In addition, You may only link to the home page of the {{'serviceProvider.name' | i18next}} {{'program.name' | i18next}} unless {{'serviceProvider.name' | i18next}} authorizes You to do otherwise. You may not use spiders, robots, data mining techniques or other automated devices or programs to catalog, download or programs to catalog, download or otherwise reproduce, store or distribute Content available on the {{'serviceProvider.name' | i18next}} {{'program.name' | i18next}}.  You may not use any such automated means to manipulate the {{'serviceProvider.name' | i18next}} {{'program.name' | i18next}} or attempt to exceed the limited authorization and access granted to You under these Terms and Conditions.  You may not resell use of, or access to, the {{'serviceProvider.name' | i18next}} {{'program.name' | i18next}} to any third party.

  5. Forums. {{'serviceProvider.name' | i18next}} may make forums available within the {{'serviceProvider.name' | i18next}} {{'program.name' | i18next}} to help developers request and provide development help and share tips.  By submitting comments, posts, content, information, or messages (“Posts”) to such forums, You represent and warrant that: (i) You own and control all rights to the content in Your Posts, that You transmit or otherwise make available, or You have the lawful right to distribute, reproduce, and provide such content; (ii) the Posts are accurate and not misleading; and (iii) providing such Posts does not: (a) violate this Agreement or (b) violate the rights of, or cause any injury to, any person or entity. Further, You grant us a royalty-free, perpetual, irrevocable license to use such Posts.  Also, You understand and agree that {{'serviceProvider.name' | i18next}} retains the right to reformat, excerpt or translate any Posts submitted by You. You understand and agree that {{'serviceProvider.name' | i18next}} will not be liable for any Posts publicly posted or privately transmitted on these Web Sites. You understand and agree that we cannot guarantee the identity, statements or representations of any other users with whom You may interact in the course of using these Web Sites. Additionally, we cannot guarantee that any Posts obtained from our users or otherwise, is accurate, complete, authentic, current or reliable. Your use of the forums, if any, will further be governed by the {{'serviceProvider.name' | i18next}} Community Rules available for review within the forums.  Those rules are incorporated into these Terms and Conditions by this reference.  Users should be aware that forums and discussion groups are public and not private communications. Further, users acknowledge that Postings by other users are not endorsed by {{'serviceProvider.name' | i18next}}, and that such Posts shall not be considered as having been reviewed, screened or approved by {{'serviceProvider.name' | i18next}}.

    You agree not to submit or transmit any Post that (a) is libelous, defamatory, vulgar or obscene, pornographic, sexually offensive or explicit, harmful or harassing, threatening, hateful, racially, culturally, ethnically or otherwise objectionable or offensive, discriminatory or abusive; (b) violates any law or regulation or the rights of others; (c) infringes any copyright, trademark or other intellectual property right, or any proprietary or personal rights or confidentiality obligations of others; or (d)  is a solicitation for funding, advertising or solicitation for goods or services; or (e) (iv) which is used to unlawfully collude against another person in restraint of trade and competition.  You are solely responsible and liable for any such activity, behavior, use and conduct.  This means that You, and not {{'serviceProvider.name' | i18next}} or its, suppliers, or licensors, are entirely responsible for all Posts You submit or transmit.  {{'serviceProvider.name' | i18next}} reserves the right to filter, edit, or control all Your Posts and does not guarantee the accuracy, integrity or quality of Your Post.  Under no circumstances will {{'serviceProvider.name' | i18next}} or its suppliers, or licensors be liable in any way to You for any Posts, including, but not limited to, any errors or omissions in any content, information, or messages, or any loss or damage of any kind incurred as a result of the use of any such content, information or messages posted, emailed, transmitted.  You shall be solely liable for any damages resulting from any infringement of copyright, trademark or other proprietary right, or any other harm resulting from Your Post to a forum.  {{'serviceProvider.name' | i18next}} does not and cannot review every Post by You on forums and is not responsible for any Post.  {{'serviceProvider.name' | i18next}} reserves the right to delete, move or edit, at its sole discretion, any Post that does not comply with this paragraph. You acknowledge that any Post may be edited, removed, modified, published, transmitted and displayed by {{'serviceProvider.name' | i18next}}.   {{'serviceProvider.name' | i18next}} is under no obligation to use any Post you transmit or submit. You agree that {{'serviceProvider.name' | i18next}} is not under any obligation of confidentiality, express or implied, with respect to Your Post.

    Any Post, comments, content, information or materials sent to us, including, but not limited to, data,  ideas, answers, questions, comments, suggestions, feedback or the like,  (collectively, \"Feedback\"), is non-confidential and shall become our sole property. We shall have no obligation to You of any kind, monetary or non-monetary, with respect to such Feedback and shall be free to reproduce, use, disclose, exhibit, display, transform, create derivative works from and distribute the Feedback to others without limitation or obligation.  You acknowledge that {{'serviceProvider.name' | i18next}} has absolutely no liability for alleged infringement or misappropriation in connection with such information/Post. The submission of such information/Post to {{'serviceProvider.name' | i18next}} will in no way prevent, or require, the purchase, manufacture or use of any products, services, plans or ideas by {{'serviceProvider.name' | i18next}} for any purpose whatsoever.

  6. Consent to Monitoring and Disclosure. You acknowledge that {{'serviceProvider.name' | i18next}} reserves the right, and may from time to time, monitor Your access and use of the {{'program.name' | i18next}} and Your Posts. {{'serviceProvider.name' | i18next}}, at its sole discretion and without further notice to You, may (but is not obligated to) review, censor or prohibit the transmission or receipt of any Post which {{'serviceProvider.name' | i18next}} deems inappropriate or that violates these Terms or Conditions or any {{'serviceProvider.name' | i18next}} Policy. During monitoring, Posts may be examined, recorded, copied, and used for authorized purposes. Your use of the {{'program.name' | i18next}}, authorized or unauthorized, constitutes consent to such monitoring.

  7. Copyright Complaints. {{'serviceProvider.name' | i18next}} respects the intellectual property rights of others. If You believe that Your work has been copied and has been posted, stored or transmitted by or through the {{'program.name' | i18next}} in a way that constitutes copyright infringement, please submit a notification pursuant to the Digital Millennium Copyright Act (\"DMCA\") in accordance with the process detailed at http://www.att.net/general-info/claims.html and directed to:  Designated Agent: Manager of Security & Copyright Infringement, 1800 Perimeter Park Drive, Suite 100, Morrisville, NC 27560, Phone: (919) 319-5737, Fax: (919) 319-8154, E-mail: copyright@exspcom.

  8. Privacy. It is the policy of {{'serviceProvider.name' | i18next}} to respect the privacy of its customers and any persons who visit its web sites.  For this reason, {{'serviceProvider.name' | i18next}} has established a Privacy Policy, the terms of which are available for Your review at:  www.att.com/privacy.  Subject to these Terms and Conditions, the relevant provisions of said Privacy Policy are incorporated by this reference.

  9. Subject to Change. {{'serviceProvider.name' | i18next}} reserves the right to modify these Terms and Conditions, the Privacy Statement, and the business policies and practices associated with the use of these {{'program.name' | i18next}}. Such modifications may include, without limitation, implementation of user priorities, implementation of rules for use by You, and discontinuance of functional aspects of the {{'program.name' | i18next}}, and changes in prices. {{'serviceProvider.name' | i18next}} may also add, withdraw or modify any Content contained within these {{'program.name' | i18next}} at any time in its sole discretion.  Your use of these {{'program.name' | i18next}} is Your agreement to be bound by such changes.

  10. Term. The period during which You are entitled to use the {{'serviceProvider.name' | i18next}} {{'program.name' | i18next}} (“Term”) begins on the date upon which You agree to these Terms and Conditions. {{'serviceProvider.name' | i18next}} may revoke or terminate the License granted in its sole discretion at any time. Without limiting the generality of the foregoing, we may revoke or terminate the License if You: (i) breach any obligation in these Terms and Conditions or in any other agreement between You and us, (ii) violate any policy or guideline applicable to the {{'program.name' | i18next}}, Content, or any other {{'serviceProvider.name' | i18next}} service, or (iii) use these {{'program.name' | i18next}} or Content specifically authorized in these Terms and Conditions, without our prior written permission.   Additionally, either You or {{'serviceProvider.name' | i18next}} may terminate this License at any time without cause, but termination of this License will not relieve You of the obligations under these Terms and Conditions that You assumed by using these {{'program.name' | i18next}}.

  11. Termination of {{'serviceProvider.name' | i18next}} Web Site and Service. {{'serviceProvider.name' | i18next}} may discontinue, terminate, suspend or shut down the {{'serviceProvider.name' | i18next}} Web Site, {{'program.name' | i18next}}, particular {{'program.name' | i18next}}, and/or remove Content at any time and for any or no reason. We are not obligated to give notice of such discontinuation, termination, suspension, removal or shut-down.  Your License shall automatically terminate, if {{'serviceProvider.name' | i18next}} discontinues, terminates, suspends or shut downs the {{'serviceProvider.name' | i18next}} Web Site.

  12. Application Agreement(s).  These Terms and Conditions relate solely to Your access to, and use of, the {{'program.name' | i18next}} and Content.  No commitments, obligations, terms or restrictions are imposed upon either party with respect to any Application(s) by virtue of these Terms and Conditions.  Any agreements between You and {{'serviceProvider.name' | i18next}} regarding Applications will be governed by a separate agreement(s).

  13. Trademarks. The {{'serviceProvider.name' | i18next}} name, trade names, trademarks and logo, as well as all related product and service names, design marks and slogans, are the property of {{'serviceProvider.name' | i18next}}, and may not be used by You for any purpose unless specifically authorized in writing, and in advance, by {{'serviceProvider.name' | i18next}}.  All other names, marks and logos are the names, marks and logos of their respective owners.  All right, title and interest, including, without limitation, all copyrights, trademarks and other intellectual property rights, in the {{'program.name' | i18next}} and Content belong to {{'serviceProvider.name' | i18next}}, its licensors, or suppliers.

  14. Connectivity; Delay in Service. You are responsible for all costs and expenses associated with establishing and maintaining Your connection to these {{'program.name' | i18next}}. Neither {{'serviceProvider.name' | i18next}}, nor any of its licensors or suppliers (including its and their officers, directors, managers, employees, affiliates, agents, or representatives) shall be liable for any loss or liability resulting, directly or indirectly, from delays or interruptions due to electric or mechanic equipment failures,  interconnection problems, defects, weather, strikes, walkouts, fire, acts of nature, riots, armed conflicts, acts of war or other like causes. {{'serviceProvider.name' | i18next}} shall have no responsibility to provide You access to these {{'program.name' | i18next}} during any such interruption.

  15. Limitation of Liability. YOU ASSUME FULL RESPONSIBILITY FOR IMPLEMENTING SUFFICIENT PROCEDURES AND CHECKS TO SATISFY YOUR REQUIREMENTS FOR ACCURACY AND SUITABILITY OF THESE {{'program.name' | i18next}} AND THE CONTENT, AND FOR MAINTAINING ANY MEANS WHICH YOU MAY REQUIRE FOR THE RECONSTRUCTION OF LOST DATA OR SUBSEQUENT MANIPULATIONS OR ANALYSES OF THE CONTENT PROVIDED UNDER THIS AGREEMENT. YOU ACKNOWLEDGE AND AGREE THAT {{'serviceProvider.name' | i18next}}, ITS AFFILIATES, LICENSORS, AND SUPPLIERS (INCLUDING ITS OR THEIR OFFICERS, DIRECTORS, MANAGERS, EMPLOYEES, AFFILIATES, AGENTS,  AND REPRESENTATIVES (“LIMITED LIABILITY PARTIES” FOR THE REMAINDER OF THIS PARAGRAPH) WILL NOT BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM AN INABILITY TO ACCESS OR USE THE {{'program.name' | i18next}} AND/OR CONTENT AVAILABLE ON OR ACCESSIBLE THROUGH THE {{'program.name' | i18next}}. THESE LIMITATIONS ON THE LIABILITY OF THE LIMITED LIABILITY PARTIES APPLY WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE, STRICT LIABILITY OR OTHER TORTIOUS ACTION ARISING OUT OF OR IN CONNECTION WITH THE CONTENT AVAILABLE ON OR ACCESSIBLE THROUGH THE {{'program.name' | i18next}} AND THE LIMITATIONS APPLY EVEN IF LIMITED LIABILITY PARTIES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.  YOU AGREE AND ACKNOWLEDGE THAT THESE LIMITATIONS ON THE LIABILITY OF LIMITED LIABILITY PARTIES REFLECT A REASONABLE ALLOCATION OF RISK AND THAT SUCH ALLOCATION OF RISK IS A SIGNIFICANT INDUCMENT FOR {{'serviceProvider.name' | i18next}} TO ALLOW YOU TO ACCESS AND USE THE {{'program.name' | i18next}}.  IN NO EVENT WILL THE AGGREGATE, TOTAL LIABILITY OF THE LIMITED LIABILITY PARTIES FOR DAMAGES, INJURY, LOSSES AND CAUSES OF ACTION, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM OR RELATING TO ACCESS OR USE OF THE {{'program.name' | i18next}} EXCEED TEN DOLLARS ($10.00). BECAUSE SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OR EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES, SOME OF THE ABOVE LIMITATIONS MAY NOT APPLY IN THOSE JURISDICTIONS. IN SUCH JURISDICTIONS, THE LIMITED LIABILITY PARTIES¿ LIABILITY IS LIMITED TO THE GREATEST EXTENT PERMITTED BY LAW.

  16. Disclaimer of Warranties. BROWSING AND USE OF THE {{'program.name' | i18next}} AND CONTENT IS AT YOUR OWN RISK. YOU ACKNOWLEDGE THAT INACCURACIES MAY OCCUR, AND THAT {{'serviceProvider.name' | i18next}} AND ITS LICENSORS AND SUPPLIERS DO NOT WARRANT THE ACCURACY OR SUITABILITY OF THE {{'program.name' | i18next}} AND CONTENT FOR ANY PURPOSE. FURTHERMORE, THE {{'program.name' | i18next}} AND CONTENT MAY CONTAIN LINKS TO THIRD PARTY WEBSITES NOT UNDER THE CONTROL OR OPERATION OF {{'serviceProvider.name' | i18next}}. {{'serviceProvider.name' | i18next}} PROVIDES ANY SUCH LINKS ONLY AS A CONVENIENCE FOR YOU AND IS NOT RESPONSIBLE FOR ANY SUCH LINKED SITES, THE CONTENT ON ANY SUCH LINKED SITES OR A SITE LINKED TO OR FROM ANY SUCH LINKED SITES. YOU ASSUME ALL RESPONSIBILITY AND RISK FOR USE OF THE {{'program.name' | i18next}}, THE CONTENT AND THE INTERNET GENERALLY. ACCESS TO AND/OR USE OF THE {{'program.name' | i18next}} AND CONTENT PROVIDED ON OR AVAILABLE THROUGH THE {{'program.name' | i18next}} ARE PROVIDED OR MADE AVAILABLE ON AN ¿AS IS¿ AND ¿AS AVAILABLE¿ BASIS WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF TITLE, NON-INFRINGEMENT OR IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. NO ADVICE OR INFORMATION GIVEN BY {{'serviceProvider.name' | i18next}}, ITS AFFILIATES OR IT LICENSORS, OR SUPPLIERS WILL CREATE ANY WARRANTY. FURTHER, NEITHER {{'serviceProvider.name' | i18next}} NOR ITS AFFILIATES, LICENSORS, OR SUPPLIERS WARRANT THAT CONTENT PROVIDED ON OR AVAILABLE THROUGH THE {{'program.name' | i18next}} WILL BE UN-INTERRUPTABLE, ACCURATE, COMPLETE, USEFUL, FUNCTIONAL OR ERROR FREE, OR THAT CONTENT OR MATERIAL PROVIDED ON OR AVAILABLE THROUGH THE {{'program.name' | i18next}} IS FREE OF VIRUSES OR OTHER HARMFUL COMPONENTS. ANY CONTENT AVAILABLE ON OR ACCESSIBLE THROUGH THE {{'program.name' | i18next}} MAY INCLUDE TECHNICAL INACCURACIES OR TYPOGRAPHICAL ERRORS.

  17. Indemnification. You agree to release, indemnify, defend and hold {{'serviceProvider.name' | i18next}}, its affiliates and/or its licensors, and suppliers and their affiliates, officers, directors, managers, employees, agents and representatives  harmless from losses, damages, claims, demands, suits, liabilities, fines, penalties, and expenses, including reasonable attorneys’ fees, made by any third party due to or arising out of Your access to or use of the {{'serviceProvider.name' | i18next}} {{'program.name' | i18next}} or the Content, the violation by You of these Terms and Conditions, the infringement by You of any intellectual property or other right of any person or entity, and/or any Posts You submit or transmit to any Forums.

  18. Severability. If any of these Terms and Conditions are held to be invalid or unenforceable with respect to a party, the remainder of these Terms and Conditions, or the application of such provision to persons other than those to whom it is held invalid or unenforceable shall not be affected and each remaining provision of these Terms and Conditions shall be valid and enforceable to the fullest extent permitted by law.

  19. Publicity. Nothing contained in these Terms and Conditions will be construed as granting to You any right to use or refer to in advertising, publicity, promotion, marketing or other activities, any name, trade name, trade or service mark or any other designation of {{'serviceProvider.name' | i18next}}, its licensors, or suppliers, including any contraction, abbreviation or simulation of any kind of the foregoing, unless specifically authorized in writing, and in advance, by {{'serviceProvider.name' | i18next}}, its licensors, or suppliers.

  20. International Use. {{'serviceProvider.name' | i18next}} controls and operates these {{'program.name' | i18next}} from its offices in the United States of America. {{'serviceProvider.name' | i18next}} does not represent that Content accessible via the {{'program.name' | i18next}} is appropriate or available for use in all geographic locations, especially some locations outside the United States, and accessing such from certain locations may be illegal and prohibited.  If You access or use such Content from such locations, You are acting on Your own initiative, and {{'serviceProvider.name' | i18next}} is not responsible for Your compliance with local laws or other applicable legal or regulatory restrictions.  You agree that You will not access or use the {{'program.name' | i18next}} or Content where prohibited by applicable law, rule or regulation.  You represent and warrant that You are not (a) located in any country that is subject to a U.S. Government embargo, or that has been designated by the U.S. Government as a “terrorist supporting” country, or (b) listed on any U.S. Government list of prohibited or restricted parties including the Treasury Department’s list of Specially Designated Nationals or the U.S. Department of Commerce Denied Persons List or Entity List. You also agree that You will not use the {{'program.name' | i18next}} or Content for any purposes prohibited by United States law.

  21. Governing Law. The laws of the State of Texas, excluding its conflicts-of-law rules, shall govern this Agreement and Your use of these {{'program.name' | i18next}} and Content. You agree that any claim or dispute with {{'serviceProvider.name' | i18next}} relating in any way to Your use of the {{'program.name' | i18next}} or Content shall be commenced and heard in the state or federal courts of the State of Texas, County of Dallas, and You agree and expressly consent to the exercise of personal jurisdiction in the courts of the State of Texas, in connection with any such dispute.  You and {{'serviceProvider.name' | i18next}} agree that any cause of action arising out of or related to or use of the {{'program.name' | i18next}} or Content  must commence within one (1) year after the cause of action arises.  Otherwise, such cause of action is permanently barred.  Because some jurisdictions do not permit such time bars, this limitation may not apply in all situations.

  22. Miscellaneous. {{'serviceProvider.name' | i18next}}’s failure to exercise or enforce any right or provision of these Terms and Conditions will not constitute a waiver of such right or provision unless acknowledged and agreed to by {{'serviceProvider.name' | i18next}} in writing.  Neither the course of conduct between the parties nor trade practice will act to modify any provision of these Terms and Conditions.

"), +a.put("main/activation/updatePassword/updatePassword.html",'
Password is required field. Password is too short. Password is too long.
Confirm password is required field. Passwords do not match.
'),a.put("main/admin/checklist-template/checklist-template.html",'

Master Checklist Template: {{vm.template.name}}
Template name is a required field. Template name is too short. Template name is too long.

Editing a master checklist template will affect all checklists currently created of that type and will also restart the validation for all active engagements.
  • Section {{$index+1}}: {{section.name}}
    Section name is a required field. Section name is too short. Section name is too long.

    • {{$parent.$index+1}}.{{$index+1}} {{lineItem.name}}
       
    • Add Another line item
Add Another Section
'),a.put("main/dashboard/account/account.html",'

Account

Your Storage Credentials

Access Key:
{{vm.data.access_key}}
Access Secret (Show)
{{vm.data.access_secret}}
'),a.put("main/dashboard/account/notifications/notifications.html",'

Notifications

'),a.put("main/dashboard/account/user-profile-settings/user-profile-settings.html",'

Settings

'),a.put("main/dashboard/checklist/checklist.html",'

Checklist: {{vm.data.checklist.name}}

  • Audit Log ({{vm.data.checklistAuditLogs.length}})
  • Jenkins Log
  • Section {{section.counter}}: {{section.section.name}}

    • {{decision.counter}} {{decision.lineitem.name}}
'), +a.put("main/dashboard/dashboard/dashboard.html",'

Statuses

Stage
Export to Excel >>
'),a.put("main/dashboard/detailed-view/detailed-view.html",'

{{vm.engagement_manual_id + \': \'}}{{vm.vf_name}}

Validation Details
ECOMP Release: {{vm.ecomp_release.name}}
Target AIC Version:{{vm.dtversion.version}}
VF Version: {{vm.vf_version}}
Target Lab Entry

{{vm.target_lab | date:\'shortDate\'}}

Deployment Targets
  • {{dts.name}}
Virtual Function Components
  • {{vfc.name +\' (\' + vfc.external_ref_id + \')\'}}
'),a.put("main/dashboard/get-started-modal/get-started-modal.html",''),a.put("main/dashboard/get-started-modal/wizard/wizard-container.html",'
'),a.put("main/dashboard/main/main.html",'

{{vm.name}}

GIT: {{vm.git_repo_url}}

Next Steps

Files States
  • {{step.last_updater && step.last_updater.full_name || step.creator.full_name}}  {{step.last_update_type}}:  {{(step.last_update_time) | date2: \'EEEE MMMM doo yyyy\'}} at {{(step.last_update_time) | date: \'hh:mm\' : timeGapLocal }} {{ampm}} {{mom}}
    {{(step[\'due_date\']) | date2: \'EEEE MMMM doo yyyy\'}}
    Associated Files ({{step.files.length}})

Current Status

Last updated {{(vm.status.update_time) | date2: \'EEEE MMMM doo yyyy\'}} at {{(vm.status.update_time) | date: \'hh:mm\' : timeGapLocal }} {{ampm}} {{mom}} by {{vm.status.creator.full_name}}

{{vm.status.description == undefined && \'No status update has been provided yet.\' || vm.status.description }}

Team Members

Activity Log

'),a.put("main/dashboard/overview/overview.html",'
GIT: {{vm.git_repo_url}} STORAGE BUCKET: {{vm.storage_bucket_url}}

Next Steps

Files States
  • {{step.engagement ? (step.last_updater && step.last_updater.full_name || step.creator.full_name) : "System Next Step"}}  {{step.last_update_type}}:  {{(step.last_update_time) | date2: \'EEEE MMMM doo yyyy\'}} at {{(step.last_update_time) | date: \'hh:mm\' : timeGapLocal }} {{ampm}} {{mom}}
    {{(step[\'due_date\']) | date2: \'EEEE MMMM doo yyyy\'}}
    Associated Files
  • No next steps matching filtered results.

Target Completion

{{vm.completion_date | date:\'shortDate\'}}

Current Status
Team Members
Activity Log
'), +a.put("main/documentation/documentation.html",'

{{vm.pageTitle}}

Updated at {{vm.publishDate | date2: \'EEEE MMMM doo yyyy\'}}
'),a.put("main/documentation/sidebar/documentation.sidebar.html",' '),a.put("main/errors/404.html",' Page Not Found :(

Not found :(

Sorry, but the page you were trying to view does not exist.

It looks like this was the result of either:

  • a mistyped address
  • an out-of-date link
'),a.put("main/modals/archive-engagement-modal/archive-engagement-modal.html",'
'),a.put("main/modals/audit-log/audit-log.html",' '),a.put("main/modals/change-date/change-date.html",'
'),a.put("main/modals/change-progress/change-progress.html",'
'),a.put("main/modals/checklist/checklist.html",' '),a.put("main/modals/checklist/state-approve-or-reject/state-approve-or-reject.html",'
Inserted text should not include any special chars such as: \\%_*."
'),a.put("main/modals/cms-post-modal/cms-post-modal.html",'
Most recent news & announcements
  • {{post.title}}Posted at {{post.publish_date | date2: \'EEEE MMMM doo yyyy\'}} by {{post.user.username}}
'), +a.put("main/modals/detailed-view/dtsite/detailed-view-dtsites-modal.html",'
'),a.put("main/modals/detailed-view/vfc/detailed-view-vfc-modal.html",' '),a.put("main/modals/feedback/feedback.html",' '),a.put("main/modals/general-log-modal/general-log-modal.html",'
'),a.put("main/modals/general-prompt-modal/general-prompt-modal.html",' '),a.put("main/modals/next-steps/next-steps.html",' '),a.put("main/modals/select-el-modal/select-el-modal.html",'
'),a.put("main/modals/set-eng-stage/set_eng_stage_modal.html",'
'),a.put("main/modals/set-eng-stage/set-eng-stage-modal.html",' '),a.put("main/modals/status/status.html",' '), +a.put("main/modals/target-lab-entry/change-lab-entry-date.html",'
'),a.put("main/modals/update-engagement-status-modal/update-engagement-status-modal.html",'
'),a.put("main/modals/validation-details/detailed-view-validation-details-modal.html",' '),a.put("core/layouts/dashboard/dashboard.html",'
'),a.put("core/layouts/full-page-with-header/full-page-with-header.html",'

'),a.put("core/navigation/layouts/account-navigation/navigation.html",'

Profile

  • Account»
  • Settings»
  • Notifications»
'),a.put("core/navigation/layouts/admin-navigation/navigation.html",'

Admin

'),a.put("core/navigation/layouts/documentation-navigation/navigation.html",'

Documentation

'),a.put("core/navigation/layouts/horizontal-navigation/navigation.html",'

Engagements

'), +a.put("core/toolbar/layouts/horizontal-navigation/toolbar.html",'
{{vm.notifications}}
'),a.put("directives/ice-announcement/ice-announcement.html",' '),a.put("directives/ice-loader/ice-loader.html",'
'),a.put("directives/ice-news-and-announcement/ice-news-and-announcement.html",'
News & Announcements

    There are no posts.

  • {{post.title}}

    Posted at {{post.publish_date | date2: \'EEEE MMMM doo yyyy\'}} by {{post.user.username}}

'),a.put("directives/ice-toast/ice-toast.html",' '),a.put("directives/ice-tooltip/ice-tooltip.html",'
Did you know?

{{tipContent.excerpt}}

'),a.put("directives/progress/progress.html",'
Progress {{data.manual_id}}: {{data.name}}
{{progress}} %
Target AIC Version: {{data.aic_version}} ECOMP Release: {{data.ecomp_release}} VNF Version:
Heat Validated:{{data.heat_validated_time | date:\'shortDate\'}}
Image Scan:{{data.image_scan_time | date:\'shortDate\'}}
AIC Instantiation:{{data.aic_instantiation_time | date:\'shortDate\'}}
ASDC Onboarding:{{data.asdc_onboarding_time | date:\'shortDate\'}}
'),a.put("directives/step-stages/step-stages.html",'
{{const.intake}}
{{const.active}}
{{const.validated}}
{{const.completed}}
')}]); diff --git a/vvp/dist/scripts/vendor.79ec8dc5.js b/vvp/dist/scripts/vendor.79ec8dc5.js new file mode 100644 index 00000000..1d16621f --- /dev/null +++ b/vvp/dist/scripts/vendor.79ec8dc5.js @@ -0,0 +1,51 @@ +if(function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){function c(a){var b="length"in a&&a.length,c=_.type(a);return"function"===c||_.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}function d(a,b,c){if(_.isFunction(b))return _.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return _.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(ha.test(b))return _.filter(b,a,c);b=_.filter(b,a)}return _.grep(a,function(a){return U.call(b,a)>=0!==c})}function e(a,b){for(;(a=a[b])&&1!==a.nodeType;);return a}function f(a){var b=oa[a]={};return _.each(a.match(na)||[],function(a,c){b[c]=!0}),b}function g(){Z.removeEventListener("DOMContentLoaded",g,!1),a.removeEventListener("load",g,!1),_.ready()}function h(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=_.expando+h.uid++}function i(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(ua,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:ta.test(c)?_.parseJSON(c):c}catch(e){}sa.set(a,b,c)}else c=void 0;return c}function j(){return!0}function k(){return!1}function l(){try{return Z.activeElement}catch(a){}}function m(a,b){return _.nodeName(a,"table")&&_.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function n(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function o(a){var b=Ka.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function p(a,b){for(var c=0,d=a.length;d>c;c++)ra.set(a[c],"globalEval",!b||ra.get(b[c],"globalEval"))}function q(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(ra.hasData(a)&&(f=ra.access(a),g=ra.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)_.event.add(b,e,j[e][c])}sa.hasData(a)&&(h=sa.access(a),i=_.extend({},h),sa.set(b,i))}}function r(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&_.nodeName(a,b)?_.merge([a],c):c}function s(a,b){var c=b.nodeName.toLowerCase();"input"===c&&ya.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}function t(b,c){var d,e=_(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:_.css(e[0],"display");return e.detach(),f}function u(a){var b=Z,c=Oa[a];return c||(c=t(a,b),"none"!==c&&c||(Na=(Na||_("