IGNITE-843 changed case of dir
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/a84f6b6a Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/a84f6b6a Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/a84f6b6a Branch: refs/heads/ignite-843-rc3 Commit: a84f6b6a61539f8a588b5291b9d386b72f3e8f46 Parents: e874214 Author: Andrey <[email protected]> Authored: Mon Feb 8 17:10:46 2016 +0700 Committer: Andrey <[email protected]> Committed: Mon Feb 8 17:10:46 2016 +0700 ---------------------------------------------------------------------- .../js/app/modules/Form/field/down.directive.js | 45 ---------- .../modules/Form/field/dropdown.directive.js | 64 -------------- .../js/app/modules/Form/field/dropdown.jade | 51 ----------- .../main/js/app/modules/Form/field/field.css | 6 -- .../app/modules/Form/field/field.directive.js | 43 --------- .../main/js/app/modules/Form/field/field.jade | 26 ------ .../field/form-control-feedback.directive.js | 36 -------- .../Form/field/input/autofocus.directive.js | 30 ------- .../Form/field/input/checkbox.directive.js | 60 ------------- .../app/modules/Form/field/input/checkbox.jade | 28 ------ .../Form/field/input/datalist.directive.js | 57 ------------ .../app/modules/Form/field/input/datalist.jade | 33 ------- .../Form/field/input/number.directive.js | 61 ------------- .../js/app/modules/Form/field/input/number.jade | 44 ---------- .../js/app/modules/Form/field/input/text.css | 24 ----- .../modules/Form/field/input/text.directive.js | 84 ------------------ .../js/app/modules/Form/field/input/text.jade | 38 -------- .../app/modules/Form/field/label.directive.js | 41 --------- .../app/modules/Form/field/tooltip.directive.js | 44 ---------- .../js/app/modules/Form/field/up.directive.js | 46 ---------- .../src/main/js/app/modules/Form/form.module.js | 92 -------------------- .../js/app/modules/Form/group/add.directive.js | 40 --------- .../app/modules/Form/group/group.directive.js | 72 --------------- .../main/js/app/modules/Form/group/group.jade | 21 ----- .../app/modules/Form/group/table.directive.js | 29 ------ .../main/js/app/modules/Form/group/table.jade | 17 ---- .../app/modules/Form/group/tooltip.directive.js | 40 --------- .../app/modules/Form/panel/chevron.directive.js | 53 ----------- .../app/modules/Form/panel/panel.directive.js | 37 -------- .../app/modules/Form/panel/revert.directive.js | 52 ----------- .../validator/java-built-in-class.directive.js | 31 ------- .../Form/validator/java-identifier.directive.js | 31 ------- .../Form/validator/java-keywords.directive.js | 40 --------- .../validator/java-package-name.directive.js | 31 ------- .../java-package-specified.directive.js | 33 ------- .../modules/Form/validator/unique.directive.js | 47 ---------- .../js/app/modules/form/field/down.directive.js | 45 ++++++++++ .../modules/form/field/dropdown.directive.js | 64 ++++++++++++++ .../js/app/modules/form/field/dropdown.jade | 51 +++++++++++ .../main/js/app/modules/form/field/field.css | 6 ++ .../app/modules/form/field/field.directive.js | 43 +++++++++ .../main/js/app/modules/form/field/field.jade | 26 ++++++ .../field/form-control-feedback.directive.js | 36 ++++++++ .../form/field/input/autofocus.directive.js | 30 +++++++ .../form/field/input/checkbox.directive.js | 60 +++++++++++++ .../app/modules/form/field/input/checkbox.jade | 28 ++++++ .../form/field/input/datalist.directive.js | 57 ++++++++++++ .../app/modules/form/field/input/datalist.jade | 33 +++++++ .../form/field/input/number.directive.js | 61 +++++++++++++ .../js/app/modules/form/field/input/number.jade | 44 ++++++++++ .../js/app/modules/form/field/input/text.css | 24 +++++ .../modules/form/field/input/text.directive.js | 84 ++++++++++++++++++ .../js/app/modules/form/field/input/text.jade | 38 ++++++++ .../app/modules/form/field/label.directive.js | 41 +++++++++ .../app/modules/form/field/tooltip.directive.js | 44 ++++++++++ .../js/app/modules/form/field/up.directive.js | 46 ++++++++++ .../src/main/js/app/modules/form/form.module.js | 92 ++++++++++++++++++++ .../js/app/modules/form/group/add.directive.js | 40 +++++++++ .../app/modules/form/group/group.directive.js | 72 +++++++++++++++ .../main/js/app/modules/form/group/group.jade | 21 +++++ .../app/modules/form/group/table.directive.js | 29 ++++++ .../main/js/app/modules/form/group/table.jade | 17 ++++ .../app/modules/form/group/tooltip.directive.js | 40 +++++++++ .../app/modules/form/panel/chevron.directive.js | 53 +++++++++++ .../app/modules/form/panel/panel.directive.js | 37 ++++++++ .../app/modules/form/panel/revert.directive.js | 52 +++++++++++ .../validator/java-built-in-class.directive.js | 31 +++++++ .../form/validator/java-identifier.directive.js | 31 +++++++ .../form/validator/java-keywords.directive.js | 40 +++++++++ .../validator/java-package-name.directive.js | 31 +++++++ .../java-package-specified.directive.js | 33 +++++++ .../modules/form/validator/unique.directive.js | 47 ++++++++++ 72 files changed, 1527 insertions(+), 1527 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/a84f6b6a/modules/control-center-web/src/main/js/app/modules/Form/field/down.directive.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/Form/field/down.directive.js b/modules/control-center-web/src/main/js/app/modules/Form/field/down.directive.js deleted file mode 100644 index 0f21af2..0000000 --- a/modules/control-center-web/src/main/js/app/modules/Form/field/down.directive.js +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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. - */ - - - -const template = `<i class='tipField fa fa-arrow-down ng-scope' ng-click='down()'></i>`; - -export default ['igniteFormFieldDown', ['$tooltip', ($tooltip) => { - const link = (scope, $element) => { - $tooltip($element, { title: 'Move item down' }); - - scope.down = () => { - const i = scope.models.indexOf(scope.model); - scope.models.splice(i, 1); - scope.models.splice(i + 1, 0, scope.model); - }; - }; - - return { - restrict: 'E', - scope: { - model: '=ngModel', - models: '=models' - }, - template, - link, - replace: true, - transclude: true, - require: '^form' - }; -}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/a84f6b6a/modules/control-center-web/src/main/js/app/modules/Form/field/dropdown.directive.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/Form/field/dropdown.directive.js b/modules/control-center-web/src/main/js/app/modules/Form/field/dropdown.directive.js deleted file mode 100644 index 919da94..0000000 --- a/modules/control-center-web/src/main/js/app/modules/Form/field/dropdown.directive.js +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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. - */ - -import template from './dropdown.jade!'; - -export default ['igniteFormFieldDropdown', ['IgniteFormGUID', (guid) => { - const controller = () => {}; - - const link = (scope, $element, attrs, [form]) => { - const {id, name} = scope; - - scope.id = id || guid(); - - form.$defaults = form.$defaults || {}; - form.$defaults[name] = _.cloneDeep(scope.value); - - const setAsDefault = () => { - if (!form.$pristine) return; - - form.$defaults = form.$defaults || {}; - form.$defaults[name] = _.cloneDeep(scope.value); - }; - - scope.$watch(() => form.$pristine, setAsDefault); - scope.$watch('value', setAsDefault); - }; - - return { - restrict: 'E', - scope: { - id: '@', - name: '@', - value: '=ngModel' - }, - bindToController: { - value: '=ngModel', - placeholder: '@', - options: '=', - ngDisabled: '=', - multiple: '=' - }, - link, - template, - controller, - controllerAs: 'dropdown', - replace: true, - transclude: true, - require: ['^form', '?^igniteFormField'] - }; -}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/a84f6b6a/modules/control-center-web/src/main/js/app/modules/Form/field/dropdown.jade ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/Form/field/dropdown.jade b/modules/control-center-web/src/main/js/app/modules/Form/field/dropdown.jade deleted file mode 100644 index 6d4dd82..0000000 --- a/modules/control-center-web/src/main/js/app/modules/Form/field/dropdown.jade +++ /dev/null @@ -1,51 +0,0 @@ -//- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You 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. - -.input-tip - button.select-toggle.form-control( - ng-if='dropdown.multiple' - id='{{ id }}' - name='{{ name }}' - data-placeholder='{{ dropdown.placeholder }}' - - bs-select - bs-options='item.value as item.label for item in dropdown.options' - data-multiple='1' - - ng-model='dropdown.value' - ng-class='{ placeholder: value === undefined || value === null || !value.length }' - ng-disabled='dropdown.ngDisabled' - - tabindex='0' - ) - - button.select-toggle.form-control( - ng-if='!dropdown.multiple' - id='{{ id }}' - name='{{ name }}' - data-placeholder='{{ dropdown.placeholder }}' - - bs-select - bs-options='item.value as item.label for item in dropdown.options' - - ng-model='dropdown.value' - ng-class='{ placeholder: value === undefined || value === null || !value.length }' - ng-disabled='dropdown.ngDisabled' - - tabindex='0' - ) - - span(ng-transclude='') http://git-wip-us.apache.org/repos/asf/ignite/blob/a84f6b6a/modules/control-center-web/src/main/js/app/modules/Form/field/field.css ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/Form/field/field.css b/modules/control-center-web/src/main/js/app/modules/Form/field/field.css deleted file mode 100644 index 66ceb90..0000000 --- a/modules/control-center-web/src/main/js/app/modules/Form/field/field.css +++ /dev/null @@ -1,6 +0,0 @@ -.indexField { - float: left; - line-height: 28px; - margin-right: 5px; - color: #ec1c24; -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/a84f6b6a/modules/control-center-web/src/main/js/app/modules/Form/field/field.directive.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/Form/field/field.directive.js b/modules/control-center-web/src/main/js/app/modules/Form/field/field.directive.js deleted file mode 100644 index e02bebe..0000000 --- a/modules/control-center-web/src/main/js/app/modules/Form/field/field.directive.js +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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. - */ - -import template from './field.jade!'; -import './field.css!'; - -export default ['igniteFormField', [() => { - const controller = [function() { - const ctrl = this; - - ctrl.type = ctrl.type || 'external'; - }]; - - return { - restrict: 'E', - scope: {}, - bindToController: { - for: '@', - label: '@', - type: '@' - }, - template, - controller, - controllerAs: 'field', - replace: true, - transclude: true, - require: '^form' - }; -}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/a84f6b6a/modules/control-center-web/src/main/js/app/modules/Form/field/field.jade ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/Form/field/field.jade b/modules/control-center-web/src/main/js/app/modules/Form/field/field.jade deleted file mode 100644 index 6d7c04a..0000000 --- a/modules/control-center-web/src/main/js/app/modules/Form/field/field.jade +++ /dev/null @@ -1,26 +0,0 @@ -//- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You 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. - -div - div(ng-if='field.type == "external"') - label.col-xs-4.col-sm-4.col-md-4( - for='{{::field.for}}' - class='{{ field.required ? "required" : "" }}' - ) - span(ng-if='field.label') {{::field.label}}: - .col-xs-8.col-sm-8.col-md-8(ng-transclude='') - div(ng-if='field.type == "internal"') - label.col-xs-12.col-sm-12.col-md-12(ng-transclude) http://git-wip-us.apache.org/repos/asf/ignite/blob/a84f6b6a/modules/control-center-web/src/main/js/app/modules/Form/field/form-control-feedback.directive.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/Form/field/form-control-feedback.directive.js b/modules/control-center-web/src/main/js/app/modules/Form/field/form-control-feedback.directive.js deleted file mode 100644 index ba3e7fe..0000000 --- a/modules/control-center-web/src/main/js/app/modules/Form/field/form-control-feedback.directive.js +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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. - */ - -export default ['formControlFeedback', [() => { - const link = ($scope, $element, $attrs, [form]) => { - const name = $scope.name; - const err = $attrs.igniteError; - const msg = $attrs.igniteErrorMessage; - - if (name && err && msg) { - form.$errorMessages = form.$errorMessages || {}; - form.$errorMessages[name] = form.$errorMessages[name] || {}; - form.$errorMessages[name][err] = msg; - } - }; - - return { - restrict: 'C', - link, - require: ['^form'] - }; -}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/a84f6b6a/modules/control-center-web/src/main/js/app/modules/Form/field/input/autofocus.directive.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/Form/field/input/autofocus.directive.js b/modules/control-center-web/src/main/js/app/modules/Form/field/input/autofocus.directive.js deleted file mode 100644 index eeccc3f..0000000 --- a/modules/control-center-web/src/main/js/app/modules/Form/field/input/autofocus.directive.js +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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. - */ - -export default ['igniteFormFieldInputAutofocus', [() => { - const link = (scope, el, attrs) => { - if (typeof attrs.igniteFormFieldInputAutofocus === 'undefined' || !attrs.igniteFormFieldInputAutofocus) - return; - - el.focus(); - }; - - return { - restrict: 'A', - link - }; -}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/a84f6b6a/modules/control-center-web/src/main/js/app/modules/Form/field/input/checkbox.directive.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/Form/field/input/checkbox.directive.js b/modules/control-center-web/src/main/js/app/modules/Form/field/input/checkbox.directive.js deleted file mode 100644 index d259718..0000000 --- a/modules/control-center-web/src/main/js/app/modules/Form/field/input/checkbox.directive.js +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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. - */ - -import template from './checkbox.jade!'; - -export default ['igniteFormFieldInputCheckbox', ['IgniteFormGUID', (guid) => { - const link = (scope, el, attrs, [form, label]) => { - const {id, name} = scope; - const field = form[name]; - - scope.field = field; - label.for = scope.id = id || guid(); - - label.type = 'internal'; - - form.$defaults = form.$defaults || {}; - form.$defaults[name] = _.cloneDeep(scope.value); - - const setAsDefault = () => { - if (!form.$pristine) return; - - form.$defaults = form.$defaults || {}; - form.$defaults[name] = _.cloneDeep(scope.value); - }; - - scope.$watch(() => form.$pristine, setAsDefault); - scope.$watch('value', setAsDefault); - }; - - return { - restrict: 'E', - scope: { - id: '@', - name: '@', - required: '=ngRequired', - disabled: '=ngDisabled', - - value: '=ngModel' - }, - link, - template, - replace: true, - transclude: true, - require: ['^form', '?^igniteFormField'] - }; -}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/a84f6b6a/modules/control-center-web/src/main/js/app/modules/Form/field/input/checkbox.jade ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/Form/field/input/checkbox.jade b/modules/control-center-web/src/main/js/app/modules/Form/field/input/checkbox.jade deleted file mode 100644 index c3cd283..0000000 --- a/modules/control-center-web/src/main/js/app/modules/Form/field/input/checkbox.jade +++ /dev/null @@ -1,28 +0,0 @@ -//- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You 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. - -.input-tip - input( - id='{{ id }}' - name='{{ name }}' - type='checkbox' - - data-ng-model='value' - data-ng-required='required || false' - data-ng-disabled='disabled || false' - ) - - span(ng-transclude='') http://git-wip-us.apache.org/repos/asf/ignite/blob/a84f6b6a/modules/control-center-web/src/main/js/app/modules/Form/field/input/datalist.directive.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/Form/field/input/datalist.directive.js b/modules/control-center-web/src/main/js/app/modules/Form/field/input/datalist.directive.js deleted file mode 100644 index 9627965..0000000 --- a/modules/control-center-web/src/main/js/app/modules/Form/field/input/datalist.directive.js +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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. - */ - -import template from './datalist.jade!'; - -export default ['igniteFormFieldInputDatalist', ['IgniteFormGUID', (guid) => { - const link = (scope, $element, attrs, [form]) => { - const {id, name} = scope; - - scope.id = id || guid(); - - form.$defaults = form.$defaults || {}; - form.$defaults[name] = _.cloneDeep(scope.value); - - const setAsDefault = () => { - if (!form.$pristine) return; - - form.$defaults = form.$defaults || {}; - form.$defaults[name] = _.cloneDeep(scope.value); - }; - - scope.$watch(() => form.$pristine, setAsDefault); - scope.$watch('value', setAsDefault); - }; - - return { - restrict: 'E', - scope: { - id: '@', - name: '@', - placeholder: '@', - disabled: '=ngDisabled', - - options: '=', - value: '=ngModel' - }, - link, - template, - replace: true, - transclude: true, - require: ['^form', '?^igniteFormField'] - }; -}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/a84f6b6a/modules/control-center-web/src/main/js/app/modules/Form/field/input/datalist.jade ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/Form/field/input/datalist.jade b/modules/control-center-web/src/main/js/app/modules/Form/field/input/datalist.jade deleted file mode 100644 index 1002d03..0000000 --- a/modules/control-center-web/src/main/js/app/modules/Form/field/input/datalist.jade +++ /dev/null @@ -1,33 +0,0 @@ -//- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You 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. - -.input-tip - input.form-control( - id='{{ id }}' - name='{{ name }}' - placeholder='{{ placeholder }}' - data-min-length='1' - - bs-typeahead - bs-options='item for item in options' - retain-selection - container='body' - - data-ng-model='value' - data-ng-disabled='disabled || false' - ) - - span(ng-transclude='') http://git-wip-us.apache.org/repos/asf/ignite/blob/a84f6b6a/modules/control-center-web/src/main/js/app/modules/Form/field/input/number.directive.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/Form/field/input/number.directive.js b/modules/control-center-web/src/main/js/app/modules/Form/field/input/number.directive.js deleted file mode 100644 index b88425f..0000000 --- a/modules/control-center-web/src/main/js/app/modules/Form/field/input/number.directive.js +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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. - */ - -import template from './number.jade!'; - -export default ['igniteFormFieldInputNumber', ['IgniteFormGUID', (guid) => { - const link = (scope, el, attrs, [form, label]) => { - const {id, name} = scope; - const field = form[name]; - - scope.field = field; - label.for = scope.id = id || guid(); - - form.$defaults = form.$defaults || {}; - form.$defaults[name] = _.cloneDeep(scope.value); - - const setAsDefault = () => { - if (!form.$pristine) return; - - form.$defaults = form.$defaults || {}; - form.$defaults[name] = _.cloneDeep(scope.value); - }; - - scope.$watch(() => form.$pristine, setAsDefault); - scope.$watch('value', setAsDefault); - }; - - return { - restrict: 'E', - scope: { - id: '@', - name: '@', - placeholder: '@', - required: '=ngRequired', - disabled: '=ngDisabled', - - min: '@', - max: '@', - value: '=ngModel' - }, - link, - template, - replace: true, - transclude: true, - require: ['^form', '?^igniteFormField'] - }; -}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/a84f6b6a/modules/control-center-web/src/main/js/app/modules/Form/field/input/number.jade ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/Form/field/input/number.jade b/modules/control-center-web/src/main/js/app/modules/Form/field/input/number.jade deleted file mode 100644 index b032c46..0000000 --- a/modules/control-center-web/src/main/js/app/modules/Form/field/input/number.jade +++ /dev/null @@ -1,44 +0,0 @@ -//- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You 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. - -mixin feedback(error, message) - i.fa.fa-exclamation-triangle.form-control-feedback( - ng-show='field.$error.#{error}' - bs-tooltip='"#{message}"' - ignite-error='#{error}' - ignite-error-message='#{message}' - ) - -.input-tip - input.form-control( - id='{{ id }}' - name='{{ name }}' - placeholder='{{ placeholder }}' - type='number' - min='{{ min || 0 }}' - max='{{ max || Number.MAX_VALUE }}' - - data-ng-model='value' - data-ng-required='required || false' - data-ng-disabled='disabled || false' - data-ng-model-options='{debounce: 150}' - ) - - +feedback('min', 'Value is less than allowable minimum') - +feedback('max', 'Value is more than allowable maximum') - +feedback('number', 'Invalid value. Only numbers allowed') - - span(ng-transclude='') http://git-wip-us.apache.org/repos/asf/ignite/blob/a84f6b6a/modules/control-center-web/src/main/js/app/modules/Form/field/input/text.css ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/Form/field/input/text.css b/modules/control-center-web/src/main/js/app/modules/Form/field/input/text.css deleted file mode 100644 index 9efdb2c..0000000 --- a/modules/control-center-web/src/main/js/app/modules/Form/field/input/text.css +++ /dev/null @@ -1,24 +0,0 @@ -label .input-tip { - position: initial; -} - -.input-tip .fa-floppy-o { - position: absolute; - top: 0; - right: 0; - z-index: 2; - - width: 34px; - height: 34px; - - text-align: center; - - display: inline-block; - line-height: 28px; - pointer-events: initial; -} - -.input-tip .form-control-feedback { - height: auto; -} - http://git-wip-us.apache.org/repos/asf/ignite/blob/a84f6b6a/modules/control-center-web/src/main/js/app/modules/Form/field/input/text.directive.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/Form/field/input/text.directive.js b/modules/control-center-web/src/main/js/app/modules/Form/field/input/text.directive.js deleted file mode 100644 index 1cb8e92..0000000 --- a/modules/control-center-web/src/main/js/app/modules/Form/field/input/text.directive.js +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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. - */ - -import template from './text.jade!'; -import './text.css!'; - -export default ['igniteFormFieldInputText', ['IgniteFormGUID', (guid) => { - const link = (scope, el, attrs, [ngModel, form, label]) => { - const {id, name} = scope; - - label.for = scope.id = id || guid(); - - scope.label = label; - scope.ngModel = ngModel; - scope.$watch('required', (required) => { - label.required = required || false; - }); - - form.$defaults = form.$defaults || {}; - form.$defaults[name] = _.cloneDeep(scope.value); - - const setAsDefault = () => { - if (!form.$pristine) return; - - form.$defaults = form.$defaults || {}; - form.$defaults[name] = _.cloneDeep(scope.value); - }; - - scope.$watch(() => form.$pristine, setAsDefault); - scope.$watch('value', setAsDefault); - - scope.ngChange = function() { - ngModel.$setViewValue(scope.value); - - if (JSON.stringify(scope.value) !== JSON.stringify(form.$defaults[name])) - ngModel.$setDirty(); - else - ngModel.$setPristine(); - - if (ngModel.$valid) - el.find('input').addClass('ng-valid').removeClass('ng-invalid'); - else - el.find('input').removeClass('ng-valid').addClass('ng-invalid'); - }; - - ngModel.$render = function() { - scope.value = ngModel.$modelValue; - }; - }; - - return { - restrict: 'E', - scope: { - id: '@', - name: '@', - placeholder: '@', - required: '=ngRequired', - disabled: '=ngDisabled', - - ngBlur: '&', - - autofocus: '=igniteFormFieldInputAutofocus' - }, - link, - template, - replace: true, - transclude: true, - require: ['ngModel', '^form', '?^igniteFormField'] - }; -}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/a84f6b6a/modules/control-center-web/src/main/js/app/modules/Form/field/input/text.jade ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/Form/field/input/text.jade b/modules/control-center-web/src/main/js/app/modules/Form/field/input/text.jade deleted file mode 100644 index 28298ab..0000000 --- a/modules/control-center-web/src/main/js/app/modules/Form/field/input/text.jade +++ /dev/null @@ -1,38 +0,0 @@ -//- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You 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. - -.input-tip - input.form-control( - id='{{ id }}' - placeholder='{{ placeholder }}' - type='text' - - data-ng-model='value' - data-ng-blur='ngBlur()' - data-ng-change='ngChange()' - data-ng-required='required || false' - data-ng-disabled='disabled || false' - data-ng-model-options='{debounce: 150}' - - data-ignite-form-field-input-autofocus='autofocus || false' - ) - - i.fa.fa-exclamation-triangle.form-control-feedback( - ng-if='!ngModel.$pristine && ngModel.$error.required' - bs-tooltip='"{{ label.name }} could not be empty!"' - ) - - span(ng-transclude='') http://git-wip-us.apache.org/repos/asf/ignite/blob/a84f6b6a/modules/control-center-web/src/main/js/app/modules/Form/field/label.directive.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/Form/field/label.directive.js b/modules/control-center-web/src/main/js/app/modules/Form/field/label.directive.js deleted file mode 100644 index d22df2c..0000000 --- a/modules/control-center-web/src/main/js/app/modules/Form/field/label.directive.js +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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. - */ - -export default ['igniteFormFieldLabel', [() => { - return { - restrict: 'E', - compile() { - return { - post($scope, $element, $attrs, [form, field], $transclude) { - $transclude($scope, function(clone) { - const text = clone.text(); - - if (/(.*):$/.test(text)) - field.name = /(.*):$/.exec(text)[1]; - - const $label = $element.parent().parent().find('label'); - - $label.append(clone); - }); - } - }; - }, - replace: true, - transclude: true, - require: ['^form', '?^igniteFormField'] - }; -}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/a84f6b6a/modules/control-center-web/src/main/js/app/modules/Form/field/tooltip.directive.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/Form/field/tooltip.directive.js b/modules/control-center-web/src/main/js/app/modules/Form/field/tooltip.directive.js deleted file mode 100644 index 78aa8fd..0000000 --- a/modules/control-center-web/src/main/js/app/modules/Form/field/tooltip.directive.js +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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. - */ - -const template = `<i class='tipField fa fa-question-circle'></i>`; - -export default ['igniteFormFieldTooltip', ['$tooltip', ($tooltip) => { - const link = ($scope, $element, $attrs, $ctrls, $transclude) => { - const content = Array.prototype.slice.apply($transclude($scope)) - .reduce((html, el) => html += el.outerHTML, ''); - - $tooltip($element, { title: content }); - - // TODO cleanup css styles. - if ($element.hasClass('tipLabel')) - $element.removeClass('tipField'); - - if ($element.parent('label').length) - $element.addClass('tipLabel').removeClass('tipField'); - }; - - return { - restrict: 'E', - scope: {}, - template, - link, - replace: true, - transclude: true, - require: '^form' - }; -}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/a84f6b6a/modules/control-center-web/src/main/js/app/modules/Form/field/up.directive.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/Form/field/up.directive.js b/modules/control-center-web/src/main/js/app/modules/Form/field/up.directive.js deleted file mode 100644 index d591eac..0000000 --- a/modules/control-center-web/src/main/js/app/modules/Form/field/up.directive.js +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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. - */ - - - -const template = `<i class='tipField fa fa-arrow-up ng-scope' ng-click='up()'></i>`; - -export default ['igniteFormFieldUp', ['$tooltip', ($tooltip) => { - const link = (scope, $element) => { - $tooltip($element, { title: 'Move item up' }); - - scope.up = () => { - const idx = scope.models.indexOf(scope.model); - - scope.models.splice(idx, 1); - scope.models.splice(idx - 1, 0, scope.model); - }; - }; - - return { - restrict: 'E', - scope: { - model: '=ngModel', - models: '=models' - }, - template, - link, - replace: true, - transclude: true, - require: '^form' - }; -}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/a84f6b6a/modules/control-center-web/src/main/js/app/modules/Form/form.module.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/Form/form.module.js b/modules/control-center-web/src/main/js/app/modules/Form/form.module.js deleted file mode 100644 index aac831d..0000000 --- a/modules/control-center-web/src/main/js/app/modules/Form/form.module.js +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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. - */ - -import angular from 'angular'; - -// Panel. -import igniteFormPanel from './panel/panel.directive'; -import igniteFormPanelChevron from './panel/chevron.directive'; -import igniteFormRevert from './panel/revert.directive'; - -// Field. -import igniteFormField from './field/field.directive'; -import igniteFormFieldLabel from './field/label.directive'; -import igniteFormFieldTooltip from './field/tooltip.directive'; -import igniteFormFieldDropdown from './field/dropdown.directive'; -import igniteFormFieldInputNumber from './field/input/number.directive'; -import igniteFormFieldInputText from './field/input/text.directive'; -import igniteFormFieldInputCheckbox from './field/input/checkbox.directive'; -import igniteFormFieldInputDatalist from './field/input/datalist.directive'; - -// Group. -import igniteFormGroup from './group/group.directive'; -import igniteFormGroupAdd from './group/add.directive'; -import igniteFormGroupTooltip from './group/tooltip.directive'; - -// Validators. -import javaKeywords from './validator/java-keywords.directive'; -import javaPackageSpecified from './validator/java-package-specified.directive'; -import javaBuiltInClass from './validator/java-built-in-class.directive'; -import javaIdentifier from './validator/java-identifier.directive'; -import javaPackageName from './validator/java-package-name.directive'; -import unique from './validator/unique.directive'; - -// Helpers. -import igniteFormFieldInputAutofocus from './field/input/autofocus.directive'; -import igniteFormFieldUp from './field/up.directive'; -import igniteFormFieldDown from './field/down.directive'; -import igniteFormControlFeedback from './field/form-control-feedback.directive'; - -angular -.module('ignite-console.Form', [ - -]) -// Panel. -.directive(...igniteFormPanel) -.directive(...igniteFormPanelChevron) -.directive(...igniteFormRevert) -// Field. -.directive(...igniteFormField) -.directive(...igniteFormFieldLabel) -.directive(...igniteFormFieldTooltip) -.directive(...igniteFormFieldDropdown) -.directive(...igniteFormFieldInputNumber) -.directive(...igniteFormFieldInputText) -.directive(...igniteFormFieldInputCheckbox) -.directive(...igniteFormFieldInputDatalist) -// Group. -.directive(...igniteFormGroup) -.directive(...igniteFormGroupAdd) -.directive(...igniteFormGroupTooltip) -// Validators. -.directive(...javaKeywords) -.directive(...javaPackageSpecified) -.directive(...javaBuiltInClass) -.directive(...javaIdentifier) -.directive(...javaPackageName) -.directive(...unique) -// Helpers. -.directive(...igniteFormFieldInputAutofocus) -.directive(...igniteFormFieldUp) -.directive(...igniteFormFieldDown) -.directive(...igniteFormControlFeedback) -// Generator of globally unique identifier. -.factory('IgniteFormGUID', [() => { - let guid = 0; - - return () => `form-field-${guid++}`; -}]); http://git-wip-us.apache.org/repos/asf/ignite/blob/a84f6b6a/modules/control-center-web/src/main/js/app/modules/Form/group/add.directive.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/Form/group/add.directive.js b/modules/control-center-web/src/main/js/app/modules/Form/group/add.directive.js deleted file mode 100644 index 6d79026..0000000 --- a/modules/control-center-web/src/main/js/app/modules/Form/group/add.directive.js +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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. - */ - -const template = `<i class='group-legend-btn fa fa-plus'></i>`; - -export default ['igniteFormGroupAdd', ['$tooltip', ($tooltip) => { - const link = ($scope, $element, $attrs, $ctrls, $transclude) => { - const content = Array.prototype.slice - .apply($transclude($scope)) - .reduce((html, el) => html += el.outerHTML, ''); - - $tooltip($element, { title: content }); - - $element.closest('.group').find('.group-legend').append($element); - }; - - return { - restrict: 'E', - scope: {}, - template, - link, - replace: true, - transclude: true, - require: ['^form', '^igniteFormGroup'] - }; -}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/a84f6b6a/modules/control-center-web/src/main/js/app/modules/Form/group/group.directive.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/Form/group/group.directive.js b/modules/control-center-web/src/main/js/app/modules/Form/group/group.directive.js deleted file mode 100644 index db03503..0000000 --- a/modules/control-center-web/src/main/js/app/modules/Form/group/group.directive.js +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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. - */ - -import template from './group.jade!'; - -export default ['igniteFormGroup', [() => { - const controller = [function() { }]; - - const link = (scope, el, attrs, [ngModelCtrl, ownFormCtrl, parentFormCtrl]) => { - const name = attrs.ngForm; - ngModelCtrl.$name = name; - - parentFormCtrl.$addControl(ngModelCtrl); - parentFormCtrl.$removeControl(ownFormCtrl); - - scope.value = scope.value || []; - parentFormCtrl.$defaults = parentFormCtrl.$defaults || {}; - parentFormCtrl.$defaults[name] = _.cloneDeep(scope.value); - - const setAsDefault = () => { - if (!parentFormCtrl.$pristine) - return; - - scope.value = scope.value || []; - parentFormCtrl.$defaults = parentFormCtrl.$defaults || {}; - parentFormCtrl.$defaults[name] = _.cloneDeep(scope.value); - }; - - const setAsDirty = () => { - if (JSON.stringify(scope.value) !== JSON.stringify(parentFormCtrl.$defaults[name])) - ngModelCtrl.$setDirty(); - else - ngModelCtrl.$setPristine(); - }; - - scope.$watch(() => parentFormCtrl.$pristine, setAsDefault); - - scope.$watch('value', setAsDefault); - scope.$watch('value', setAsDirty, true); - }; - - return { - restrict: 'E', - scope: { - value: '=ngModel' - }, - bindToController: { - label: '@' - }, - link, - template, - controller, - controllerAs: 'group', - replace: true, - transclude: true, - require: ['ngModel', '?form', '^^form'] - }; -}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/a84f6b6a/modules/control-center-web/src/main/js/app/modules/Form/group/group.jade ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/Form/group/group.jade b/modules/control-center-web/src/main/js/app/modules/Form/group/group.jade deleted file mode 100644 index ba3a8f2..0000000 --- a/modules/control-center-web/src/main/js/app/modules/Form/group/group.jade +++ /dev/null @@ -1,21 +0,0 @@ -//- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You 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. - -.group-section - .group - .group-legend - label {{::group.label}} - div(ng-transclude='') http://git-wip-us.apache.org/repos/asf/ignite/blob/a84f6b6a/modules/control-center-web/src/main/js/app/modules/Form/group/table.directive.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/Form/group/table.directive.js b/modules/control-center-web/src/main/js/app/modules/Form/group/table.directive.js deleted file mode 100644 index 520f8c2..0000000 --- a/modules/control-center-web/src/main/js/app/modules/Form/group/table.directive.js +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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. - */ - -import template from './table.jade!'; - -export default ['igniteFormGroupTable', [() => { - return { - restrict: 'E', - scope: {}, - template, - replace: true, - transclude: true, - require: ['^form', '^igniteFormGroup'] - }; -}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/a84f6b6a/modules/control-center-web/src/main/js/app/modules/Form/group/table.jade ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/Form/group/table.jade b/modules/control-center-web/src/main/js/app/modules/Form/group/table.jade deleted file mode 100644 index 6f9486d..0000000 --- a/modules/control-center-web/src/main/js/app/modules/Form/group/table.jade +++ /dev/null @@ -1,17 +0,0 @@ -//- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You 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. - -div \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/a84f6b6a/modules/control-center-web/src/main/js/app/modules/Form/group/tooltip.directive.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/Form/group/tooltip.directive.js b/modules/control-center-web/src/main/js/app/modules/Form/group/tooltip.directive.js deleted file mode 100644 index 5af8fb1..0000000 --- a/modules/control-center-web/src/main/js/app/modules/Form/group/tooltip.directive.js +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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. - */ - -const template = `<i class='group-legend-btn fa fa-question-circle'></i>`; - -export default ['igniteFormGroupTooltip', ['$tooltip', ($tooltip) => { - const link = ($scope, $element, $attrs, $ctrls, $transclude) => { - const content = Array.prototype.slice - .apply($transclude($scope)) - .reduce((html, el) => html += el.outerHTML, ''); - - $tooltip($element, { title: content }); - - $element.closest('.group').find('.group-legend').append($element); - }; - - return { - restrict: 'E', - scope: {}, - template, - link, - replace: true, - transclude: true, - require: ['^form', '^igniteFormGroup'] - }; -}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/a84f6b6a/modules/control-center-web/src/main/js/app/modules/Form/panel/chevron.directive.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/Form/panel/chevron.directive.js b/modules/control-center-web/src/main/js/app/modules/Form/panel/chevron.directive.js deleted file mode 100644 index 9f7e1d0..0000000 --- a/modules/control-center-web/src/main/js/app/modules/Form/panel/chevron.directive.js +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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. - */ - -const template = `<i class='fa' ng-class='isOpen ? "fa-chevron-circle-down" : "fa-chevron-circle-right"'></i>`; - -export default ['igniteFormPanelChevron', [() => { - const controller = [() => {}]; - - const link = ($scope, $element, $attrs, [bsCollapseCtrl]) => { - const $target = $element.parent().parent().find('.panel-collapse'); - - bsCollapseCtrl.$viewChangeListeners.push(function() { - const index = bsCollapseCtrl.$targets.reduce((acc, el, i) => { - if (el[0] === $target[0]) - acc.push(i); - - return acc; - }, [])[0]; - - $scope.isOpen = false; - - const active = bsCollapseCtrl.$activeIndexes(); - - if ((active instanceof Array) && active.indexOf(index) !== -1 || active === index) - $scope.isOpen = true; - }); - }; - - return { - restrict: 'E', - scope: {}, - link, - template, - controller, - replace: true, - transclude: true, - require: ['^bsCollapse'] - }; -}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/a84f6b6a/modules/control-center-web/src/main/js/app/modules/Form/panel/panel.directive.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/Form/panel/panel.directive.js b/modules/control-center-web/src/main/js/app/modules/Form/panel/panel.directive.js deleted file mode 100644 index b8e7c25..0000000 --- a/modules/control-center-web/src/main/js/app/modules/Form/panel/panel.directive.js +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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. - */ - -export default ['form', [() => { - const link = (scope, $element, $attrs, [form]) => { - const $form = $element.parent().closest('form'); - - scope.$watch(() => { - return $form.hasClass('ng-pristine'); - }, (value) => { - if (!value) - return; - - form.$setPristine(); - }); - }; - - return { - restrict: 'E', - link, - require: ['^form'] - }; -}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/a84f6b6a/modules/control-center-web/src/main/js/app/modules/Form/panel/revert.directive.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/Form/panel/revert.directive.js b/modules/control-center-web/src/main/js/app/modules/Form/panel/revert.directive.js deleted file mode 100644 index 874b466..0000000 --- a/modules/control-center-web/src/main/js/app/modules/Form/panel/revert.directive.js +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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. - */ - -const template = `<i ng-show='form.$dirty' class='fa fa-undo pull-right' ng-click='revert($event)'></i>`; - -export default ['igniteFormRevert', ['$tooltip', ($tooltip) => { - const link = (scope, $element, $attrs, [form]) => { - $tooltip($element, { title: 'Undo unsaved changes' }); - - scope.form = form; - - scope.revert = (e) => { - e.stopPropagation(); - - for (const name in form.$defaults) { - if ({}.hasOwnProperty.call(form.$defaults, name) && form[name]) { - form[name].$setViewValue(form.$defaults[name]); - form[name].$setPristine(); - form[name].$render(); - } - } - - form.$setPristine(); - }; - }; - - return { - restrict: 'E', - scope: { - model: '=ngModel', - models: '=models' - }, - template, - link, - replace: true, - require: ['^form'] - }; -}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/a84f6b6a/modules/control-center-web/src/main/js/app/modules/Form/validator/java-built-in-class.directive.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/Form/validator/java-built-in-class.directive.js b/modules/control-center-web/src/main/js/app/modules/Form/validator/java-built-in-class.directive.js deleted file mode 100644 index caa268d..0000000 --- a/modules/control-center-web/src/main/js/app/modules/Form/validator/java-built-in-class.directive.js +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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. - */ - -export default ['javaBuiltInClass', ['JavaTypes', (JavaTypes) => { - const link = (scope, el, attrs, [ngModel]) => { - if (typeof attrs.javaBuiltInClass === 'undefined' || !attrs.javaBuiltInClass) - return; - - ngModel.$validators.javaBuiltInClass = JavaTypes.nonBuiltInClass; - }; - - return { - restrict: 'A', - link, - require: ['ngModel'] - }; -}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/a84f6b6a/modules/control-center-web/src/main/js/app/modules/Form/validator/java-identifier.directive.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/Form/validator/java-identifier.directive.js b/modules/control-center-web/src/main/js/app/modules/Form/validator/java-identifier.directive.js deleted file mode 100644 index 81a48a3..0000000 --- a/modules/control-center-web/src/main/js/app/modules/Form/validator/java-identifier.directive.js +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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. - */ - -export default ['javaIdentifier', ['JavaTypes', (JavaTypes) => { - const link = (scope, el, attrs, [ngModel]) => { - if (typeof attrs.javaIdentifier === 'undefined' || !attrs.javaIdentifier) - return; - - ngModel.$validators.javaIdentifier = JavaTypes.validIdentifier; - }; - - return { - restrict: 'A', - link, - require: ['ngModel'] - }; -}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/a84f6b6a/modules/control-center-web/src/main/js/app/modules/Form/validator/java-keywords.directive.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/Form/validator/java-keywords.directive.js b/modules/control-center-web/src/main/js/app/modules/Form/validator/java-keywords.directive.js deleted file mode 100644 index 8faae6d..0000000 --- a/modules/control-center-web/src/main/js/app/modules/Form/validator/java-keywords.directive.js +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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. - */ - -export default ['javaKeywords', ['JavaTypes', (JavaTypes) => { - const link = (scope, el, attrs, [ngModel]) => { - if (typeof attrs.javaKeywords === 'undefined' || !attrs.javaKeywords) - return; - - ngModel.$validators.javaKeywords = (value) => { - if (value) { - for (const item of value.split('.')) { - if (JavaTypes.isKeywords(item)) - return false; - } - } - - return true; - }; - }; - - return { - restrict: 'A', - link, - require: ['ngModel'] - }; -}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/a84f6b6a/modules/control-center-web/src/main/js/app/modules/Form/validator/java-package-name.directive.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/Form/validator/java-package-name.directive.js b/modules/control-center-web/src/main/js/app/modules/Form/validator/java-package-name.directive.js deleted file mode 100644 index 173e118..0000000 --- a/modules/control-center-web/src/main/js/app/modules/Form/validator/java-package-name.directive.js +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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. - */ - -export default ['javaPackageName', ['JavaTypes', (JavaTypes) => { - const link = (scope, el, attrs, [ngModel]) => { - if (typeof attrs.javaPackageName === 'undefined' || !attrs.javaPackageName) - return; - - ngModel.$validators.javaPackageName = JavaTypes.validPackage; - }; - - return { - restrict: 'A', - link, - require: ['ngModel'] - }; -}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/a84f6b6a/modules/control-center-web/src/main/js/app/modules/Form/validator/java-package-specified.directive.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/Form/validator/java-package-specified.directive.js b/modules/control-center-web/src/main/js/app/modules/Form/validator/java-package-specified.directive.js deleted file mode 100644 index 9ba43f3..0000000 --- a/modules/control-center-web/src/main/js/app/modules/Form/validator/java-package-specified.directive.js +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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. - */ - -export default ['javaPackageSpecified', [() => { - const link = (scope, el, attrs, [ngModel]) => { - if (typeof attrs.javaPackageSpecified === 'undefined' || !attrs.javaPackageSpecified) - return; - - ngModel.$validators.javaPackageSpecified = (value) => { - return !value || !(value.split('.').length < 2); - }; - }; - - return { - restrict: 'A', - link, - require: ['ngModel'] - }; -}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/a84f6b6a/modules/control-center-web/src/main/js/app/modules/Form/validator/unique.directive.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/Form/validator/unique.directive.js b/modules/control-center-web/src/main/js/app/modules/Form/validator/unique.directive.js deleted file mode 100644 index 905a595..0000000 --- a/modules/control-center-web/src/main/js/app/modules/Form/validator/unique.directive.js +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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. - */ - -export default ['igniteUnique', ['$parse', ($parse) => { - const link = (scope, el, attrs, [ngModel]) => { - if (typeof attrs.igniteUnique === 'undefined' || !attrs.igniteUnique) - return; - - ngModel.$validators.igniteUnique = (value) => { - const arr = $parse(attrs.igniteUnique)(scope); - - // Return true in case if array not exist, array empty. - if (!arr || !arr.length) - return true; - - const name = attrs.name; - const idx = arr.indexOf(value); - - // In case of new element check all items. - if (name === 'new') - return idx < 0; - - // Check for $index in case of editing in-place. - return (_.isNumber(scope.$index) && (idx < 0 || scope.$index === idx)); - }; - }; - - return { - restrict: 'A', - link, - require: ['ngModel'] - }; -}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/a84f6b6a/modules/control-center-web/src/main/js/app/modules/form/field/down.directive.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/form/field/down.directive.js b/modules/control-center-web/src/main/js/app/modules/form/field/down.directive.js new file mode 100644 index 0000000..0f21af2 --- /dev/null +++ b/modules/control-center-web/src/main/js/app/modules/form/field/down.directive.js @@ -0,0 +1,45 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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. + */ + + + +const template = `<i class='tipField fa fa-arrow-down ng-scope' ng-click='down()'></i>`; + +export default ['igniteFormFieldDown', ['$tooltip', ($tooltip) => { + const link = (scope, $element) => { + $tooltip($element, { title: 'Move item down' }); + + scope.down = () => { + const i = scope.models.indexOf(scope.model); + scope.models.splice(i, 1); + scope.models.splice(i + 1, 0, scope.model); + }; + }; + + return { + restrict: 'E', + scope: { + model: '=ngModel', + models: '=models' + }, + template, + link, + replace: true, + transclude: true, + require: '^form' + }; +}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/a84f6b6a/modules/control-center-web/src/main/js/app/modules/form/field/dropdown.directive.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/form/field/dropdown.directive.js b/modules/control-center-web/src/main/js/app/modules/form/field/dropdown.directive.js new file mode 100644 index 0000000..919da94 --- /dev/null +++ b/modules/control-center-web/src/main/js/app/modules/form/field/dropdown.directive.js @@ -0,0 +1,64 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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. + */ + +import template from './dropdown.jade!'; + +export default ['igniteFormFieldDropdown', ['IgniteFormGUID', (guid) => { + const controller = () => {}; + + const link = (scope, $element, attrs, [form]) => { + const {id, name} = scope; + + scope.id = id || guid(); + + form.$defaults = form.$defaults || {}; + form.$defaults[name] = _.cloneDeep(scope.value); + + const setAsDefault = () => { + if (!form.$pristine) return; + + form.$defaults = form.$defaults || {}; + form.$defaults[name] = _.cloneDeep(scope.value); + }; + + scope.$watch(() => form.$pristine, setAsDefault); + scope.$watch('value', setAsDefault); + }; + + return { + restrict: 'E', + scope: { + id: '@', + name: '@', + value: '=ngModel' + }, + bindToController: { + value: '=ngModel', + placeholder: '@', + options: '=', + ngDisabled: '=', + multiple: '=' + }, + link, + template, + controller, + controllerAs: 'dropdown', + replace: true, + transclude: true, + require: ['^form', '?^igniteFormField'] + }; +}]]; http://git-wip-us.apache.org/repos/asf/ignite/blob/a84f6b6a/modules/control-center-web/src/main/js/app/modules/form/field/dropdown.jade ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/form/field/dropdown.jade b/modules/control-center-web/src/main/js/app/modules/form/field/dropdown.jade new file mode 100644 index 0000000..6d4dd82 --- /dev/null +++ b/modules/control-center-web/src/main/js/app/modules/form/field/dropdown.jade @@ -0,0 +1,51 @@ +//- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You 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. + +.input-tip + button.select-toggle.form-control( + ng-if='dropdown.multiple' + id='{{ id }}' + name='{{ name }}' + data-placeholder='{{ dropdown.placeholder }}' + + bs-select + bs-options='item.value as item.label for item in dropdown.options' + data-multiple='1' + + ng-model='dropdown.value' + ng-class='{ placeholder: value === undefined || value === null || !value.length }' + ng-disabled='dropdown.ngDisabled' + + tabindex='0' + ) + + button.select-toggle.form-control( + ng-if='!dropdown.multiple' + id='{{ id }}' + name='{{ name }}' + data-placeholder='{{ dropdown.placeholder }}' + + bs-select + bs-options='item.value as item.label for item in dropdown.options' + + ng-model='dropdown.value' + ng-class='{ placeholder: value === undefined || value === null || !value.length }' + ng-disabled='dropdown.ngDisabled' + + tabindex='0' + ) + + span(ng-transclude='') http://git-wip-us.apache.org/repos/asf/ignite/blob/a84f6b6a/modules/control-center-web/src/main/js/app/modules/form/field/field.css ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/app/modules/form/field/field.css b/modules/control-center-web/src/main/js/app/modules/form/field/field.css new file mode 100644 index 0000000..66ceb90 --- /dev/null +++ b/modules/control-center-web/src/main/js/app/modules/form/field/field.css @@ -0,0 +1,6 @@ +.indexField { + float: left; + line-height: 28px; + margin-right: 5px; + color: #ec1c24; +} \ No newline at end of file
