diff options
author | Pamela Dragosh <pdragosh@research.att.com> | 2017-02-14 19:41:00 -0500 |
---|---|---|
committer | Pamela Dragosh <pdragosh@research.att.com> | 2017-02-14 19:41:32 -0500 |
commit | 91d04c64771832a0b8815ffbe1f0f9920320d94d (patch) | |
tree | fb02d5e1c84a3d91def9a7ee95bc87f9c046cc96 /ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/src/templates | |
parent | b9d4caa40ef8e3566ac475968bce17b9b64b6939 (diff) |
Initial OpenECOMP policy/engine commit
Change-Id: I7dbff37733b661643dd4d1caefa3d7dccc361b6e
Signed-off-by: Pamela Dragosh <pdragosh@research.att.com>
Diffstat (limited to 'ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/src/templates')
11 files changed, 975 insertions, 0 deletions
diff --git a/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/src/templates/current-folder-breadcrumb.html b/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/src/templates/current-folder-breadcrumb.html new file mode 100644 index 000000000..b2ea4e8cd --- /dev/null +++ b/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/src/templates/current-folder-breadcrumb.html @@ -0,0 +1,34 @@ +<!-- + ============LICENSE_START======================================================= + ECOMP Policy Engine + ================================================================================ + Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + ================================================================================ + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + ============LICENSE_END========================================================= + --> + +<ol class="breadcrumb mb0"> + <li> + <a href="" ng-click="fileNavigator.goTo(-1)"> + <i class="glyphicon glyphicon-folder-open mr2"></i> + </a> + </li> + <li ng-repeat="(key, dir) in fileNavigator.currentPath track by key" ng-class="{'active':$last}" class="animated fast fadeIn"> + <a href="" ng-show="!$last" ng-click="fileNavigator.goTo(key)"> + <i class="glyphicon glyphicon-folder-open mr2"></i> {{dir}} + </a> + <span ng-show="$last"><i class="glyphicon glyphicon-folder-open mr2"></i> {{dir}}</span> + </li> + <li><button class="btn btn-primary btn-xs" ng-click="fileNavigator.upDir()">↵</button></li> +</ol>
\ No newline at end of file diff --git a/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/src/templates/item-context-menu.html b/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/src/templates/item-context-menu.html new file mode 100644 index 000000000..1e93cf0a6 --- /dev/null +++ b/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/src/templates/item-context-menu.html @@ -0,0 +1,102 @@ +<!-- + ============LICENSE_START======================================================= + ECOMP Policy Engine + ================================================================================ + Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + ================================================================================ + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + ============LICENSE_END========================================================= + --> + +<div id="context-menu" class="dropdown clearfix animated fast fadeIn"> + <ul class="dropdown-menu dropdown-right-click" ng-hide="isDisabled" role="menu" aria-labelledby="dropdownMenu" style=""> + + <li ng-show="temp.isFolder()"> + <a href="" tabindex="-1" data-toggle="modal" data-target="#addSubScope" ng-show="createScopeId" ng-click="temp.getScopeContent();"> + <i class="glyphicon glyphicon-plus"></i>Add Sub Scope + </a> + </li> + <li ng-show="config.allowedActions.createNewPolicy && temp.isFolder()"> + <a href="" tabindex="-1" data-toggle="modal" data-target="#createNewPolicy" ng-show="createPolicyId"> + <i class="glyphicon glyphicon-plus"></i>Create Policy + </a> + </li> + <li ng-show="config.allowedActions.describePolicy && !temp.isFolder()"> + <a href="" tabindex="-1" data-toggle="modal" data-target="#describePolicy" ng-show="describePolicyId" ng-click="temp.getDescribePolicyContent();"> + <i class="glyphicon glyphicon-picture"></i>Describe Policy + </a> + </li> + <li ng-show="config.allowedActions.viewPolicy && !temp.isFolder()"> + <a href="" tabindex="-1" data-toggle="modal" data-target="#createNewPolicy" ng-show="viewPolicyId" ng-click="temp.getViewPolicyContent();"> + <i class="glyphicon glyphicon-picture"></i> View Policy + </a> + </li> + <li ng-show="config.allowedActions.rename && !temp.isFolder()"> + <a href="" tabindex="-1" data-toggle="modal" data-target="#rename" ng-show="renameId"> + <i class="glyphicon glyphicon-edit"></i> Rename Policy + </a> + </li> + <li ng-show="config.allowedActions.rename && temp.isFolder()"> + <a href="" tabindex="-1" data-toggle="modal" data-target="#move" ng-show="renameId"> + <i class="glyphicon glyphicon-edit"></i> Move Scope + </a> + </li> + <li ng-show="config.allowedActions.rename && !temp.isFolder()"> + <a href="" tabindex="-1" data-toggle="modal" data-target="#move" ng-show="renameId"> + <i class="glyphicon glyphicon-edit"></i> Move Policy + </a> + </li> + <li ng-show="config.allowedActions.rename && temp.isFolder()" > + <a href="" tabindex="-1" data-toggle="modal" data-target="#rename" ng-show="renameId"> + <i class="glyphicon glyphicon-edit"></i> Rename Scope + </a> + </li> + <li ng-show="config.allowedActions.copy && !temp.isFolder()"> + <a href="" tabindex="-1" data-toggle="modal" data-target="#copy" ng-show="cloneId"> + <i class="glyphicon glyphicon-log-out"></i> Clone policy + </a> + </li> + <li ng-show="config.allowedActions.edit && !temp.isFolder()"> + <a href="" tabindex="-1" data-toggle="modal" data-target="#createNewPolicy" ng-show="editPolicyId" ng-click="temp.getContent();"> + <i class="glyphicon glyphicon-pencil"></i> Edit Policy + </a> + </li> + <li ng-show="config.allowedActions.switchVersion && !temp.isFolder()"> + <a href="" tabindex="-1" data-toggle="modal" data-target="#switchVersion" ng-show="switchVersionId" ng-click="temp.getSwitchVersionContent();"> + <i class="glyphicon glyphicon-pencil"></i> Switch Version + </a> + </li> + <li ng-show="config.allowedActions.removePolicy && !temp.isFolder()"> + <a href="" tabindex="-1" data-toggle="modal" data-target="#deletePolicy" ng-show="deletePolicyId"> + <i class="glyphicon glyphicon-trash"></i> Delete Policy + </a> + </li> + <li ng-show="config.allowedActions.remove && temp.isFolder()"> + <a href="" tabindex="-1" data-toggle="modal" data-target="#delete" ng-show="deleteScopeId"> + <i class="glyphicon glyphicon-trash"></i> Delete Scope + </a> + </li> + </ul> + <ul class="dropdown-menu dropdown-right-click" ng-show="isDisabled" role="menu" aria-labelledby="dropdownMenu" style=""> + <li ng-show="config.allowedActions.describePolicy && !temp.isFolder()"> + <a href="" tabindex="-1" data-toggle="modal" data-target="#describePolicy" ng-show="describePolicyId" ng-click="temp.getDescribePolicyContent();"> + <i class="glyphicon glyphicon-picture"></i>Describe Policy + </a> + </li> + <li ng-show="config.allowedActions.viewPolicy && !temp.isFolder()"> + <a href="" tabindex="-1" data-toggle="modal" data-target="#createNewPolicy" ng-show="viewPolicyId" ng-click="temp.getViewPolicyContent();"> + <i class="glyphicon glyphicon-picture"></i> View Policy + </a> + </li> + </ul> +</div>
\ No newline at end of file diff --git a/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/src/templates/item-toolbar.html b/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/src/templates/item-toolbar.html new file mode 100644 index 000000000..1b767e3a2 --- /dev/null +++ b/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/src/templates/item-toolbar.html @@ -0,0 +1,25 @@ +<!-- + ============LICENSE_START======================================================= + ECOMP Policy Engine + ================================================================================ + Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + ================================================================================ + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + ============LICENSE_END========================================================= + --> + +<div ng-show="!item.inprocess"> + <button class="btn btn-sm btn-default" data-toggle="modal" data-target="#watch" ng-click="watch(item)" title="Watch"> + <i class="glyphicon glyphicon-eye-open"></i> + </button> +</div>
\ No newline at end of file diff --git a/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/src/templates/main-icons.html b/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/src/templates/main-icons.html new file mode 100644 index 000000000..8487d4838 --- /dev/null +++ b/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/src/templates/main-icons.html @@ -0,0 +1,43 @@ +<!-- + ============LICENSE_START======================================================= + ECOMP Policy Engine + ================================================================================ + Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + ================================================================================ + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + ============LICENSE_END========================================================= + --> + +<div class="iconset clearfix"> + <div class="col-120" ng-repeat="item in fileNavigator.fileList | filter: query | orderBy: orderProp" ng-show="!fileNavigator.requesting && !fileNavigator.error"> + <a href="" class="thumbnail text-center" ng-click="smartClick(item)" ng-right-click="touch(item)" title="{{item.model.name}} ({{item.model.sizeKb()}}kb)"> + <div class="item-icon"> + <i class="glyphicon glyphicon-folder-open" ng-show="item.model.type === 'dir'"></i> + <i class="glyphicon glyphicon-file" ng-show="item.model.type === 'file'"></i> + </div> + {{item.model.name | strLimit : 11 }} + </a> + </div> + + <div ng-show="fileNavigator.requesting"> + <div ng-include="config.tplPath + '/spinner.html'"></div> + </div> + + <div class="alert alert-warning" ng-show="!fileNavigator.requesting && fileNavigator.fileList.length < 1 && !fileNavigator.error"> + {{"no_files_in_folder" | translate}}... + </div> + + <div class="alert alert-danger" ng-show="!fileNavigator.requesting && fileNavigator.error"> + {{ fileNavigator.error }} + </div> +</div>
\ No newline at end of file diff --git a/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/src/templates/main-table-modal.html b/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/src/templates/main-table-modal.html new file mode 100644 index 000000000..12b2cf048 --- /dev/null +++ b/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/src/templates/main-table-modal.html @@ -0,0 +1,66 @@ +<!-- + ============LICENSE_START======================================================= + ECOMP Policy Engine + ================================================================================ + Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + ================================================================================ + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + ============LICENSE_END========================================================= + --> + +<table class="table table-condensed table-modal-condensed mb0"> + <thead> + <tr> + <th> + <a href="" ng-click="order('model.name')"> + {{"name" | translate}} + <span class="sortorder" ng-show="predicate[1] === 'model.name'" ng-class="{reverse:reverse}"></span> + </a> + </th> + <th class="text-right"></th> + </tr> + </thead> + <tbody class="file-item"> + <tr ng-show="fileNavigator.requesting"> + <td colspan="2"> + <div ng-include="config.tplPath + '/spinner.html'"></div> + </td> + </tr> + <tr ng-show="!fileNavigator.requesting && !fileNavigator.listHasFolders() && !fileNavigator.error"> + <td colspan="2"> + {{"no_folders_in_folder" | translate}}... + </td> + <td class="text-right"> + <button class="btn btn-sm btn-default" ng-click="fileNavigator.upDir()">{{"go_back" | translate}}</button> + </td> + </tr> + <tr ng-show="!fileNavigator.requesting && fileNavigator.error"> + <td colspan="2"> + {{ fileNavigator.error }} + </td> + </tr> + <tr ng-repeat="item in fileNavigator.fileList | orderBy:predicate:reverse" ng-show="!fileNavigator.requesting && item.model.type === 'dir'"> + <td> + <a href="" ng-click="fileNavigator.folderClick(item)" title="{{item.model.name}} ({{item.model.sizeKb()}}kb)"> + <i class="glyphicon glyphicon-folder-close"></i> + {{item.model.name | strLimit : 32}} + </a> + </td> + <td class="text-right"> + <button class="btn btn-sm btn-default" ng-click="select(item, temp)"> + <i class="glyphicon glyphicon-hand-up"></i> {{"select_this" | translate}} + </button> + </td> + </tr> + </tbody> +</table>
\ No newline at end of file diff --git a/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/src/templates/main-table.html b/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/src/templates/main-table.html new file mode 100644 index 000000000..6a576f2fb --- /dev/null +++ b/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/src/templates/main-table.html @@ -0,0 +1,100 @@ +<!-- + ============LICENSE_START======================================================= + ECOMP Policy Engine + ================================================================================ + Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + ================================================================================ + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + ============LICENSE_END========================================================= + --> + +<table class="table mb0 table-files"> + <thead> + <tr> + <th> + <a href="" ng-click="order('model.name')"> + {{"name" | translate}} + <span class="sortorder" ng-show="predicate[1] === 'model.name'" ng-class="{reverse:reverse}"></span> + </a> + </th> + <th class="hidden-sm hidden-xs"> + <a href="" ng-click="order('model.version')"> + Version + <span class="sortorder" ng-show="predicate[1] === 'model.version'" ng-class="{reverse:reverse}"></span> + </a> + </th> + <th class="hidden-sm hidden-xs"> + <a href="" ng-click="order('model.date')"> + {{"date" | translate}} + <span class="sortorder" ng-show="predicate[1] === 'model.date'" ng-class="{reverse:reverse}"></span> + </a> + </th> + <th class="hidden-sm hidden-xs"> + <a href="" ng-click="order('model.createdBy')"> + Created By + <span class="sortorder" ng-show="predicate[1] === 'model.createdBy'" ng-class="{reverse:reverse}"></span> + </a> + </th> + <th class="hidden-sm hidden-xs"> + <a href="" ng-click="order('model.modifiedBy')"> + Modified By + <span class="sortorder" ng-show="predicate[1] === 'model.modifiedBy'" ng-class="{reverse:reverse}"></span> + </a> + </th> + <th class="hidden-sm hidden-xs"> + <a href="">Watch Policy <span ng-class="{reverse:reverse}"></span></a> + </th> + </tr> + </thead> + <tbody class="file-item"> + <tr ng-show="fileNavigator.requesting"> + <td colspan="5"> + <div ng-include="config.tplPath + '/spinner.html'"></div> + </td> + </tr> + <tr ng-show="!fileNavigator.requesting && fileNavigator.fileList.length < 1 && !fileNavigator.error"> + <td colspan="5"> + {{"no_files_in_folder" | translate}}... + </td> + </tr> + <tr ng-show="!fileNavigator.requesting && fileNavigator.error"> + <td colspan="5"> + {{ fileNavigator.error }} + </td> + </tr> + <tr ng-repeat="item in fileNavigator.fileList | filter: {model:{name: query}} | orderBy:predicate:reverse" ng-show="!fileNavigator.requesting"> + <td ng-right-click="touch(item)"> + <a href="" ng-click="smartClick(item)" title="{{item.model.name}} ({{item.model.sizeKb()}}kb)"> + <i class="glyphicon glyphicon-folder-close" ng-show="item.model.type === 'dir'"></i> + <i class="glyphicon glyphicon-file" ng-show="item.model.type === 'file'"></i> + {{item.model.name | strLimit : 64}} + </a> + </td> + <td class="hidden-xs"> + {{item.model.version}} + </td> + <td class="hidden-sm hidden-xs"> + {{item.model.date | formatDate }} + </td> + <td class="hidden-sm hidden-xs"> + {{item.model.createdBy}} + </td> + <td class="hidden-sm hidden-xs"> + {{item.model.modifiedBy}} + </td> + <td class="hidden-sm hidden-xs"> + <div ng-include="config.tplPath + '/item-toolbar.html'"></div> + </td> + </tr> + </tbody> +</table>
\ No newline at end of file diff --git a/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/src/templates/main.html b/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/src/templates/main.html new file mode 100644 index 000000000..6db7c8423 --- /dev/null +++ b/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/src/templates/main.html @@ -0,0 +1,34 @@ +<!-- + ============LICENSE_START======================================================= + ECOMP Policy Engine + ================================================================================ + Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + ================================================================================ + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + ============LICENSE_END========================================================= + --> + +<div ng-app> + <div ng-include="config.tplPath + '/navbar.html'"></div> + <div class="container-fluid"> + <div class="row"> + <div ng-include="config.tplPath + '/current-folder-breadcrumb.html'" ng-show="config.breadcrumb"></div> + <div ng-include="config.tplPath + '/' + viewTemplate" class="main-navigation clearfix"></div> + </div> + </div> + <div ng-include="config.tplPath + '/modals.html'"></div> + <div ng-include="config.tplPath + '/item-context-menu.html'"></div> + <div ng-include="'app/policyApp/policy-models/Editor/PolicyTemplates/PolicyTypeTemplate.html'"></div> + <div ng-include="'app/policyApp/policy-models/Editor/PolicyTemplates/DescribePolicyTemplate.html'"></div> + <div ng-include="'app/policyApp/policy-models/Editor/PolicyTemplates/ExportPolicyTemplate.html'"></div> +</div>
\ No newline at end of file diff --git a/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/src/templates/modals.html b/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/src/templates/modals.html new file mode 100644 index 000000000..0adb1c407 --- /dev/null +++ b/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/src/templates/modals.html @@ -0,0 +1,385 @@ +<!-- + ============LICENSE_START======================================================= + ECOMP Policy Engine + ================================================================================ + Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + ================================================================================ + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + ============LICENSE_END========================================================= + --> + +<div class="modal animated fadeIn" id="imagepreview" data-toggle="modal" data-backdrop="static" data-keyboard="false"> + <div class="modal-dialog"> + <div class="modal-content"> + <form ng-submit="remove(temp)"> + <div class="modal-header"> + <button type="button" class="close" data-dismiss="modal"> + <span aria-hidden="true">×</span> + <span class="sr-only">{{"close" | translate}}</span> + </button> + <h4 class="modal-title">{{"preview" | translate}}</h4> + </div> + <div class="modal-body" ng-show="temp.getUrl().length > 10"> + <div class="text-center"> + <img id="imagepreview-target" class="preview" alt="{{temp.model.name}}" ng-class="{'loading': temp.inprocess}"> + <span class="label label-warning" ng-show="temp.inprocess">{{'loading' | translate}} ...</span> + </div> + <div ng-include data-src="'error-bar'" class="clearfix"></div> + </div> + <div class="modal-footer"> + <button type="button" class="btn btn-default" data-dismiss="modal" ng-disabled="temp.inprocess">{{"close" | translate}}</button> + </div> + </form> + </div> + </div> +</div> + + + +<div class="modal animated fadeIn" id="delete" data-toggle="modal" data-backdrop="static" data-keyboard="false"> + <div class="modal-dialog"> + <div class="modal-content"> + <form ng-submit="remove(temp)"> + <div class="modal-header"> + <button type="button" class="close" data-dismiss="modal"> + <span aria-hidden="true">×</span> + <span class="sr-only">{{"close" | translate}}</span> + </button> + <h4 class="modal-title">{{"confirm" | translate}}</h4> + </div> + <div class="modal-body"> + {{'sure_to_delete' | translate}} <b>{{temp.model.name}}</b> ? + <div ng-include data-src="'error-bar'" class="clearfix"></div> + </div> + <div class="modal-footer"> + <button type="button" class="btn btn-default" data-dismiss="modal" ng-disabled="temp.inprocess">{{"cancel" | translate}}</button> + <button type="submit" class="btn btn-primary" ng-disabled="temp.inprocess" autofocus="autofocus">{{"remove" | translate}}</button> + </div> + </form> + </div> + </div> +</div> + +<div class="modal animated fadeIn" id="deletePolicy" data-toggle="modal" data-backdrop="static" data-keyboard="false"> + <div class="modal-dialog"> + <div class="modal-content"> + <form ng-submit="removePolicy(temp)"> + <div class="modal-header"> + <button type="button" class="close" data-dismiss="modal"> + <span aria-hidden="true">×</span> + <span class="sr-only">{{"close" | translate}}</span> + </button> + <h4 class="modal-title">{{"confirm" | translate}}</h4> + </div> + <div class="modal-body">{{'sure_to_delete' | translate}} <b>{{temp.model.name}}</b> ? + <div> + <p> + <input type = "radio" ng-model ="temp.model.versions" name = "radSize" id = "sizeSmall" value = "CURRENT" checked = "checked" /><label for = "sizeSmall">Are you sure you want to delete Current Version of Policy</label> + </br> + <input type = "radio" ng-model ="temp.model.versions" name = "radSize" id = "sizeMed" value = "ALL" /><label for = "sizeMed">Are you sure you want to delete All Versions of Policy</label> + </p> + </div> + <div ng-include data-src="'error-bar'" class="clearfix"></div> + </div> + <div class="modal-footer"> + <button type="button" class="btn btn-default" data-dismiss="modal" ng-disabled="temp.inprocess">{{"cancel" | translate}}</button> + <button type="submit" class="btn btn-primary" ng-disabled="temp.inprocess" autofocus="autofocus">{{"remove" | translate}}</button> + </div> + </form> + </div> + </div> +</div> + +<div class="modal animated fadeIn" id="rename" data-toggle="modal" data-backdrop="static" data-keyboard="false"> + <div class="modal-dialog"> + <div class="modal-content"> + <form ng-submit="rename(temp)"> + <div class="modal-header"> + <button type="button" class="close" data-dismiss="modal"> + <span aria-hidden="true">×</span> + <span class="sr-only">{{"close" | translate}}</span> + </button> + <h4 class="modal-title">Rename</h4> + </div> + <div class="modal-body"> + <label class="radio">{{'enter_new_name_for' | translate}} <b>{{temp.model.name}}</b></label> + <input class="form-control" ng-model="temp.tempModel.name" autofocus="autofocus"> + + <!-- <div ng-include data-src="'path-selector'" class="clearfix"></div> --> + <div ng-include data-src="'error-bar'" class="clearfix"></div> + </div> + <div class="modal-footer"> + <button type="button" class="btn btn-default" data-dismiss="modal" ng-disabled="temp.inprocess">{{"cancel" | translate}}</button> + <button type="submit" class="btn btn-primary" ng-disabled="temp.inprocess">{{'rename' | translate}}</button> + </div> + </form> + </div> + </div> +</div> + +<div class="modal animated fadeIn" id="searchWindow" data-toggle="modal" data-backdrop="static" data-keyboard="false"> + <div class="modal-dialog"> + <div class="modal-content"> + <form> + <div class="modal-header"> + <button type="button" class="close" data-dismiss="modal"> + <span aria-hidden="true">×</span> + <span class="sr-only">{{"close" | translate}}</span> + </button> + <h4 class="modal-title">List of Policies</h4> + </div> + <div class="modal-body"> + <div ng-include data-src="'error-bar'" class="clearfix"></div> + </div> + <div class="modal-footer"> + <button type="button" class="btn btn-default" data-dismiss="modal" ng-disabled="temp.inprocess">{{"cancel" | translate}}</button> + </div> + </form> + </div> + </div> +</div> + +<div class="modal animated fadeIn" id="move" data-toggle="modal" data-backdrop="static" data-keyboard="false"> + <div class="modal-dialog"> + <div class="modal-content"> + <form ng-submit="move(temp)"> + <div class="modal-header"> + <button type="button" class="close" data-dismiss="modal"> + <span aria-hidden="true">×</span> + <span class="sr-only">{{"close" | translate}}</span> + </button> + <h4 class="modal-title">Move Policy</h4> + </div> + <div class="modal-body"> + <div ng-include data-src="'path-selector'" class="clearfix"></div> + <div ng-include data-src="'error-bar'" class="clearfix"></div> + </div> + <div class="modal-footer"> + <button type="button" class="btn btn-default" data-dismiss="modal" ng-disabled="temp.inprocess">{{"cancel" | translate}}</button> + <button type="submit" class="btn btn-primary" ng-disabled="temp.inprocess">Move</button> + </div> + </form> + </div> + </div> +</div> + +<div class="modal animated fadeIn" id="switchVersion" data-toggle="modal" data-backdrop="static" data-keyboard="false"> + <div class="modal-dialog"> + <div class="modal-content"> + <form ng-submit="switchVersion(temp)"> + <div class="modal-header"> + <button type="button" class="close" data-dismiss="modal"> + <span aria-hidden="true">×</span> + <span class="sr-only">{{"close" | translate}}</span> + </button> + <h4 class="modal-title">Switch Version</h4> + </div> + <div class="modal-body"> + <label class="radio">Highest Version <b></b></label> + <input class="form-control" ng-disabled="true" ng-model="temp.tempModel.content.highestVersion" autofocus="autofocus"> + </div> + <div class="modal-body"> + <label class="radio">Active Version <b></b></label> + <select class="form-control" ng-model="temp.tempModel.content.activeVersion" ng-options="option for option in temp.tempModel.content.availableVersions" autofocus="autofocus"></select> + <div ng-include data-src="'error-bar'" class="clearfix"></div> + </div> + <div class="modal-footer"> + <button type="button" class="btn btn-default" data-dismiss="modal" ng-disabled="temp.inprocess">{{"cancel" | translate}}</button> + <button type="submit" class="btn btn-primary" ng-disabled="temp.inprocess">Save</button> + </div> + </form> + </div> + </div> +</div> + +<div class="modal animated fadeIn" id="copy" data-toggle="modal" data-backdrop="static" data-keyboard="false"> + <div class="modal-dialog"> + <div class="modal-content"> + <form ng-submit="copy(temp)"> + <div class="modal-header"> + <button type="button" class="close" data-dismiss="modal"> + <span aria-hidden="true">×</span> + <span class="sr-only">{{"close" | translate}}</span> + </button> + <h4 class="modal-title">Clone Policy</h4> + </div> + <div class="modal-body"> + <label class="radio">{{'enter_new_name_for' | translate}} <b>{{temp.model.name}}</b></label> + <input class="form-control" ng-model="temp.tempModel.name" autofocus="autofocus"> + + <!-- <div ng-include data-src="'path-selector'" class="clearfix"></div> --> + <div ng-include data-src="'error-bar'" class="clearfix"></div> + </div> + <div class="modal-footer"> + <button type="button" class="btn btn-default" data-dismiss="modal" ng-disabled="temp.inprocess">{{"cancel" | translate}}</button> + <button type="submit" class="btn btn-primary" ng-disabled="temp.inprocess">Clone</button> + </div> + </form> + </div> + </div> +</div> + + +<div class="modal animated fadeIn" id="edit" ng-class="{'modal-fullscreen': fullscreen}" data-toggle="modal" data-backdrop="static" data-keyboard="false"> + <div class="modal-dialog modal-lg"> + <div class="modal-content"> + <form ng-submit="edit(temp)"> + <div class="modal-header"> + <button type="button" class="close" data-dismiss="modal"> + <span aria-hidden="true">×</span> + <span class="sr-only">{{"close" | translate}}</span> + </button> + <button type="button" class="close mr5" ng-click="fullscreen=!fullscreen"> + <span>◊</span> + <span class="sr-only">{{'toggle_fullscreen' | translate}}</span> + </button> + <h4 class="modal-title">{{'edit_file' | translate}}</h4> + </div> + <div class="modal-body"> + <label class="radio">{{'file_content' | translate}}</label> + <span class="label label-warning" ng-show="temp.inprocess">{{'loading' | translate}} ...</span> + <textarea class="form-control code" ng-model="temp.tempModel.content" ng-show="!temp.inprocess" autofocus="autofocus"></textarea> + <div ng-include data-src="'error-bar'" class="clearfix"></div> + </div> + <div class="modal-footer"> + <button type="button" class="btn btn-default" data-dismiss="modal" ng-disabled="temp.inprocess">{{'close' | translate}}</button> + <button type="submit" class="btn btn-primary" ng-show="config.allowedActions.edit" ng-disabled="temp.inprocess">{{'edit' | translate}}</button> + </div> + </form> + </div> + </div> +</div> + +<div class="modal animated fadeIn" id="newfolder" data-toggle="modal" data-backdrop="static" data-keyboard="false"> + <div class="modal-dialog"> + <div class="modal-content"> + <form ng-submit="createFolder(temp)"> + <div class="modal-header"> + <button type="button" class="close" data-dismiss="modal"> + <span aria-hidden="true">×</span> + <span class="sr-only">{{"close" | translate}}</span> + </button> + <h4 class="modal-title">Add Scope</h4> + </div> + <div class="modal-body"> + <label class="radio">Scope Name</label> + <input class="form-control" ng-model="temp.tempModel.name" autofocus="autofocus"> + <div ng-include data-src="'error-bar'" class="clearfix"></div> + </div> + <div class="modal-footer"> + <button id = "cancel" type="button" class="btn btn-default" data-dismiss="modal" ng-disabled="temp.inprocess">{{"cancel" | translate}}</button> + <button type="submit" class="btn btn-primary" ng-disabled="temp.inprocess">{{'create' | translate}}</button> + </div> + </form> + </div> + </div> +</div> + +<div class="modal animated fadeIn" id="addSubScope" data-toggle="modal" data-backdrop="static" data-keyboard="false"> + <div class="modal-dialog"> + <div class="modal-content"> + <form ng-submit="subScopeFolder(temp)"> + <div class="modal-header"> + <button type="button" class="close" data-dismiss="modal"> + <span aria-hidden="true">×</span> + <span class="sr-only">{{"close" | translate}}</span> + </button> + <h4 class="modal-title">Add Sub Scope</h4> + </div> + <div class="modal-body"> + <label class="radio">Scope Name</label> + <input class="form-control" ng-model="temp.tempModel.subScopename" autofocus="autofocus"> + <!-- <div ng-include data-src="'error-bar'" class="clearfix"></div> --> + </div> + <div class="modal-footer"> + <button type="button" class="btn btn-default" data-dismiss="modal" ng-disabled="temp.inprocess">{{"cancel" | translate}}</button> + <button type="submit" class="btn btn-primary" ng-disabled="temp.inprocess">{{'create' | translate}}</button> + </div> + </form> + </div> + </div> +</div> + +<div class="modal animated fadeIn" id="uploadfile" data-toggle="modal" data-backdrop="static" data-keyboard="false"> + <div class="modal-dialog"> + <div class="modal-content"> + <form ng-submit="uploadFiles()"> + <div class="modal-header"> + <button type="button" class="close" data-dismiss="modal"> + <span aria-hidden="true">×</span> + <span class="sr-only">{{"close" | translate}}</span> + </button> + <h4 class="modal-title">{{"upload_file" | translate}}</h4> + </div> + <div class="modal-body"> + <label class="radio">{{"files_will_uploaded_to" | translate}}</label> + <input type="file" class="form-control" ng-file="$parent.uploadFileList" autofocus="autofocus" multiple="multiple"/> + <div ng-include data-src="'error-bar'" class="clearfix"></div> + </div> + <div class="modal-footer"> + <div ng-show="!fileUploader.requesting"> + <button type="button" class="btn btn-default" data-dismiss="modal">{{"cancel" | translate}}</button> + <button type="submit" class="btn btn-primary" ng-disabled="!uploadFileList.length || fileUploader.requesting">{{'upload' | translate}}</button> + </div> + <div ng-show="fileUploader.requesting"> + <span class="label label-warning">{{"uploading" | translate}} ...</span> + </div> + </div> + </form> + </div> + </div> +</div> + +<div class="modal animated fadeIn" id="selector" ng-controller="ModalFileManagerCtrl"> + <div class="modal-dialog"> + <div class="modal-content"> + <div class="modal-header"> + <button type="button" class="close" data-dismiss="modal"> + <span aria-hidden="true">×</span> + <span class="sr-only">{{"close" | translate}}</span> + </button> + <h4 class="modal-title">{{"select_destination_folder" | translate}}</h4> + </div> + <div class="modal-body"> + <div> + <div ng-include="config.tplPath + '/current-folder-breadcrumb.html'"></div> + <div ng-include="config.tplPath + '/main-table-modal.html'"></div> + </div> + </div> + <div class="modal-footer"> + <button type="button" class="btn btn-default" data-dismiss="modal" ng-disabled="temp.inprocess">{{"close" | translate}}</button> + </div> + </div> + </div> +</div> + +<script type="text/ng-template" id="path-selector"> + <div class="panel panel-primary mt10 mb0"> + <div class="panel-body"> + <div class="detail-sources"> + <code class="mr5"><b>{{"source" | translate}}:</b> {{temp.model.fullPath()}}</code> + </div> + <div class="detail-sources"> + <code class="mr5"><b>{{"destination" | translate}}:</b>{{temp.tempModel.fullPath()}}</code> + <a href="" class="label label-primary" ng-click="openNavigator(temp)">{{'change' | translate}}</a> + </div> + </div> + </div> +</script> + +<script type="text/ng-template" id="error-bar"> + <div class="label label-danger error-msg pull-left animated fadeIn" ng-show="temp.error"> + <i class="glyphicon glyphicon-remove-circle"></i> + <span>{{temp.error}}</span> + </div> +</script>
\ No newline at end of file diff --git a/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/src/templates/navbar.html b/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/src/templates/navbar.html new file mode 100644 index 000000000..9bd272819 --- /dev/null +++ b/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/src/templates/navbar.html @@ -0,0 +1,127 @@ +<!-- + ============LICENSE_START======================================================= + ECOMP Policy Engine + ================================================================================ + Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + ================================================================================ + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + ============LICENSE_END========================================================= + --> + + <div class="container-fluid"> + <div class="navbar-header"> + <a class="heading1" href="" ng-click="fileNavigator.goTo(-1)">{{config.appName}}</a> + <div ng-show ="isDisabled" class="ion-locked" style="clear: left; float: left"> + </div> + </div> + <div id="navbar" class="navbar-collapse collapse"> + <div class="navbar-form navbar-right" ng-hide="isDisabled"> + <button class="btn btn-default btn-sm" ng-show="superAdminId" data-toggle="modal" data-target="#newfolder" ng-click="touch()"> + <i class="glyphicon glyphicon-plus"></i> {{"create_folder" | translate}} + </button> + <button class="btn btn-default btn-sm" ng-show="importPolicyId" data-toggle="modal" data-target="#uploadfile" ng-show="config.allowedActions.upload" ng-click="touch()"> + <i class="glyphicon glyphicon-upload"></i> {{"upload_file" | translate}} + </button> + <button class="btn btn-default btn-sm" ng-show="exportPolicyId" data-toggle="modal" data-target="#exportPolicy" ng-show="config.allowedActions.exportPolicy"> + <i class="glyphicon glyphicon-download"></i> Export + </button> + <button type="button" class="btn btn-info" data-toggle="collapse" data-target="#demo">Search</button> + </div> + </div> + <div id="demo" class="collapse"> + <div class="navbar-form navbar-left"> + <input type="text" class="form-control input-lg" ng-disabled="isDisabled" style = "width:900px" placeholder="{{'search'}}..." ng-model="search.query"/> + <button type="button" class="btn btn-info" ng-click= "Search(search);"><span class="glyphicon glyphicon-search"></span> Search</button> + <button class="btn btn-default btn-sm" ng-click="search.query = null">Clear Search </button> + </div> + <br> + <div class="fn-ebz-container"> + <div class="fn-ebz-container"> + <label class="fn-ebz-text-label">Policy Type:</label><BR> + <select class="form-field" ng-model="search.policyType"> + <option>action</option> + <option>config</option> + <option>closedLoop</option> + <option>decision</option> + <option>all</option> + </select> + </div> + <div class="fn-ebz-container"> + <label class="fn-ebz-text-label">Descriptive Type:</label><BR> + <select class="form-field" ng-model="search.descriptiveScope" ng-options="option for option in descriptiveScopeDictionaryDatas track by option"></select> + </div> + <div class="fn-ebz-container" ng-if="search.policyType == 'closedLoop'"> + <div class="fn-ebz-container"> + <label class="fn-ebz-text-label">ClosedLoop Policy Type:</label><BR> + <select class="form-field" ng-model="search.closedLooppolicyType"> + <option>Config_Fault</option> + <option>Config_PM</option> + </select> + </div> + <div class="fn-ebz-container"> + <label class="fn-ebz-text-label">Ecomp Name:</label><BR> + <select class="form-field" ng-model="search.ecompName" ng-options="option for option in ecompNameDictionaryDatas track by option"></select> + </div> + <div class="fn-ebz-container"> + <label class="fn-ebz-text-label">D2 Service:</label><BR> + <select class="form-field" ng-model="search.d2Service"> + <option>Hosted Voice(Trinity)</option> + <option>vUSP</option> + <option>MCR</option> + <option>Gamma</option> + <option>vDNS</option> + </select> + </div> + <div class="fn-ebz-container" ng-if="search.closedLooppolicyType == 'Config_Fault'"> + <label class="fn-ebz-text-label">VNF Type:</label><BR> + <select class="form-field" ng-model="search.vnfType" ng-options="option for option in vnfTypeDictionaryDatas track by option"></select> + </div> + <div class="fn-ebz-container" ng-if="search.closedLooppolicyType == 'Config_Fault'"> + <label class="fn-ebz-text-label">Policy Status:</label><BR> + <select class="form-field" ng-model="search.policyStatus"> + <option>Active</option> + <option>InActive</option> + </select> + </div> + <div class="fn-ebz-container" ng-if="search.closedLooppolicyType == 'Config_Fault'"> + <label class="fn-ebz-text-label">vPRO Action:</label><BR> + <select class="form-field" ng-model="search.vproAction" ng-options="option for option in vsclActionDictionaryDatas track by option"></select> + </div> + <div class="fn-ebz-container" ng-if="search.closedLooppolicyType == 'Config_PM'"> + <label class="fn-ebz-text-label">Service Type:</label><BR> + <select class="form-field" ng-model="search.serviceType"> + <option>Registration Failure(Trinity)</option> + <option>International Fraud(Trinity)</option> + <option>No Dial Tone(Trinity)</option> + <option>Call Storm(Trinity)</option> + <option>Registration Storm(Trinity)</option> + </select> + </div> + <div class="fn-ebz-container"> + <label class="fn-ebz-text-label">Bind Text Search to:</label><BR> + <select class="form-field" ng-model="search.bindTextSearch"> + <option>Email Address</option> + <option>Trigger Signature</option> + <option>Connect All Traps</option> + <option>Verification Signature</option> + <option>Connect All Faults</option> + <option>Onset Message</option> + <option>Policy Name</option> + <option>Abatement Message</option> + <option>Geo Link</option> + </select> + </div> + </div> + </div> + </div> + </div> diff --git a/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/src/templates/sidebar.html b/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/src/templates/sidebar.html new file mode 100644 index 000000000..89c7b2f23 --- /dev/null +++ b/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/src/templates/sidebar.html @@ -0,0 +1,34 @@ +<!-- + ============LICENSE_START======================================================= + ECOMP Policy Engine + ================================================================================ + Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + ================================================================================ + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + ============LICENSE_END========================================================= + --> + +<ul class="nav nav-sidebar file-tree-root"> + <li ng-repeat="item in fileNavigator.history" ng-include="'folder-branch-item'" ng-class="{'active': item.name == fileNavigator.currentPath.join('/')}"></li> +</ul> + +<script type="text/ng-template" id="folder-branch-item"> + <a href="" ng-click="fileNavigator.folderClick(item.item)" class="animated fast fadeInDown"> + <i class="glyphicon glyphicon-folder-close mr2" ng-hide="isInThisPath(item.name)"></i> + <i class="glyphicon glyphicon-folder-open mr2" ng-show="isInThisPath(item.name)"></i> + {{ (item.name.split('/').pop() || '/') | strLimit : 24 }} + </a> + <ul class="nav nav-sidebar"> + <li ng-repeat="item in item.nodes" ng-include="'folder-branch-item'" ng-class="{'active': item.name == fileNavigator.currentPath.join('/')}"></li> + </ul> +</script>
\ No newline at end of file diff --git a/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/src/templates/spinner.html b/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/src/templates/spinner.html new file mode 100644 index 000000000..16f682e87 --- /dev/null +++ b/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/src/templates/spinner.html @@ -0,0 +1,25 @@ +<!-- + ============LICENSE_START======================================================= + ECOMP Policy Engine + ================================================================================ + Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + ================================================================================ + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + ============LICENSE_END========================================================= + --> + +<div class="spinner-wrapper col-xs-12"> + <svg class="spinner-container" style="width:65px;height:65px" viewBox="0 0 44 44"> + <circle class="path" cx="22" cy="22" r="20" fill="none" stroke-width="4"></circle> + </svg> +</div>
\ No newline at end of file |