eventman/static/js/eda.dragdropway.js

6158 lines
No EOL
292 KiB
JavaScript

!function(e){function r(e,r,o){return 4===arguments.length?t.apply(this,arguments):void n(e,{declarative:!0,deps:r,declare:o})}function t(e,r,t,o){n(e,{declarative:!1,deps:r,executingRequire:t,execute:o})}function n(e,r){r.name=e,e in p||(p[e]=r),r.normalizedDeps=r.deps}function o(e,r){if(r[e.groupIndex]=r[e.groupIndex]||[],-1==v.call(r[e.groupIndex],e)){r[e.groupIndex].push(e);for(var t=0,n=e.normalizedDeps.length;n>t;t++){var a=e.normalizedDeps[t],u=p[a];if(u&&!u.evaluated){var d=e.groupIndex+(u.declarative!=e.declarative);if(void 0===u.groupIndex||u.groupIndex<d){if(void 0!==u.groupIndex&&(r[u.groupIndex].splice(v.call(r[u.groupIndex],u),1),0==r[u.groupIndex].length))throw new TypeError("Mixed dependency cycle detected");u.groupIndex=d}o(u,r)}}}}function a(e){var r=p[e];r.groupIndex=0;var t=[];o(r,t);for(var n=!!r.declarative==t.length%2,a=t.length-1;a>=0;a--){for(var u=t[a],i=0;i<u.length;i++){var s=u[i];n?d(s):l(s)}n=!n}}function u(e){return x[e]||(x[e]={name:e,dependencies:[],exports:{},importers:[]})}function d(r){if(!r.module){var t=r.module=u(r.name),n=r.module.exports,o=r.declare.call(e,function(e,r){if(t.locked=!0,"object"==typeof e)for(var o in e)n[o]=e[o];else n[e]=r;for(var a=0,u=t.importers.length;u>a;a++){var d=t.importers[a];if(!d.locked)for(var i=0;i<d.dependencies.length;++i)d.dependencies[i]===t&&d.setters[i](n)}return t.locked=!1,r},r.name);t.setters=o.setters,t.execute=o.execute;for(var a=0,i=r.normalizedDeps.length;i>a;a++){var l,s=r.normalizedDeps[a],c=p[s],v=x[s];v?l=v.exports:c&&!c.declarative?l=c.esModule:c?(d(c),v=c.module,l=v.exports):l=f(s),v&&v.importers?(v.importers.push(t),t.dependencies.push(v)):t.dependencies.push(null),t.setters[a]&&t.setters[a](l)}}}function i(e){var r,t=p[e];if(t)t.declarative?c(e,[]):t.evaluated||l(t),r=t.module.exports;else if(r=f(e),!r)throw new Error("Unable to load dependency "+e+".");return(!t||t.declarative)&&r&&r.__useDefault?r["default"]:r}function l(r){if(!r.module){var t={},n=r.module={exports:t,id:r.name};if(!r.executingRequire)for(var o=0,a=r.normalizedDeps.length;a>o;o++){var u=r.normalizedDeps[o],d=p[u];d&&l(d)}r.evaluated=!0;var c=r.execute.call(e,function(e){for(var t=0,n=r.deps.length;n>t;t++)if(r.deps[t]==e)return i(r.normalizedDeps[t]);throw new TypeError("Module "+e+" not declared as a dependency.")},t,n);c&&(n.exports=c),t=n.exports,t&&t.__esModule?r.esModule=t:r.esModule=s(t)}}function s(r){if(r===e)return r;var t={};if("object"==typeof r||"function"==typeof r)if(g){var n;for(var o in r)(n=Object.getOwnPropertyDescriptor(r,o))&&h(t,o,n)}else{var a=r&&r.hasOwnProperty;for(var o in r)(!a||r.hasOwnProperty(o))&&(t[o]=r[o])}return t["default"]=r,h(t,"__useDefault",{value:!0}),t}function c(r,t){var n=p[r];if(n&&!n.evaluated&&n.declarative){t.push(r);for(var o=0,a=n.normalizedDeps.length;a>o;o++){var u=n.normalizedDeps[o];-1==v.call(t,u)&&(p[u]?c(u,t):f(u))}n.evaluated||(n.evaluated=!0,n.module.execute.call(e))}}function f(e){if(D[e])return D[e];if("@node/"==e.substr(0,6))return y(e.substr(6));var r=p[e];if(!r)throw"Module "+e+" not present.";return a(e),c(e,[]),p[e]=void 0,r.declarative&&h(r.module.exports,"__esModule",{value:!0}),D[e]=r.declarative?r.module.exports:r.esModule}var p={},v=Array.prototype.indexOf||function(e){for(var r=0,t=this.length;t>r;r++)if(this[r]===e)return r;return-1},g=!0;try{Object.getOwnPropertyDescriptor({a:0},"a")}catch(m){g=!1}var h;!function(){try{Object.defineProperty({},"a",{})&&(h=Object.defineProperty)}catch(e){h=function(e,r,t){try{e[r]=t.value||t.get.call(e)}catch(n){}}}}();var x={},y="undefined"!=typeof System&&System._nodeRequire||"undefined"!=typeof require&&require.resolve&&"undefined"!=typeof process&&require,D={"@empty":{}};return function(e,n,o){return function(a){a(function(a){for(var u={_nodeRequire:y,register:r,registerDynamic:t,get:f,set:function(e,r){D[e]=r},newModule:function(e){return e}},d=0;d<n.length;d++)(function(e,r){r&&r.__esModule?D[e]=r:D[e]=s(r)})(n[d],arguments[d]);o(u);var i=f(e[0]);if(e.length>1)for(var d=1;d<e.length;d++)f(e[d]);return i.__useDefault?i["default"]:i})}}}("undefined"!=typeof self?self:global)
(["1"], [], function($__System) {
!function(){var t=$__System;if("undefined"!=typeof window&&"undefined"!=typeof document&&window.location)var s=location.protocol+"//"+location.hostname+(location.port?":"+location.port:"");t.set("@@cjs-helpers",t.newModule({getPathVars:function(t){var n,o=t.lastIndexOf("!");n=-1!=o?t.substr(0,o):t;var e=n.split("/");return e.pop(),e=e.join("/"),"file:///"==n.substr(0,8)?(n=n.substr(7),e=e.substr(7),isWindows&&(n=n.substr(1),e=e.substr(1))):s&&n.substr(0,s.length)===s&&(n=n.substr(s.length),e=e.substr(s.length)),{filename:n,dirname:e}}}))}();
$__System.register("2", [], function (_export) {
"use strict";
return {
setters: [],
execute: function () {
_export("default", window.angular);
}
};
});
$__System.register('3', [], function (_export) {
'use strict';
function formlyConfig(formlyConfigProvider, EasyFormGenFormlyBindingModelsProvider, easyFormDragWayConfigProvider) {
formlyConfigProvider.setType({
name: 'blank',
template: '<div></div>'
});
EasyFormGenFormlyBindingModelsProvider.addEasyFormControlToList({
id: 'empty',
name: 'no control',
subtitle: 'no control',
group: 'Blank',
formlyType: 'blank',
formlySubtype: '',
formlyLabel: '',
formlyRequired: false,
formlyDesciption: '',
formlyOptions: []
});
easyFormDragWayConfigProvider.addControlToDragDropPresentationModel({
label: '<div class="col-md-12">\n <div class="form-group"> \n <div class="">\n </div>\n </div>\n </div>',
control: 'empty',
cssClass: 'col-xs-12'
}, {
addToGroupCtrl: 'blank'
});
EasyFormGenFormlyBindingModelsProvider.addEasyFormControlToList({
id: 'Header',
name: 'Header',
subtitle: 'no control',
group: 'Decoration',
formlyType: 'header',
formlySubtype: '',
formlyLabel: '',
formlyRequired: false,
formlyDesciption: '',
formlyOptions: []
});
easyFormDragWayConfigProvider.addControlToDragDropPresentationModel({
label: ['<div class="col-md-12">\n <div class="form-group"> \n <div class="">\n <h2 class="text-center">Header</h2>\n <hr/>\n </div>\n </div>\n </div>'].join(''),
control: 'Header',
cssClass: 'col-xs-12'
}, {
addToGroupCtrl: 'headers'
});
var subTitleTemplate = '\n <div class="row"> \n <div class=""> \n <h4 class="text-center">{{options.templateOptions.placeholder}}<h4> \n <hr/>\n </div>\n </div>';
formlyConfigProvider.setType({
name: 'subTitle',
template: subTitleTemplate
});
EasyFormGenFormlyBindingModelsProvider.addEasyFormControlToList({
id: 'Subtitle',
name: 'Subtitle',
subtitle: 'no control',
group: 'Decoration',
formlyType: 'subTitle',
formlySubtype: '',
formlyLabel: '',
formlyRequired: false,
formlyDesciption: '',
formlyOptions: []
});
easyFormDragWayConfigProvider.addControlToDragDropPresentationModel({
'label': '<div class="col-md-12">\n <div class="form-group"> \n <div class="">\n <h4 class="text-center">SubTitle</h4>\n <hr/>\n </div>\n </div>\n </div>',
'control': 'Subtitle',
'cssClass': 'col-xs-12'
}, {
addToGroupCtrl: 'headers'
});
EasyFormGenFormlyBindingModelsProvider.addEasyFormControlToList({
id: 'TextInput',
name: 'Text input',
subtitle: 'Text input',
group: 'input',
formlyType: 'input',
formlySubtype: '',
formlyLabel: '',
formlyRequired: false,
formlyDesciption: '',
formlyOptions: []
});
/**
* drag and drop text input (basic) control template
*
*
* @PARAM 1 : control template object (drag an drop)
* @PARAM 2 : object to indicates in which group of control it will be inserted
* (related to _dragDropConfigModel.containerConfig.decoration in dragDropConfig provider)
*/
easyFormDragWayConfigProvider.addControlToDragDropPresentationModel({
'label': '<div class="col-md-12">\n <div class="form-group">\n <label for="inputText" class="control-label textControlLabel pull-left">\n title for text input<span class="textControlLabel ng-scope">*</span>\n </label>\n <div class="">\n <input type="text" disabled class="form-control fakeControl" id="inputText" placeholder="basic input">\n <p class="help-block pull-left">Description</p>\n </div>\n </div>\n </div>',
'control': 'TextInput',
'cssClass': 'col-xs-12'
}, {
addToGroupCtrl: 'inputs'
});
/**
* Add text input (Password)
*
* note : formly template already exists
* no need to create a custom one
*
* just declare in EasyFormGenFormlyBindingModelsProvider
*/
EasyFormGenFormlyBindingModelsProvider.addEasyFormControlToList({
id: 'Password',
name: 'Password',
subtitle: 'Password',
group: 'input',
formlyType: 'input',
formlySubtype: 'password',
formlyLabel: '',
formlyRequired: false,
formlyDesciption: '',
formlyOptions: []
});
/**
* drag and drop text input — password —control template
*
*
* @PARAM 1 : control template object (drag an drop)
* @PARAM 2 : object to indicates in which group of control it will be inserted
* (related to _dragDropConfigModel.containerConfig.decoration in dragDropConfig provider)
*/
easyFormDragWayConfigProvider.addControlToDragDropPresentationModel({
'label': '<div class="col-md-12">\n <div class="form-group">\n <label for="inputPass" class="control-label textControlLabel ng-binding pull-left">\n title for password input<span class="textControlLabel ng-scope">*</span>\n </label>\n <div class="">\n <input type="password" disabled class="form-control fakeControl" id="inputPass" placeholder="password input">\n <p class="help-block ng-binding pull-left">Description</p>\n </div>\n </div>\n </div>',
'control': 'Password',
'cssClass': 'col-xs-12'
}, {
addToGroupCtrl: 'inputs'
});
/**
* Add angular UI date picker
*
* thx Kent C. Dodds for formly config template (since it was a huge config)
*/
var attributes = ['date-disabled', 'custom-class', 'show-weeks', 'starting-day', 'init-date', 'min-mode', 'max-mode', 'format-day', 'format-month', 'format-year', 'format-day-header', 'format-day-title', 'format-month-title', 'year-range', 'shortcut-propagation', 'datepicker-popup', 'show-button-bar', 'current-text', 'clear-text', 'close-text', 'close-on-date-selection', 'datepicker-append-to-body'];
var bindings = ['datepicker-mode', 'min-date', 'max-date'];
var ngModelAttrs = {};
angular.forEach(attributes, function (attr) {
return ngModelAttrs[camelize(attr)] = { attribute: attr };
});
angular.forEach(bindings, function (binding) {
return ngModelAttrs[camelize(binding)] = { bound: binding };
});
function camelize(string) {
string = string.replace(/[\-_\s]+(.)?/g, function (match, chr) {
return chr ? chr.toUpperCase() : '';
});
// Ensure 1st char is always lowercase
return string.replace(/^([A-Z])/, function (match, chr) {
return chr ? chr.toLowerCase() : '';
});
}
var angularUIDatePickerTemplate = '\n <input \n id="{{id}}" \n class="form-control" \n ng-click="open($event)"\n ng-model="model[options.key || index]" is-open="to.isOpen"\n ng-click="to.isOpen = true" \n datepicker-options="to.datepickerOptions"/>';
formlyConfigProvider.setType({
name: 'datepicker',
template: angularUIDatePickerTemplate,
wrapper: ['bootstrapLabel', 'bootstrapHasError'],
controller: ['$scope', function ($scope) {
$scope.open = function ($event) {
$event.preventDefault();
$event.stopPropagation();
$scope.opened = true;
};
}],
defaultOptions: {
ngModelAttrs: ngModelAttrs,
templateOptions: {
addonLeft: {
'class': 'glyphicon glyphicon-calendar',
onClick: function onClick(options) {
return options.templateOptions.isOpen = !options.templateOptions.isOpen;
}
},
onFocus: function onFocus($viewValue, $modelValue, scope) {
return scope.to.isOpen = !scope.to.isOpen;
},
datepickerOptions: {}
}
}
});
EasyFormGenFormlyBindingModelsProvider.addEasyFormControlToList({
id: 'Date',
name: 'Date',
subtitle: 'Date',
group: 'input',
formlyType: 'datepicker',
formlySubtype: '',
formlyLabel: '',
formlyRequired: false,
formlyDesciption: '',
formlyOptions: [],
datepickerPopup: 'dd-MMMM-yyyy'
});
/**
* drag and drop text input — date — control template (using angular UI datepicker)
*
*
* @PARAM 1 : control template object (drag an drop)
* @PARAM 2 : object to indicates in which group of control it will be inserted
* (related to _dragDropConfigModel.containerConfig.decoration in dragDropConfig provider)
*/
easyFormDragWayConfigProvider.addControlToDragDropPresentationModel({
label: '\n <div class="col-md-12">\n <div class="form-group">\n <label for="inputDate" class="control-label textControlLabel ng-binding pull-left">\n title for date input<span class="textControlLabel ng-scope">*</span>\n </label>\n <div class="col-xs-12 col-sm-12 col-md-12 demoddDatepicker">\n\t\t\t\t\t<div class="input-group">\n \t\t\t\t\t<span class="input-group-addon"><span class="glyphicon glyphicon-calendar"></span></span>\n \t\t\t\t\t<input type="text" disabled class="form-control fakeControl">\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n <p class="help-block pull-left">description</p>\n </div>\n </div>',
control: 'Date',
cssClass: 'col-xs-12'
}, {
addToGroupCtrl: 'inputs'
});
/**
* Add textarea
*
* note : formly template already exists
* no need to create a custom one
*
* just declare in EasyFormGenFormlyBindingModelsProvider
*/
EasyFormGenFormlyBindingModelsProvider.addEasyFormControlToList({
id: 'Texarea',
name: 'Textarea',
subtitle: 'Textarea',
group: 'Textarea',
formlyType: 'textarea',
formlySubtype: '',
formlyLabel: '',
formlyRequired: false,
formlyDesciption: '',
formlyOptions: []
});
/**
* drag and drop textarea control template
*
*
* @PARAM 1 : control template object (drag an drop)
* @PARAM 2 : object to indicates in which group of control it will be inserted
* (related to _dragDropConfigModel.containerConfig.decoration in dragDropConfig provider)
*/
easyFormDragWayConfigProvider.addControlToDragDropPresentationModel({
'label': '\n <div class="col-md-12">\n <div class="form-group">\n <label for="textArea" class="control-label \n \t\t\t\t\t\t\ttextControlLabel pull-left">title for textarea <span class="textControlLabel">*</span></label> \n <div class="">\n <textarea disabled class="form-control dragItemtextarea fakeControl" ng-model="model[options.key]" rows="1" id="textArea"></textarea>\n <p class="help-block pull-left">description</p> \n </div>\n </div> \n </div>',
'control': 'Texarea',
'cssClass': 'col-xs-12'
}, {
addToGroupCtrl: 'textareas'
});
/**
* Add rich text editor control (using textAngular)
*
*/
var richTexEditorTemplate = '\n <text-angular name="{{id}}" \n class="richTextAngular" \n ng-model="model[options.key || index]">\n </text-angular>';
formlyConfigProvider.setType({
name: 'richEditor',
template: richTexEditorTemplate
});
EasyFormGenFormlyBindingModelsProvider.addEasyFormControlToList({
id: 'RichTextEditor',
name: 'RichTextEditor',
subtitle: 'RichTextEditor',
group: 'Textarea',
formlyType: 'richEditor',
formlySubtype: '',
formlyLabel: '',
formlyRequired: false,
formlyDesciption: '',
formlyOptions: []
});
/**
* drag and drop rich text editor control template (using textAngular)
*
*
* @PARAM 1 : control template object (drag an drop)
* @PARAM 2 : object to indicates in which group of control it will be inserted
* (related to _dragDropConfigModel.containerConfig.decoration in dragDropConfig provider)
*/
easyFormDragWayConfigProvider.addControlToDragDropPresentationModel({
label: '\n <div class="col-md-12">\n <div class="form-group">\n <label for="textArea" class="control-label \n \t\t\t\t\t\t\ttextControlLabel pull-left">title for rich text editor <span class="textControlLabel">*</span></label>\n <div class="">\n <textarea disabled class="form-control dragItemtextarea fakeControl" ng-model="model[options.key]" rows="1" id="textArea"></textarea>\n <p class="help-block">description</p>\n </div>\n </div>\n </div>',
control: 'RichTextEditor',
cssClass: 'col-xs-12'
}, {
addToGroupCtrl: 'textareas'
});
/**
* Add radio
*
* note : formly template already exists
* no need to create a custom one
*
* just declare in EasyFormGenFormlyBindingModelsProvider
*/
EasyFormGenFormlyBindingModelsProvider.addEasyFormControlToList({
id: 'Radio',
name: 'Radio',
subtitle: 'Radio',
options: [],
group: 'Radio',
formlyType: 'radio',
formlySubtype: '',
formlyLabel: '',
formlyRequired: false,
formlyDesciption: '',
formlyOptions: []
});
/**
* drag and drop radio control template (using textAngular)
*
*
* @PARAM 1 : control template object (drag an drop)
* @PARAM 2 : object to indicates in which group of control it will be inserted
* (related to _dragDropConfigModel.containerConfig.decoration in dragDropConfig provider)
*/
easyFormDragWayConfigProvider.addControlToDragDropPresentationModel({
'label': '\n <div class="col-md-12"> \n <div class="form-group">\n <label for="vertRadio" class="control-label textControlLabel pull-left">title for radio <span class="textControlLabel">*</span></label>\n <div class="interligne"></div>\n <div class="pull-left">\n <div class="radio">\n <label class="fakeCheck">\n <input type="radio" disabled name="optionsRadios" class="fakeCheck" id="optionsRadio-0" value="verticalRadio0" checked="">\n option1\n </label>\n </div>\n <div class="radio">\n <label class="fakeCheck">\n <input type="radio" disabled name="optionsRadios" class="fakeCheck" id="optionsRadio-1" value="verticalRadio1" checked="">\n option2\n </label>\n </div>\n <p class="help-block pull-left">description</p>\n </div>\n </div> \n </div>',
'control': 'Radio',
'cssClass': 'col-xs-12'
}, {
addToGroupCtrl: 'radios'
});
/**
* Add checkbox
*
* note : formly template already exists
* no need to create a custom one
*
* just declare in EasyFormGenFormlyBindingModelsProvider
*/
EasyFormGenFormlyBindingModelsProvider.addEasyFormControlToList({
id: 'Checkbox',
name: 'Checkbox',
subtitle: 'Checkbox',
group: 'Checkbox',
formlyType: 'checkbox',
formlySubtype: '',
formlyLabel: '',
formlyRequired: false,
formlyDesciption: '',
formlyOptions: []
});
/**
* drag and drop checkbox control template (using textAngular)
*
*
* @PARAM 1 : control template object (drag an drop)
* @PARAM 2 : object to indicates in which group of control it will be inserted
* (related to _dragDropConfigModel.containerConfig.decoration in dragDropConfig provider)
*/
easyFormDragWayConfigProvider.addControlToDragDropPresentationModel({
label: '\n <div class="col-md-12">\n <div class="checkbox">\n <label class="fakeCheck">\n <input type="checkbox" disabled class="fakeCheck" id="checkBox">\n \t\t<span class="blackText ng-binding">label for checkbox </span>\n \t\t<span class="textControlLabel ng-scope">*</span>\n </label>\n </div>\n <p class="help-block ng-binding">description</p>\n </div>',
control: 'Checkbox',
cssClass: 'col-xs-12'
}, {
addToGroupCtrl: 'checkboxes'
});
/**
* Add basic Select control
*
* using nya-bs-select
*/
var basicSelectTemplate = '\n <ol class="nya-bs-select col-sm-12 col-xs-12 col-md-12 col-lg12" \n \t\tng-model="model[options.key || index]" \n \t\tid="{{id}}" \n \t\tdisabled="options.templateOptions.options.length === 0"> \n <li class="nya-bs-option" nya-bs-option="option in options.templateOptions.options"> \n <a>{{option.name}}</a> \n </li>\n </ol> ';
formlyConfigProvider.setType({
name: 'basicSelect',
template: basicSelectTemplate
});
EasyFormGenFormlyBindingModelsProvider.addEasyFormControlToList({
id: 'BasicSelect',
name: 'Basic select',
subtitle: 'Basic select',
options: [],
group: 'Select',
formlyType: 'basicSelect',
formlySubtype: '',
formlyLabel: '',
formlyRequired: false,
formlyDesciption: '',
formlyOptions: []
});
/**
* drag and drop basic select control template (using textAngular)
*
*
* @PARAM 1 : control template object (drag an drop)
* @PARAM 2 : object to indicates in which group of control it will be inserted
* (related to _dragDropConfigModel.containerConfig.decoration in dragDropConfig provider)
*/
easyFormDragWayConfigProvider.addControlToDragDropPresentationModel({
label: '\n <div class="col-md-12">\n <div class="form-group">\n <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 selectfordemo">\n\n <ol class="nya-bs-select col-xs-12 col-sm-12 col-md-12 col-lg-12 ng-valid btn-group ng-dirty ng-valid-parse ng-touched"\n \tng-model="fakeModelNyaSelectBasic"\n \tdata-live-search="false">\n \n <button class="btn btn-default dropdown-toggle" disabled type="button">\n \t\t <span class="pull-left filter-option">\n \t\t\t <span class="ng-binding">Basic select</span>\n \t\t</span>\n \t\t&nbsp;<span class="caret"></span>\n </button>\n\n </div>\n </div>',
control: 'BasicSelect',
cssClass: 'col-xs-12'
}, {
addToGroupCtrl: 'selects'
});
/**
* Add Grouped Select control
*
* using nya-bs-select
*/
var groupedSelectTemplate = '\n <ol class="nya-bs-select col-sm-12 col-xs-12 col-md-12 col-lg12"\n\t\t ng-model="model[options.key || index]"\n data-live-search="true" \n disabled="options.templateOptions.options.length === 0">\n <li nya-bs-option="option in options.templateOptions.options group by option.group">\n <span class="dropdown-header">{{$group}}</span>\n <a>\n <span>{{option.name}}</span>\n <span class="glyphicon glyphicon-ok check-mark"></span>\n </a>\n </li>\n </ol>';
formlyConfigProvider.setType({
name: 'groupedSelect',
template: groupedSelectTemplate
});
EasyFormGenFormlyBindingModelsProvider.addEasyFormControlToList({
id: 'GroupedSelect',
name: 'Grouped Select',
subtitle: 'Grouped Select',
options: [],
group: 'Select',
formlyType: 'groupedSelect',
formlySubtype: '',
formlyLabel: '',
formlyRequired: false,
formlyDesciption: '',
formlyOptions: []
});
/**
* drag and drop grouped select control template (using textAngular)
*
*
* @PARAM 1 : control template object (drag an drop)
* @PARAM 2 : object to indicates in which group of control it will be inserted
* (related to _dragDropConfigModel.containerConfig.decoration in dragDropConfig provider)
*/
easyFormDragWayConfigProvider.addControlToDragDropPresentationModel({
label: '\n <div class="col-md-12">\n <div class="form-group">\n <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 selectfordemo">\n <ol class="nya-bs-select col-xs-12 col-sm-12 col-md-12 col-lg-12 ng-valid btn-group ng-dirty ng-valid-parse ng-touched"\n \tng-model="fakeModelNyaSelectBasic"\n \tdata-live-search="false">\n <button class="btn btn-default dropdown-toggle" disabled type="button">\n \t\t <span class="pull-left filter-option">\n \t\t\t <span class="ng-binding">Grouped select</span>\n \t\t</span>\n \t\t&nbsp;<span class="caret"></span>\n </button>\n </div>\n </div>',
control: 'GroupedSelect',
cssClass: 'col-xs-12'
}, {
addToGroupCtrl: 'selects'
});
}
return {
setters: [],
execute: function () {
formlyConfig.$inject = ['formlyConfigProvider', 'EasyFormGenFormlyBindingModelsProvider', 'easyFormDragWayConfigProvider'];
_export('default', formlyConfig);
}
};
});
$__System.registerDynamic("4", [], true, function($__require, exports, module) {
;
var global = this,
__define = global.define;
global.define = undefined;
module.exports = {
"stepway": {"version": "1.1.0"},
"dragdropway": {"version": "1.1.0"},
"formviewer": {"version": "1.1.0"}
};
global.define = __define;
return module.exports;
});
$__System.register('5', ['4'], function (_export) {
'use strict';
var easyFormConfig, EASY_FORM_DD_VERSION_NAME, EASY_FORM_DD_VERSION_VALUE;
function dragDropConfigFunct(easyFormDragWayConfigProvider) {
easyFormDragWayConfigProvider.setItemsNotTocount({
//placeholder : '',
itemBeingDragged: 'dndDraggingSource'
});
}
return {
setters: [function (_) {
easyFormConfig = _['default'];
}],
execute: function () {
EASY_FORM_DD_VERSION_NAME = 'easyFormGenVersion';
EASY_FORM_DD_VERSION_VALUE = easyFormConfig.dragdropway.version;
dragDropConfigFunct.$inject = ['easyFormDragWayConfigProvider'];
_export('default', dragDropConfigFunct);
_export('EASY_FORM_DD_VERSION_NAME', EASY_FORM_DD_VERSION_NAME);
_export('EASY_FORM_DD_VERSION_VALUE', EASY_FORM_DD_VERSION_VALUE);
}
};
});
$__System.register('6', [], function (_export) {
'use strict';
var CORE_MODULES;
return {
setters: [],
execute: function () {
CORE_MODULES = ['textAngular', 'textAngularSetup', 'ngAnimate', 'toaster', 'formly', 'formlyBootstrap', 'ui.bootstrap', 'nya.bootstrap.select', 'mgcrea.ngStrap.affix'
// 'pascalprecht.translate'
];
_export('default', angular.module('easyFormGen.dragDropWay.core', CORE_MODULES));
}
};
});
$__System.register('7', [], function (_export) {
'use strict';
var dateFormats, setToday, clearDateTime;
return {
setters: [],
execute: function () {
dateFormats = ['dd-MMMM-yyyy', 'yyyy/MM/dd', 'dd.MM.yyyy', 'shortDate'];
setToday = function setToday(datetimePickerModel) {
datetimePickerModel.dt = new Date();
};
clearDateTime = function clearDateTime(datetimePickerModel) {
datetimePickerModel.dt = new Date();
};
_export('dateFormats', dateFormats);
_export('setToday', setToday);
_export('clearDateTime', clearDateTime);
}
};
});
$__System.register('8', ['7', '9', 'a'], function (_export) {
var dateFormats, setToday, clearDateTime, _createClass, _classCallCheck, LEFT_PANEL_CONTROLLER, LEFT_PANEL_CONTROLLERAS, leftPanelController;
return {
setters: [function (_2) {
dateFormats = _2.dateFormats;
setToday = _2.setToday;
clearDateTime = _2.clearDateTime;
}, function (_) {
_createClass = _['default'];
}, function (_a) {
_classCallCheck = _a['default'];
}],
execute: function () {
'use strict';
LEFT_PANEL_CONTROLLER = 'leftPanelController';
LEFT_PANEL_CONTROLLERAS = 'leftPanelCtrl';
leftPanelController = (function () {
function leftPanelController(toaster, $timeout, $selectOptionMange, controllerModalProxy) {
_classCallCheck(this, leftPanelController);
this.toaster = toaster;
this.$timeout = $timeout;
this.$selectOptionMange = $selectOptionMange;
this.controllerModalProxy = controllerModalProxy;
this.init();
}
_createClass(leftPanelController, [{
key: 'init',
value: function init() {
this.proxyModel = this.controllerModalProxy.proxyModel;
this.proxyModel.selectedControl = this.proxyModel.temporyConfig.selectedControl;
this.basicSelectRowCollection = this.controllerModalProxy.basicSelectRowCollection;
this.newOptionBasicSelect = this.controllerModalProxy.newOptionBasicSelect;
this.groupedSelectRowCollection = this.controllerModalProxy.groupedSelectRowCollection;
this.newOptionGroupedSelect = this.controllerModalProxy.newOptionGroupedSelect;
this.GroupedSelectGroups = this.controllerModalProxy.GroupedSelectGroups;
this.newGroupGroupedSelect = this.controllerModalProxy.newGroupGroupedSelect;
this.groupSelectGroupClick = this.controllerModalProxy.groupSelectGroupClick;
this.radioRowCollection = this.controllerModalProxy.radioRowCollection;
this.newOptionRadio = this.controllerModalProxy.newOptionRadio;
this.demodt = {};
this.demodt.formats = dateFormats;
this.dateOptions = this.getDateOptions();
// this.controllerModalProxy.resetAllTemporyModels();
this.initNyaSelectConformingSelectedControl();
}
}, {
key: 'getDateOptions',
value: function getDateOptions() {
var dateOptions = {
formatYear: 'yy',
startingDay: 1,
showWeeks: true,
initDate: null
};
return dateOptions;
}
}, {
key: 'initNyaSelectConformingSelectedControl',
value: function initNyaSelectConformingSelectedControl() {
//place proxyModel to selection if not none :
if (this.proxyModel.temporyConfig.selectedControl !== 'none') {
for (var i = this.proxyModel.controls.length - 1; i >= 0; i--) {
if (this.proxyModel.controls[i].id === this.proxyModel.temporyConfig.selectedControl) this.modelproxyModel = this.proxyModel.controls[i];
}
if (this.proxyModel.temporyConfig.selectedControl === 'BasicSelect') this.controllerModalProxy.bindBasicSelectFromProxyModel(self.basicSelectRowCollection);
if (this.proxyModel.temporyConfig.selectedControl === 'GroupedSelect') this.controllerModalProxy.bindGroupedSelectFromProxyModel(this.groupedSelectRowCollection, this.GroupedSelectGroups);
if (this.proxyModel.temporyConfig.selectedControl === 'Radio') this.controllerModalProxy.bindRadioFromProxyModel(this.radioRowCollection);
}
}
}, {
key: 'updateSpecialControl',
value: function updateSpecialControl() {
//refresh service data for particular controls as selects and radio
this.proxyModel.basicSelectRowCollection = this.basicSelectRowCollection;
this.proxyModel.newOptionBasicSelect = this.newOptionBasicSelect;
this.proxyModel.groupedSelectRowCollection = this.groupedSelectRowCollection;
this.proxyModel.newOptionGroupedSelect = this.newOptionGroupedSelect;
this.proxyModel.GroupedSelectGroups = this.GroupedSelectGroups;
this.proxyModel.newGroupGroupedSelect = this.newGroupGroupedSelect;
this.proxyModel.groupSelectGroupClick = this.groupSelectGroupClick;
this.proxyModel.radioRowCollection = this.radioRowCollection;
this.proxyModel.newOptionRadio = this.newOptionRadio;
//force apply update proxyModel
this.controllerModalProxy.bindSpecialCtrlTemporyModelsToProxyModel();
return true;
}
}, {
key: 'resetTemporyConfig',
value: function resetTemporyConfig() {
this.proxyModel.temporyConfig = {
formlyLabel: '',
formlyRequired: false,
formlyPlaceholder: '',
formlyDesciption: '',
formlyOptions: []
};
}
}, {
key: 'resetControl',
value: function resetControl() {
this.proxyModel.temporyConfig.formlyLabel = '';
this.proxyModel.temporyConfig.formlyRequired = false;
this.proxyModel.temporyConfig.formlyPlaceholder = '';
this.proxyModel.temporyConfig.formlyDesciption = '';
this.proxyModel.temporyConfig.formlyOptions = [];
this.proxyModel.temporyConfig.datepickerPopup = this.initDatePicker();
}
}, {
key: 'initDatePicker',
value: function initDatePicker() {
this.proxyModel.temporyConfig.datepickerPopup = this.demodt.formats[0];
}
}, {
key: 'selectThisControl',
value: function selectThisControl(controlName) {
this.proxyModel.selectedControl = 'none';
this.resetTemporyConfig();
for (var i = this.proxyModel.controls.length - 1; i >= 0; i--) {
if (this.proxyModel.controls[i].id === controlName) {
this.proxyModel.selectedControl = this.proxyModel.controls[i].id;
}
}
if (this.proxyModel.selectedControl === 'Date') this.initDatePicker();
}
/**
* ==============================================================
* specific controls management
* (display, properties.... : ex : grouped Select)
* ==============================================================
*/
}, {
key: 'addNewOptionRadio',
value: function addNewOptionRadio() {
var result = this.$selectOptionMange.addNewOptionRadio(this.radioRowCollection, this.newOptionRadio.saisie);
if (result.resultFlag === false) {
this.toaster.pop({
type: 'warning',
timeout: 2000,
title: result.details,
body: '\'' + this.newOptionRadio.saisie + '\' cannot be added.',
showCloseButton: true
});
}
//reset input
this.newOptionRadio = { saisie: '' };
}
}, {
key: 'removeRadioRow',
value: function removeRadioRow(index) {
var result = this.$selectOptionMange.removeOption(this.radioRowCollection, index);
if (result.resultFlag === false) {
this.toaster.pop({
type: 'warning',
timeout: 2000,
title: result.details,
body: 'Delete was cancelled.',
showCloseButton: true
});
}
}
}, {
key: 'upThisRadioRow',
value: function upThisRadioRow(index) {
var result = this.$selectOptionMange.upthisOption(this.radioRowCollection, index);
if (result.resultFlag === false) {
this.toaster.pop({
type: 'warning',
timeout: 2000,
title: result.details,
body: 'Operation cancelled.',
showCloseButton: true
});
}
}
}, {
key: 'downThisRadioRow',
value: function downThisRadioRow(index) {
var result = this.$selectOptionMange.downthisOption(this.radioRowCollection, index);
if (result.resultFlag === false) {
this.toaster.pop({
type: 'warning',
timeout: 2000,
title: result.details,
body: 'Operation cancelled.',
showCloseButton: true
});
}
}
}, {
key: 'addNewOptionBasicSelect',
value: function addNewOptionBasicSelect() {
var result = this.$selectOptionMange.addNewOptionBasicSelect(this.basicSelectRowCollection, this.newOptionBasicSelect.saisie);
if (result.resultFlag === false) {
this.toaster.pop({
type: 'warning',
timeout: 2000,
title: result.details,
body: '\'' + this.newOptionBasicSelect.saisie + '\' cannot be added.',
showCloseButton: true
});
}
this.newOptionBasicSelect = { saisie: '' }; //reset input
}
}, {
key: 'removeRow',
value: function removeRow(index) {
var result = this.$selectOptionMange.removeOption(this.basicSelectRowCollection, index);
if (result.resultFlag === false) {
this.toaster.pop({
type: 'warning',
timeout: 2000,
title: result.details,
body: 'Delete was cancelled.',
showCloseButton: true
});
}
}
}, {
key: 'upThisRow',
value: function upThisRow(index) {
var result = this.$selectOptionMange.upthisOption(this.basicSelectRowCollection, index);
if (result.resultFlag === false) {
this.toaster.pop({
type: 'warning',
timeout: 2000,
title: result.details,
body: 'Operation cancelled.',
showCloseButton: true
});
}
}
}, {
key: 'downThisRow',
value: function downThisRow(index) {
var result = this.$selectOptionMange.downthisOption(this.basicSelectRowCollection, index);
if (result.resultFlag === false) {
this.toaster.pop({
type: 'warning',
timeout: 2000,
title: result.details,
body: 'Operation cancelled.',
showCloseButton: true
});
}
}
}, {
key: 'showGroupListToChoose',
value: function showGroupListToChoose() {
this.groupSelectGroupClick.showList = !this.groupSelectGroupClick.showList;
}
}, {
key: 'addNewGroupToGroupedSelect',
value: function addNewGroupToGroupedSelect() {
if (this.newGroupGroupedSelect.saisie !== '') {
for (var i = this.GroupedSelectGroups.list.length - 1; i >= 0; i--) {
if (this.GroupedSelectGroups.list[i] === this.newGroupGroupedSelect.saisie) {
this.toaster.pop({
type: 'warning',
timeout: 2000,
title: 'Group already exists',
body: 'No group added.',
showCloseButton: true
});
}
}
this.GroupedSelectGroups.list.push(this.newGroupGroupedSelect.saisie);
} else {
this.toaster.pop({
type: 'warning',
timeout: 2000,
title: 'Not a valid group to add',
body: 'No group added.',
showCloseButton: true
});
}
this.newGroupGroupedSelect.saisie = '';
}
}, {
key: 'addNewOptionGroupedSelect',
value: function addNewOptionGroupedSelect() {
var result = this.$selectOptionMange.addNewOptionGroupedSelect(this.groupedSelectRowCollection, this.newOptionGroupedSelect.saisie, '');
if (result.resultFlag === false) {
this.toaster.pop({
type: 'warning',
timeout: 2000,
title: result.details,
body: '\'' + this.newOptionGroupedSelect.saisie + '\' cannot be added.',
showCloseButton: true
});
}
//bind nya : dont bind here $apply is not done fast enough
//bindGroupedSelectToNya();
//reset input
this.newOptionGroupedSelect = { saisie: '' };
}
}, {
key: 'removeGroupedSelectRow',
value: function removeGroupedSelectRow(index) {
var result = this.$selectOptionMange.removeOption(this.groupedSelectRowCollection, index);
if (result.resultFlag === false) {
this.toaster.pop({
type: 'warning',
timeout: 2000,
title: result.details,
body: 'Delete was cancelled.',
showCloseButton: true
});
}
}
}, {
key: 'upThisGroupedSelectRow',
value: function upThisGroupedSelectRow(index) {
var result = this.$selectOptionMange.upthisOption(this.groupedSelectRowCollection, index);
if (result.resultFlag === false) {
this.toaster.pop({
type: 'warning',
timeout: 2000,
title: result.details,
body: 'Operation cancelled.',
showCloseButton: true
});
}
}
}, {
key: 'downThisGroupedSelectRow',
value: function downThisGroupedSelectRow(index) {
var result = this.$selectOptionMange.downthisOption(this.groupedSelectRowCollection, index);
if (result.resultFlag === false) {
this.toaster.pop({
type: 'warning',
timeout: 2000,
title: result.details,
body: 'Operation cancelled.',
showCloseButton: true
});
}
}
}, {
key: 'today',
value: function today() {
setToday(this.demodt);
}
}, {
key: 'clear',
value: function clear() {
clearDateTime(this.demodt);
}
}, {
key: 'open',
value: function open($event) {
$event.preventDefault();
$event.stopPropagation();
this.demodt.opened = true;
}
}]);
return leftPanelController;
})();
leftPanelController.$inject = ['toaster', '$timeout', '$selectOptionMange', 'controllerModalProxy'];
_export('default', leftPanelController);
_export('LEFT_PANEL_CONTROLLER', LEFT_PANEL_CONTROLLER);
_export('LEFT_PANEL_CONTROLLERAS', LEFT_PANEL_CONTROLLERAS);
}
};
});
$__System.registerDynamic("b", [], true, function($__require, exports, module) {
;
var global = this,
__define = global.define;
global.define = undefined;
module.exports = "<div id=\"controlEditLeftPanel\">\n\t<div class=\"pull-right\">\n\t\t<button\n type=\"button\"\n class=\"close\"\n ng-click=\"leftPanelCtrl.closeEditPanel()\"\n aria-label=\"Close\">\n\t\t\t<span\n aria-hidden=\"true\">\n &times;\n </span>\n\t\t</button>\n\t</div>\n\t<div class=\"separator10pixel\"></div>\n\t<div ng-switch on=\"leftPanelCtrl.proxyModel.temporyConfig.selectedControl\">\n\t\t<div ng-switch-when=\"none\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<div class=\"col-sm-12\">\n\t\t\t\t\t<h5 class=\"text-center texteRouge\">\n <i class=\"fa fa-arrow-up\"></i>\n &nbsp;\n Select a control\n </h5>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div ng-switch-when=\"empty\">\n\t\t\t<left-panel-blank-control />\n\t\t</div>\n\t\t<div ng-switch-when=\"Header\">\n\t\t\t<left-panel-header-control />\n\t\t</div>\n\t\t<div ng-switch-when=\"Subtitle\">\n\t\t\t<left-panel-subtitle-control />\n\t\t</div>\n\t\t<div ng-switch-when=\"TextInput\">\n\t\t\t<left-panel-text-input-control />\n\t\t</div>\n\t\t<div ng-switch-when=\"Password\">\n\t\t\t<left-panel-password-control />\n\t\t</div>\n\t\t<div ng-switch-when=\"Date\">\n\t\t\t<left-panel-date-control />\n\t\t</div>\n\t\t<div ng-switch-when=\"Texarea\">\n\t\t\t<left-panel-textarea-control />\n\t\t</div>\n\t\t<div ng-switch-when=\"RichTextEditor\">\n\t\t\t<left-panel-rich-text-editor-control />\n\t\t</div>\n\t\t<div ng-switch-when=\"Radio\">\n\t\t\t<left-panel-radio-control />\n\t\t</div>\n\t\t<div ng-switch-when=\"Checkbox\">\n\t\t\t<left-panel-check-box-control />\n\t\t</div>\n\t\t<div ng-switch-when=\"BasicSelect\">\n\t\t\t<left-panel-basic-select-control />\n\t\t</div>\n\t\t<div ng-switch-when=\"GroupedSelect\">\n\t\t\t<left-panel-grouped-select-control />\n\t\t</div>\n\t</div>\n\t<button\n class=\"btn btn-primary btn-block pull-right\"\n ng-click=\"leftPanelCtrl.closeEditPanel()\">\n Close\n </button>\n</div>\n";
global.define = __define;
return module.exports;
});
$__System.register('c', ['8', 'b'], function (_export) {
'use strict';
var LEFT_PANEL_CONTROLLER, LEFT_PANEL_CONTROLLERAS, leftPanelTemplate, LEFT_PANEL_DIRECTIVE;
function leftPanel() {
var directive = {
restrict: 'E',
template: leftPanelTemplate,
scope: {},
controller: LEFT_PANEL_CONTROLLER,
controllerAs: LEFT_PANEL_CONTROLLERAS,
bindToController: {
closeEditPanel: '&',
selectedControl: '&',
saveFromEditPanel: '&'
}
};
return directive;
}
return {
setters: [function (_) {
LEFT_PANEL_CONTROLLER = _.LEFT_PANEL_CONTROLLER;
LEFT_PANEL_CONTROLLERAS = _.LEFT_PANEL_CONTROLLERAS;
}, function (_b) {
leftPanelTemplate = _b['default'];
}],
execute: function () {
LEFT_PANEL_DIRECTIVE = 'leftPanel';
leftPanel.$inject = [];
_export('default', leftPanel);
_export('LEFT_PANEL_DIRECTIVE', LEFT_PANEL_DIRECTIVE);
}
};
});
$__System.register('d', [], function (_export) {
/* global angular */
'use strict';
var resetModel, validOption;
return {
setters: [],
execute: function () {
resetModel = function resetModel(selectObj) {
var zeroModel = { rows: [] };
angular.copy(zeroModel, selectObj);
};
validOption = function validOption(selectObj, newOptionText) {
var fullResponse = {
resultFlag: false,
details: ''
};
if (typeof newOptionText === 'undefined') {
fullResponse.resultFlag = false;
fullResponse.details = 'Entered option is empty';
return fullResponse;
}
if (newOptionText !== '') {
for (var i = selectObj.rows.length - 1; i >= 0; i--) {
if (selectObj.rows[i].option === newOptionText) {
fullResponse.resultFlag = false;
fullResponse.details = 'Entered option is not unique';
return fullResponse;
}
}
fullResponse.resultFlag = true;
fullResponse.details = '';
return fullResponse;
}
fullResponse.resultFlag = false;
fullResponse.details = 'Entered option is empty';
return fullResponse;
};
_export('resetModel', resetModel);
_export('validOption', validOption);
}
};
});
$__System.register('e', ['9', 'a', 'd'], function (_export) {
var _createClass, _classCallCheck, helpers, LEFT_PANEL_SELECT_OPTION_MANAGE_SERVICE, selectOptionMange;
return {
setters: [function (_) {
_createClass = _['default'];
}, function (_a) {
_classCallCheck = _a['default'];
}, function (_d) {
helpers = _d;
}],
execute: function () {
/* global angular */
'use strict';
LEFT_PANEL_SELECT_OPTION_MANAGE_SERVICE = '$selectOptionMange';
selectOptionMange = (function () {
function selectOptionMange() {
_classCallCheck(this, selectOptionMange);
this.init();
}
_createClass(selectOptionMange, [{
key: 'init',
value: function init() {}
}, {
key: 'initModel',
value: function initModel(selectObj) {
helpers.resetModel(selectObj);
}
}, {
key: 'isOptionUnique',
value: function isOptionUnique(selectObj, textValue) {
for (var i = selectObj.rows.length - 1; i >= 0; i--) {
if (selectObj.rows[i].option === textValue) return false;
}
return true;
}
}, {
key: 'isOptionValidFormat',
value: function isOptionValidFormat(textValue) {
if (textValue !== '') return true;
return false;
}
}, {
key: 'addNewOptionRadio',
value: function addNewOptionRadio(selectObj, newOptionText) {
var fullResponse = {
resultFlag: false,
details: ''
};
var checkResult = helpers.validOption(selectObj, newOptionText);
if (checkResult.resultFlag === true) {
var newOption = {
option: newOptionText,
order: selectObj.rows.length
};
selectObj.rows.push(newOption);
fullResponse.resultFlag = true;
fullResponse.details = '';
return fullResponse;
} else {
angular.copy(checkResult, fullResponse);
return fullResponse;
}
}
}, {
key: 'addNewOptionBasicSelect',
value: function addNewOptionBasicSelect(selectObj, newOptionText) {
var fullResponse = {
resultFlag: false,
details: ''
};
var checkResult = helpers.validOption(selectObj, newOptionText);
if (checkResult.resultFlag === true) {
var newOption = {
option: newOptionText,
order: selectObj.rows.length
};
selectObj.rows.push(newOption);
fullResponse.resultFlag = true;
fullResponse.details = '';
return fullResponse;
} else {
angular.copy(checkResult, fullResponse);
return fullResponse;
}
}
}, {
key: 'addNewOptionGroupedSelect',
value: function addNewOptionGroupedSelect(selectObj, newOptionText, newOptionGroup) {
var fullResponse = {
resultFlag: false,
details: ''
};
var checkResult = helpers.validOption(selectObj, newOptionText);
if (checkResult.resultFlag === true) {
var newOption = {
option: newOptionText,
group: newOptionGroup,
order: selectObj.rows.length
};
selectObj.rows.push(newOption);
fullResponse.resultFlag = true;
fullResponse.details = '';
return fullResponse;
} else {
angular.copy(checkResult, fullResponse);
return fullResponse;
}
}
}, {
key: 'removeOption',
value: function removeOption(selectObj, AtIndex) {
var fullResponse = {
resultFlag: false,
details: ''
};
if (AtIndex !== -1) {
selectObj.rows.splice(AtIndex, 1);
fullResponse.resultFlag = true;
fullResponse.details = '';
return fullResponse;
} else {
fullResponse.resultFlag = false;
fullResponse.details = 'Option index not valid';
return fullResponse;
}
}
}, {
key: 'upthisOption',
value: function upthisOption(selectObj, indexOption) {
var fullResponse = {
resultFlag: false,
details: ''
};
if (indexOption > -1) {
if (indexOption > 0) {
if (selectObj.rows[indexOption - 1]) {
var currentOption = selectObj.rows[indexOption];
selectObj.rows.splice(indexOption, 1);
selectObj.rows.splice(indexOption - 1, 0, currentOption);
fullResponse.resultFlag = true;
fullResponse.details = '';
return fullResponse;
} else {
fullResponse.resultFlag = false;
fullResponse.details = 'Can\'t retreive option from option index';
return fullResponse;
}
} else {
fullResponse.resultFlag = true;
fullResponse.details = '';
return fullResponse;
}
} else {
fullResponse.resultFlag = false;
fullResponse.details = 'Option index not valid';
return fullResponse;
}
}
}, {
key: 'downthisOption',
value: function downthisOption(selectObj, indexOption) {
var fullResponse = {
resultFlag: false,
details: ''
};
if (indexOption > -1) {
if (indexOption < selectObj.rows.length - 1) {
if (selectObj.rows[indexOption + 1]) {
var currentOption = selectObj.rows[indexOption];
selectObj.rows.splice(indexOption, 1);
selectObj.rows.splice(indexOption + 1, 0, currentOption);
fullResponse.resultFlag = true;
fullResponse.details = '';
return fullResponse;
} else {
fullResponse.resultFlag = false;
fullResponse.details = 'Can\'t retreive option from option index';
return fullResponse;
}
} else {
fullResponse.resultFlag = true;
fullResponse.details = '';
return fullResponse;
}
} else {
fullResponse.resultFlag = false;
fullResponse.details = 'Option index not valid';
return fullResponse;
}
}
}]);
return selectOptionMange;
})();
selectOptionMange.$inject = [];
_export('default', selectOptionMange);
_export('LEFT_PANEL_SELECT_OPTION_MANAGE_SERVICE', LEFT_PANEL_SELECT_OPTION_MANAGE_SERVICE);
}
};
});
$__System.register('f', ['9', 'a'], function (_export) {
var _createClass, _classCallCheck, CONTROLLER_MODAL_PROXY, INIT_OPTION_MODEL, controllerModalProxy;
return {
setters: [function (_2) {
_createClass = _2['default'];
}, function (_a) {
_classCallCheck = _a['default'];
}],
execute: function () {
/// <reference path="../../../../../typings/angularjs/angular.d.ts" />
/// <reference path="../../../../../typings/lodash/lodash.d.ts" />
/**
* TODO :
* - clean deprecated functions
* - method 'resetAllTemporyModels' -> remove no use angular.copy to optimize
*/
'use strict';
CONTROLLER_MODAL_PROXY = 'controllerModalProxy';
INIT_OPTION_MODEL = { rows: [] };
controllerModalProxy = (function () {
function controllerModalProxy(EasyFormGenFormlyBindingModels) {
_classCallCheck(this, controllerModalProxy);
this.EasyFormGenFormlyBindingModels = EasyFormGenFormlyBindingModels;
this.init();
}
_createClass(controllerModalProxy, [{
key: 'init',
value: function init() {
this.proxyModel = {};
this.resetProxyModel();
this.editPanelModel = {
toggle: false,
lineIndex: -1,
columnIndex: -1,
control: {}
};
this.basicSelectRowCollection = angular.copy(INIT_OPTION_MODEL);
this.newOptionBasicSelect = angular.copy({ saisie: '' });
this.groupedSelectRowCollection = angular.copy(INIT_OPTION_MODEL);
this.newOptionGroupedSelect = angular.copy({ saisie: '' });
this.GroupedSelectGroups = angular.copy({ list: [] });
this.newGroupGroupedSelect = angular.copy({ saisie: '' });
this.groupSelectGroupClick = angular.copy({ showList: false });
this.radioRowCollection = angular.copy(INIT_OPTION_MODEL);
this.newOptionRadio = angular.copy({ saisie: '' });
}
// deprecated in drag and drop version, use initProxyModel insead
}, {
key: 'initNyaSelect',
value: function initNyaSelect(nyaSelectObj) {
return this.resetNyaSelect(nyaSelectObj);
}
}, {
key: 'initProxyModel',
value: function initProxyModel(thisProxyModelToInit) {
return this.resetProxyModel(thisProxyModelToInit);
}
// deprecated : in drag and drop version, use "resetProxyModel()""
}, {
key: 'resetNyaSelect',
value: function resetNyaSelect(nyaSelectObj) {
var newNyaSelectObj = this.EasyFormGenFormlyBindingModels.getEasyFormListControls();
angular.copy(newNyaSelectObj, nyaSelectObj);
return true;
}
}, {
key: 'resetProxyModel',
value: function resetProxyModel() {
var newProxyModel = this.EasyFormGenFormlyBindingModels.getEasyFormListControls();
this.proxyModel = angular.copy(newProxyModel);
return true;
}
}, {
key: 'returnControlFromAddCtrlModalModel',
value: function returnControlFromAddCtrlModalModel(CtrlModalModel) {
var modelToReturn = {
selectedControl: 'none',
formlyType: 'none',
formlySubtype: 'none',
formlyLabel: '',
formlyRequired: false,
formlyDesciption: '',
formlyPlaceholder: '',
formlyOptions: []
};
for (var i = CtrlModalModel.controls.length - 1; i >= 0; i--) {
if (CtrlModalModel.selectedControl === CtrlModalModel.controls[i].id) {
modelToReturn.selectedControl = CtrlModalModel.selectedControl;
modelToReturn.formlyType = CtrlModalModel.controls[i].formlyType;
modelToReturn.formlySubtype = CtrlModalModel.controls[i].formlySubtype;
modelToReturn.formlyLabel = CtrlModalModel.controls[i].formlyLabel;
modelToReturn.formlyRequired = CtrlModalModel.controls[i].formlyRequired;
modelToReturn.formlyDesciption = CtrlModalModel.controls[i].formlyDesciption;
modelToReturn.formlyPlaceholder = CtrlModalModel.controls[i].formlyPlaceholder;
modelToReturn.formlyOptions = CtrlModalModel.controls[i].formlyOptions;
// particular properties, here ; datetpicker format
if (CtrlModalModel.controls[i].formlyType === 'datepicker') modelToReturn.datepickerPopup = CtrlModalModel.controls[i].datepickerPopup;
}
}
return modelToReturn;
}
}, {
key: 'validKeyUniqueness',
value: function validKeyUniqueness(thisKey, configurationObj) {
var isUnique = true;
for (var i = configurationObj.lines.length - 1; i >= 0; i--) {
for (var j = configurationObj.lines[i].columns.length - 1; j >= 0; j--) {
if (configurationObj.lines[i].columns[j].control.key === thisKey) {
isUnique = false;
}
}
}
return isUnique;
}
}, {
key: 'getSelectedProxyModel',
value: function getSelectedProxyModel(configurationSelectedCtrl) {
var selectedProxyModelControl = 'none';
var listProxyModelCTRL = angular.copy(this.EasyFormGenFormlyBindingModels.getEasyFormListControls().controls);
listProxyModelCTRL.forEach(function (control) {
if (control.formlyType === configurationSelectedCtrl.type && control.formlySubtype === configurationSelectedCtrl.subtype) {
selectedProxyModelControl = control.id;
return selectedProxyModelControl;
}
});
return selectedProxyModelControl;
}
// to refresh configuration model from edit panel
}, {
key: 'bindConfigurationModelFromProxyModel',
value: function bindConfigurationModelFromProxyModel(indexLine, numcolumn, configurationObj) {
var extractedProps = angular.copy(this.proxyModel.temporyConfig);
configurationObj.lines[indexLine].columns[numcolumn].control.selectedControl = extractedProps.selectedControl;
configurationObj.lines[indexLine].columns[numcolumn].control.type = extractedProps.formlyType;
configurationObj.lines[indexLine].columns[numcolumn].control.subtype = extractedProps.formlySubtype;
// templateOptions
configurationObj.lines[indexLine].columns[numcolumn].control.templateOptions = {
label: '',
required: false,
description: '',
placeholder: '',
options: []
};
// then bind template option
configurationObj.lines[indexLine].columns[numcolumn].control.templateOptions.label = extractedProps.formlyLabel;
configurationObj.lines[indexLine].columns[numcolumn].control.templateOptions.required = extractedProps.formlyRequired;
configurationObj.lines[indexLine].columns[numcolumn].control.templateOptions.description = extractedProps.formlyDesciption;
configurationObj.lines[indexLine].columns[numcolumn].control.templateOptions.placeholder = extractedProps.formlyPlaceholder;
configurationObj.lines[indexLine].columns[numcolumn].control.templateOptions.options = extractedProps.formlyOptions;
// add additionnal — particular — properties : -> datepicker : datepickerPopup
if (configurationObj.lines[indexLine].columns[numcolumn].control.type === 'datepicker') {
configurationObj.lines[indexLine].columns[numcolumn].control.templateOptions.datepickerPopup = extractedProps.datepickerPopup;
}
// unique key (set only first time) in this model is formly control type + Date.now();
var newKey = configurationObj.lines[indexLine].columns[numcolumn].control.type + '-' + Date.now();
if (this.validKeyUniqueness(newKey, configurationObj) === true) {
configurationObj.lines[indexLine].columns[numcolumn].control.key = newKey;
} else {
newKey = configurationObj.lines[indexLine].columns[numcolumn].control.type + '-' + Date.now();
if (this.validKeyUniqueness(newKey, configurationObj) === true) {
configurationObj.lines[indexLine].columns[numcolumn].control.key = newKey;
} else {
newKey = configurationObj.lines[indexLine].columns[numcolumn].control.type + '-' + Date.now();
}
}
configurationObj.lines[indexLine].columns[numcolumn].control.edited = true;
}
/**
* set local proxyModel from Selected control in configuration model
*
* replace deprecated "getNyASelectFromSelectedLineColumn"
* -model is now named "proxyModel"
* -model is stored in this service
*
* -> it has just more sence!
*/
}, {
key: 'setProxyModelFromConfigurationSelection',
value: function setProxyModelFromConfigurationSelection(configurationObj, indexLine, numcolumn) {
// data send to modal controller
if (typeof configurationObj.lines[indexLine].columns[numcolumn].control != 'undefined') {
// determine selected control from indexes and control.type and control.subtype in configuration model
this.proxyModel.selectedControl = typeof configurationObj.lines[indexLine].columns[numcolumn].control.type != 'undefined' ? this.getSelectedProxyModel(configurationObj.lines[indexLine].columns[numcolumn].control) : 'none';
this.proxyModel.temporyConfig.selectedControl = typeof configurationObj.lines[indexLine].columns[numcolumn].control.type != 'undefined' ? this.getSelectedProxyModel(configurationObj.lines[indexLine].columns[numcolumn].control) : 'none';
this.proxyModel.temporyConfig.formlyType = typeof configurationObj.lines[indexLine].columns[numcolumn].control.type != 'undefined' ? configurationObj.lines[indexLine].columns[numcolumn].control.type : 'none';
this.proxyModel.temporyConfig.formlySubtype = typeof configurationObj.lines[indexLine].columns[numcolumn].control.subtype != 'undefined' ? configurationObj.lines[indexLine].columns[numcolumn].control.subtype : 'none';
this.proxyModel.temporyConfig.formlyLabel = typeof configurationObj.lines[indexLine].columns[numcolumn].control.templateOptions.label != 'undefined' ? configurationObj.lines[indexLine].columns[numcolumn].control.templateOptions.label : '';
this.proxyModel.temporyConfig.formlyRequired = typeof configurationObj.lines[indexLine].columns[numcolumn].control.templateOptions.required != 'undefined' ? configurationObj.lines[indexLine].columns[numcolumn].control.templateOptions.required : '';
this.proxyModel.temporyConfig.formlyDesciption = typeof configurationObj.lines[indexLine].columns[numcolumn].control.templateOptions.description != 'undefined' ? configurationObj.lines[indexLine].columns[numcolumn].control.templateOptions.description : '';
this.proxyModel.temporyConfig.formlyPlaceholder = typeof configurationObj.lines[indexLine].columns[numcolumn].control.templateOptions.placeholder != 'undefined' ? configurationObj.lines[indexLine].columns[numcolumn].control.templateOptions.placeholder : '';
this.proxyModel.temporyConfig.formlyOptions = typeof configurationObj.lines[indexLine].columns[numcolumn].control.templateOptions.options != 'undefined' ? configurationObj.lines[indexLine].columns[numcolumn].control.templateOptions.options : '';
// particular case : datepicker
if (this.proxyModel.temporyConfig.selectedControl === 'Date') {
this.proxyModel.temporyConfig.datepickerPopup = typeof configurationObj.lines[indexLine].columns[numcolumn].control.templateOptions.datepickerPopup != 'undefined' ? configurationObj.lines[indexLine].columns[numcolumn].control.templateOptions.datepickerPopup : '';
}
// console.info('debug setProxyModelFromConfigurationSelection');
// console.dir({
// selectedControl : angular.copy(this.proxyModel.selectedControl ),
// temporyConfig : angular.copy(this.proxyModel.temporyConfig)
// });
}
return this.proxyModel;
}
}, {
key: 'getProxyModel',
value: function getProxyModel() {
return this.proxyModel;
}
/**
* ============================================================
* following methods for "editPanelModel"
*
* Note this model :
* - to manage side edit control panel
* ============================================================
*/
// getter : editPanelModel (whole model => type = object)
}, {
key: 'getEditPanelModelAllModel',
value: function getEditPanelModelAllModel() {
return this.editPanelModel;
}
// setter : editPanelModel (whole model => type = object)
}, {
key: 'setEditPanelModelControl',
value: function setEditPanelModelControl(newEditPanelModel) {
var successfullDone = false;
if (typeof newEditPanelModel !== 'undefined') {
angular.merge(this.editPanelModel, newEditPanelModel);
successfullDone = true;
}
return successfullDone;
}
// getter : editPanelModel.columnIndex
}, {
key: 'getEditPanelModelColumnIndex',
value: function getEditPanelModelColumnIndex() {
return this.editPanelModel.columnIndex;
}
// setter : editPanelModel.columnIndex
}, {
key: 'setEditPanelModelColumnIndex',
value: function setEditPanelModelColumnIndex(newColumnIndex) {
var successfullDone = false;
if (typeof newColumnIndex !== 'undefined') {
this.editPanelModel.columnIndex = newColumnIndex;
successfullDone = true;
}
return successfullDone;
}
// getter : editPanelModel.lineIndex
}, {
key: 'getEditPanelModelLineIndex',
value: function getEditPanelModelLineIndex() {
return this.editPanelModel.lineIndex;
}
// setter : editPanelModel.lineIndex
}, {
key: 'setEditPanelModelLineIndex',
value: function setEditPanelModelLineIndex(newLineIndex) {
var successfullDone = false;
if (typeof newLineIndex !== 'undefined') {
this.editPanelModel.lineIndex = newLineIndex;
successfullDone = true;
}
return successfullDone;
}
// getter : editPanelModel.control
}, {
key: 'getEditPanelModelControl',
value: function getEditPanelModelControl() {
return this.editPanelModel.control;
}
// getter : editPanelModel.toggle
}, {
key: 'getEditPanelModelToggle',
value: function getEditPanelModelToggle() {
return this.editPanelModel.toggle;
}
// setter : editPanelModel.toggle
}, {
key: 'setEditPanelModelToggle',
value: function setEditPanelModelToggle(newToggleValue) {
var successfullDone = false;
if (typeof newToggleValue !== 'undefined') {
this.editPanelModel.toggle = newToggleValue;
successfullDone = true;
}
return successfullDone;
}
}, {
key: 'resetAllTemporyModels',
value: function resetAllTemporyModels() {
this.basicSelectRowCollection = angular.copy(INIT_OPTION_MODEL);
this.newOptionBasicSelect = angular.copy({ saisie: '' });
this.groupedSelectRowCollection = angular.copy(INIT_OPTION_MODEL);
this.newOptionGroupedSelect = angular.copy({ saisie: '' });
this.GroupedSelectGroups = angular.copy({ list: [] });
this.newGroupGroupedSelect = angular.copy({ saisie: '' });
this.groupSelectGroupClick = angular.copy({ showList: false });
this.radioRowCollection = angular.copy(INIT_OPTION_MODEL);
this.newOptionRadio = angular.copy({ saisie: '' });
return true;
}
/**
* bindSpecialCtrlTemporyModelsToProxyModel: needed when validating after editing a control
* tempory models applied to proxyModel if control is one of these
*
* example : if selected control is a basic select options
* -> so its tempory models are bound to proxyModel
*/
}, {
key: 'bindSpecialCtrlTemporyModelsToProxyModel',
value: function bindSpecialCtrlTemporyModelsToProxyModel() {
if (this.proxyModel.selectedControl === 'BasicSelect') {
this.bindBasicSelectToProxyModel(this.basicSelectRowCollection);
}
if (this.proxyModel.selectedControl === 'GroupedSelect') {
this.bindGroupedSelectToProxyModel(this.groupedSelectRowCollection);
}
if (this.proxyModel.selectedControl === 'Radio') {
this.bindRadioToProxyModel(this.radioRowCollection);
}
}
// basic select
}, {
key: 'bindBasicSelectFromProxyModel',
value: function bindBasicSelectFromProxyModel(basicSelectRowCollection) {
if (this.proxyModel.temporyConfig.formlyOptions.length > 0) {
for (var i = 0; i <= this.proxyModel.temporyConfig.formlyOptions.length - 1; i++) {
var newOption = {
'option': this.proxyModel.temporyConfig.formlyOptions[i].name,
'order': i,
'group': ''
};
basicSelectRowCollection.rows.push(newOption);
}
}
}
}, {
key: 'bindBasicSelectToProxyModel',
value: function bindBasicSelectToProxyModel(basicSelectRowCollection) {
var resetNyASelectOptions = [];
this.proxyModel.temporyConfig.formlyOptions = resetNyASelectOptions;
if (basicSelectRowCollection.rows.length > 0) {
for (var i = 0; i <= basicSelectRowCollection.rows.length - 1; i++) {
var newOption = {
'name': basicSelectRowCollection.rows[i].option,
'value': i,
'group': ''
};
this.proxyModel.temporyConfig.formlyOptions.push(newOption);
}
}
}
//* grouped select
}, {
key: 'bindGroupedSelectFromProxyModel',
value: function bindGroupedSelectFromProxyModel(groupedSelectRowCollection, GroupedSelectGroups) {
if (this.proxyModel.temporyConfig.formlyOptions.length > 0) {
for (var i = 0; i <= this.proxyModel.temporyConfig.formlyOptions.length - 1; i++) {
var newOption = {
'option': this.proxyModel.temporyConfig.formlyOptions[i].name,
'order': i,
'group': this.proxyModel.temporyConfig.formlyOptions[i].group
};
groupedSelectRowCollection.rows.push(newOption);
}
//grouplist : thx to lodash it is easy
var filteredgroup = _.uniq(_.pluck(groupedSelectRowCollection.rows, 'group'));
angular.copy(filteredgroup, GroupedSelectGroups.list);
}
}
}, {
key: 'bindGroupedSelectToProxyModel',
value: function bindGroupedSelectToProxyModel(groupedSelectRowCollection) {
this.proxyModel.temporyConfig.formlyOptions = [];
for (var i = 0; i <= groupedSelectRowCollection.rows.length - 1; i++) {
var newOption = {
'name': groupedSelectRowCollection.rows[i].option,
'value': i,
'group': groupedSelectRowCollection.rows[i].group
};
this.proxyModel.temporyConfig.formlyOptions.push(newOption);
}
}
// radio
}, {
key: 'bindRadioFromProxyModel',
value: function bindRadioFromProxyModel(radioRowCollection) {
if (this.proxyModel.temporyConfig.formlyOptions.length > 0) {
for (var i = 0; i <= this.proxyModel.temporyConfig.formlyOptions.length - 1; i++) {
var newOption = {
'option': this.proxyModel.temporyConfig.formlyOptions[i].name,
'order': i,
'group': ''
};
radioRowCollection.rows.push(newOption);
}
}
}
}, {
key: 'bindRadioToProxyModel',
value: function bindRadioToProxyModel(radioRowCollection) {
var resetproxyModelOptions = [];
this.proxyModel.temporyConfig.formlyOptions = resetproxyModelOptions;
if (radioRowCollection.rows.length > 0) {
for (var i = 0; i <= radioRowCollection.rows.length - 1; i++) {
var newOption = {
'name': radioRowCollection.rows[i].option,
'value': i,
'group': ''
};
this.proxyModel.temporyConfig.formlyOptions.push(newOption);
}
}
}
}]);
return controllerModalProxy;
})();
controllerModalProxy.$inject = ['EasyFormGenFormlyBindingModels'];
_export('default', controllerModalProxy);
_export('CONTROLLER_MODAL_PROXY', CONTROLLER_MODAL_PROXY);
}
};
});
$__System.registerDynamic("10", [], true, function($__require, exports, module) {
;
var global = this,
__define = global.define;
global.define = undefined;
module.exports = "<div class=\"modal-footer\">\n <button\n class=\"btn btn-danger pull-left\"\n ng-click=\"leftPanelCtrl.resetControl()\">\n <i class=\"fa fa-refresh\"></i>\n &nbsp;\n Reset\n </button>\n <button\n class=\"btn btn-success pull-right\"\n ng-click=\"leftPanelCtrl.updateSpecialControl(); leftPanelCtrl.saveFromEditPanel();\">\n <i class=\"fa fa-floppy-o\"></i>\n &nbsp;\n Save\n </button>\n</div>\n";
global.define = __define;
return module.exports;
});
$__System.register('11', ['10'], function (_export) {
'use strict';
var leftPanelValidEditFooterTemplate, LEFT_PANEL_VALID_EDIT_FOOTER_DIRECTIVE;
function leftPanelValidEditFooter() {
var directive = {
restrict: 'E',
template: leftPanelValidEditFooterTemplate
};
return directive;
}
return {
setters: [function (_) {
leftPanelValidEditFooterTemplate = _['default'];
}],
execute: function () {
LEFT_PANEL_VALID_EDIT_FOOTER_DIRECTIVE = 'leftPanelValidEditFooter';
leftPanelValidEditFooter.$inject = [];
_export('default', leftPanelValidEditFooter);
_export('LEFT_PANEL_VALID_EDIT_FOOTER_DIRECTIVE', LEFT_PANEL_VALID_EDIT_FOOTER_DIRECTIVE);
}
};
});
$__System.registerDynamic("12", [], true, function($__require, exports, module) {
;
var global = this,
__define = global.define;
global.define = undefined;
module.exports = "<div class=\"panel panel-default\">\n <div class=\"panel-body\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <h5 class=\"greyText\">\n <i class=\"fa fa-pencil-square-o\"></i>\n &nbsp;\n Edit properties :\n </h5>\n </div>\n </div>\n <div class=\"marginTopFivepixels\"></div>\n <div class=\"row\">\n <div class=\"form-group\">\n <div class=\"col-md-12\">\n <label\n for=\"inputTextLabelUpdate\"\n class=\" control-label greyText editPropertiesLabel\">\n Label text :\n </label>\n <div class=\"\">\n <input\n type=\"text\"\n class=\"form-control\"\n ng-model=\"leftPanelCtrl.proxyModel.temporyConfig.formlyLabel\"\n id=\"inputTextLabelUpdate\"\n placeholder=\"Add / edit control label here\">\n </div>\n </div>\n </div>\n </div>\n <div class=\"marginTopFivepixels\"></div>\n <div class=\"row\">\n <div class=\"form-group\">\n <div class=\"col-md-12\">\n <label\n for=\"inputTextplaceholderUpdate\"\n class=\"control-label greyText editPropertiesLabel\">\n placeholder :\n </label>\n <div class=\"\">\n <input\n type=\"text\"\n class=\"form-control\"\n ng-model=\"leftPanelCtrl.proxyModel.temporyConfig.formlyPlaceholder\"\n id=\"inputTextplaceholderUpdate\"\n placeholder=\"Add / edit placeholder text here\">\n </div>\n </div>\n </div>\n </div>\n <div class=\"marginTopFivepixels\"></div>\n <div class=\"row\">\n <div class=\"form-group\">\n <div class=\"\">\n <label\n for=\"inputTextRequiredUpdate\"\n class=\"col-md-4 control-label greyText editPropertiesLabel\">\n Required :\n </label>\n <div class=\"col-md-8\">\n <div class=\"checkboxCssCorrection\">&nbsp;</div>\n <input\n type=\"checkbox\"\n ng-model=\"leftPanelCtrl.proxyModel.temporyConfig.formlyRequired\"\n id=\"inputTextRequiredUpdate\">\n </div>\n </div>\n </div>\n </div>\n <div class=\"marginTopFivepixels\"></div>\n <div class=\"row\">\n <div class=\"form-group\">\n <div class=\"col-md-12\">\n <label\n for=\"inputTextDescriptionUpdate\"\n class=\"control-label greyText editPropertiesLabel\">\n Description :\n </label>\n <div class=\"\">\n <input\n type=\"text\" \n class=\"form-control\"\n ng-model=\"leftPanelCtrl.proxyModel.temporyConfig.formlyDesciption\"\n id=\"inputTextDescriptionUpdate\"\n placeholder=\"Add / edit description here\">\n </div>\n </div>\n </div>\n </div>\n </div>\n <left-panel-valid-edit-footer />\n</div>\n";
global.define = __define;
return module.exports;
});
$__System.register('13', ['12'], function (_export) {
'use strict';
var leftPanelTextInputControlTemplate, LEFT_PANEL_TEXT_INPUT_CONTROL_DIRECTIVE;
function leftPanelTextInputControl() {
var directive = {
restrict: 'E',
template: leftPanelTextInputControlTemplate
};
return directive;
}
return {
setters: [function (_) {
leftPanelTextInputControlTemplate = _['default'];
}],
execute: function () {
LEFT_PANEL_TEXT_INPUT_CONTROL_DIRECTIVE = 'leftPanelTextInputControl';
leftPanelTextInputControl.$inject = [];
_export('default', leftPanelTextInputControl);
_export('LEFT_PANEL_TEXT_INPUT_CONTROL_DIRECTIVE', LEFT_PANEL_TEXT_INPUT_CONTROL_DIRECTIVE);
}
};
});
$__System.registerDynamic("14", [], true, function($__require, exports, module) {
;
var global = this,
__define = global.define;
global.define = undefined;
module.exports = "<div class=\"panel panel-default\">\n <div class=\"panel-body\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <h5 class=\"greyText\">\n <i class=\"fa fa-pencil-square-o\"></i>\n &nbsp;\n Edit properties :\n </h5>\n </div>\n </div>\n <div class=\"marginTopFivepixels\"></div>\n <div class=\"row\">\n <div class=\"form-group\">\n <div class=\"col-md-12\">\n <label\n for=\"inputTextLabelUpdate\"\n class=\" control-label greyText editPropertiesLabel\">\n Label text :\n </label>\n <div class=\"\">\n <input\n type=\"text\"\n class=\"form-control\"\n ng-model=\"leftPanelCtrl.proxyModel.temporyConfig.formlyLabel\" \n id=\"inputTextLabelUpdate\"\n placeholder=\"Add / edit control label here\">\n </div>\n </div>\n </div>\n </div>\n <div class=\"marginTopFivepixels\"></div>\n <div class=\"row\">\n <div class=\"form-group\">\n <div class=\"\">\n <label\n for=\"RequiredUpdate\"\n class=\"col-md-4 control-label greyText editPropertiesLabel\">\n Required :\n </label>\n <div class=\"col-md-8\">\n <div class=\"checkboxCssCorrection\">\n &nbsp;\n </div>\n <input\n type=\"checkbox\"\n ng-model=\"leftPanelCtrl.proxyModel.temporyConfig.formlyRequired\"\n id=\"RequiredUpdate\">\n </div>\n </div>\n </div>\n </div>\n <div class=\"marginTopFivepixels\"></div>\n <div class=\"row\">\n <div class=\"form-group\">\n <div class=\"col-md-12\">\n <label\n for=\"DescriptionUpdate\"\n class=\"control-label greyText editPropertiesLabel\">\n Description :\n </label>\n <div class=\"\">\n <input\n type=\"text\"\n class=\"form-control\"\n ng-model=\"leftPanelCtrl.proxyModel.temporyConfig.formlyDesciption\"\n id=\"DescriptionUpdate\"\n placeholder=\"Add / edit description here\">\n </div>\n </div>\n </div>\n </div>\n </div>\n <left-panel-valid-edit-footer />\n</div>\n";
global.define = __define;
return module.exports;
});
$__System.register('15', ['14'], function (_export) {
'use strict';
var leftPanelTextareaControlTemplate, LEFT_PANEL_TEXTAREA_CONTROL_DIRECTIVE;
function leftPanelTextareaControl() {
var directive = {
restrict: 'E',
template: leftPanelTextareaControlTemplate
};
return directive;
}
return {
setters: [function (_) {
leftPanelTextareaControlTemplate = _['default'];
}],
execute: function () {
LEFT_PANEL_TEXTAREA_CONTROL_DIRECTIVE = 'leftPanelTextareaControl';
leftPanelTextareaControl.$inject = [];
_export('default', leftPanelTextareaControl);
_export('LEFT_PANEL_TEXTAREA_CONTROL_DIRECTIVE', LEFT_PANEL_TEXTAREA_CONTROL_DIRECTIVE);
}
};
});
$__System.registerDynamic("16", [], true, function($__require, exports, module) {
;
var global = this,
__define = global.define;
global.define = undefined;
module.exports = "<div class=\"panel panel-default\">\n <div class=\"panel-body\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <h5 class=\"greyText\">\n <i class=\"fa fa-pencil-square-o\"></i>\n &nbsp;\n Edit properties :\n </h5>\n </div>\n </div>\n <div class=\"marginTopFivepixels\"></div>\n <div class=\"row\">\n <div class=\"form-group\">\n <div class=\"col-md-12\">\n <label\n for=\"inputTextDescriptionUpdate\"\n class=\"control-label greyText editPropertiesLabel\">\n Subtitle text :\n </label>\n <div class=\"\">\n <input\n type=\"text\"\n class=\"form-control\" \n ng-model=\"leftPanelCtrl.proxyModel.temporyConfig.formlyDesciption\"\n id=\"inputSubtitleTextUpdate\"\n placeholder=\"Add / edit subtitle text here\" >\n </div>\n </div>\n </div>\n </div>\n </div>\n <left-panel-valid-edit-footer />\n</div>\n";
global.define = __define;
return module.exports;
});
$__System.register('17', ['16'], function (_export) {
'use strict';
var leftPanelSubtitleControlTemplate, LEFT_PANEL_SUBTITLE_CONTROL_DIRECTIVE;
function leftPanelSubtitleControl() {
var directive = {
restrict: 'E',
template: leftPanelSubtitleControlTemplate
};
return directive;
}
return {
setters: [function (_) {
leftPanelSubtitleControlTemplate = _['default'];
}],
execute: function () {
LEFT_PANEL_SUBTITLE_CONTROL_DIRECTIVE = 'leftPanelSubtitleControl';
leftPanelSubtitleControl.$inject = [];
_export('default', leftPanelSubtitleControl);
_export('LEFT_PANEL_SUBTITLE_CONTROL_DIRECTIVE', LEFT_PANEL_SUBTITLE_CONTROL_DIRECTIVE);
}
};
});
$__System.registerDynamic("18", [], true, function($__require, exports, module) {
;
var global = this,
__define = global.define;
global.define = undefined;
module.exports = "<div class=\"panel panel-default\">\n <div class=\"panel-body\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <h5 class=\"greyText\">\n <i class=\"fa fa-pencil-square-o\"></i>\n &nbsp; Edit properties :\n </h5>\n </div>\n </div>\n <div class=\"marginTopFivepixels\"></div>\n <div class=\"row\">\n <div class=\"form-group\">\n <div class=\"col-md-12\">\n <label\n for=\"DescriptionUpdate\"\n class=\"control-label greyText editPropertiesLabel\">\n Description :\n </label>\n <div class=\"\">\n <input\n type=\"text\"\n class=\"form-control\"\n ng-model=\"leftPanelCtrl.proxyModel.temporyConfig.formlyDesciption\"\n id=\"DescriptionUpdate\"\n placeholder=\"Add / edit description here\">\n </div>\n </div>\n </div>\n </div>\n </div>\n <left-panel-valid-edit-footer />\n</div>\n";
global.define = __define;
return module.exports;
});
$__System.register('19', ['18'], function (_export) {
'use strict';
var leftPanelRichTextEditorControlTemplate, LEFT_PANEL_RICH_TEXT_EDITOR_CONTROL_DIRECTIVE;
function leftPanelRichTextEditorControl() {
var directive = {
restrict: 'E',
template: leftPanelRichTextEditorControlTemplate
};
return directive;
}
return {
setters: [function (_) {
leftPanelRichTextEditorControlTemplate = _['default'];
}],
execute: function () {
LEFT_PANEL_RICH_TEXT_EDITOR_CONTROL_DIRECTIVE = 'leftPanelRichTextEditorControl';
leftPanelRichTextEditorControl.$inject = [];
_export('default', leftPanelRichTextEditorControl);
_export('LEFT_PANEL_RICH_TEXT_EDITOR_CONTROL_DIRECTIVE', LEFT_PANEL_RICH_TEXT_EDITOR_CONTROL_DIRECTIVE);
}
};
});
$__System.registerDynamic("1a", [], true, function($__require, exports, module) {
;
var global = this,
__define = global.define;
global.define = undefined;
module.exports = "<div class=\"panel panel-default\">\n <div class=\"panel-body\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <h5 class=\"greyText\">\n <i class=\"fa fa-pencil-square-o\"></i>\n &nbsp;\n Edit properties :\n </h5>\n </div>\n </div>\n <div class=\"marginTopFivepixels\"></div>\n <div class=\"row\">\n <div class=\"col-lg-12 col-md-12\">\n <label\n for=\"radioRowCollection\"\n class=\" control-label greyText editPropertiesLabel\">\n Add new radio :\n </label>\n </div>\n </div>\n <div class=\"row\">\n <div>\n <div class=\"form-group\">\n <div class=\"col-sm-9 col-xs-9 col-md-9 col-lg-9\">\n <input\n type=\"text\"\n class=\"form-control\"\n id=\"inputAddNewRadioOption\"\n placeholder=\"add new radio\"\n ng-model=\"leftPanelCtrl.newOptionRadio.saisie\">\n </div>\n <div class=\"col-sm-3 col-xs-3 col-md-3 col-lg-3\">\n <button\n class=\"btn btn-primary\"\n ng-click=\"leftPanelCtrl.addNewOptionRadio()\">\n add\n </button>\n </div>\n </div>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-lg-12 col-md-12\">\n <label\n for=\"radioRowCollection\"\n class=\" control-label greyText editPropertiesLabel\">\n Edit/Remove radio :\n </label>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"form-group\">\n <div class-\"col-lg-12 col-md-12 col-sm-12 col-xs-12\">\n <div class=\"container\">\n <div ng-show=\"leftPanelCtrl.radioRowCollection.rows.length === 0\">\n <h5 class=\"text-center greyText\">\n <em>\n - no radio : add new radio values -\n </em>\n </h5>\n </div>\n <table\n ng-if=\"leftPanelCtrl.radioRowCollection.rows.length > 0\"\n class=\"table table-striped\">\n <thead>\n <tr>\n <th st-ratio=\"20\">\n order\n </th>\n <th st-ratio=\"55\">\n option\n </th>\n <th st-ratio=\"25\">\n </th>\n </tr>\n <tr>\n <th st-ratio=\"20\">\n </th>\n <th st-ratio=\"55\">\n <input\n ng-model=\"radioFilter\"\n placeholder=\"search for option\"\n class=\"input-sm form-control\"\n type=\"search\" />\n </th>\n <th st-ratio=\"25\"></th>\n </tr>\n </thead>\n <tbody>\n <tr ng-repeat=\"radioRow in leftPanelCtrl.radioRowCollection.rows | filter:radioFilter as radioRow\">\n <td st-ratio=\"20\">\n {{$index}}\n </td>\n <td st-ratio=\"55\">\n {{radioRow.option}}\n </td>\n <td st-ratio=\"25\">\n <div class=\"pull-right\">\n <button\n class=\"btn btn-primary\"\n ng-click=\"leftPanelCtrl.upThisRadioRow($index)\">\n <i class=\"fa fa-arrow-up\"></i>\n </button>\n <button\n class=\"btn btn-primary\"\n ng-click=\"leftPanelCtrl.downThisRadioRow($index)\">\n <i class=\"fa fa-arrow-down\"></i>\n </button>\n <button\n class=\"btn btn-danger\"\n ng-click=\"leftPanelCtrl.removeRadioRow($index)\">\n <i class=\"fa fa-trash-o\"></i>\n </button>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n </div>\n <div class=\"marginTopFivepixels\"></div>\n <div class=\"row\">\n <div class=\"form-group\">\n \t\t\t<div class=\"col-md-12\">\n <label\n for=\"inputTextLabelUpdate\"\n class=\" control-label greyText editPropertiesLabel\">\n Label text :\n </label>\n <div class=\"\">\n <input\n type=\"text\"\n class=\"form-control\"\n ng-model=\"leftPanelCtrl.proxyModel.temporyConfig.formlyLabel\"\n id=\"inputTextLabelUpdate\"\n placeholder=\"Add / edit control label here\">\n </div>\n \t\t\t</div>\n </div>\n </div>\n <div class=\"marginTopFivepixels\"></div>\n <div class=\"row\">\n <div class=\"form-group\">\n \t\t\t<div class=\"\">\n <label\n for=\"RequiredUpdate\"\n class=\"col-md-4 control-label greyText editPropertiesLabel\">\n Required :\n </label>\n <div class=\"col-md-8\">\n <div class=\"checkboxCssCorrection\">&nbsp;</div>\n <input\n type=\"checkbox\"\n ng-model=\"leftPanelCtrl.proxyModel.temporyConfig.formlyRequired\"\n id=\"RequiredUpdate\">\n </div>\n \t\t\t</div>\n </div>\n </div>\n <div class=\"marginTopFivepixels\"></div>\n <div class=\"row\">\n <div class=\"form-group\">\n \t\t\t<div class=\"col-md-12\">\n <label\n for=\"DescriptionUpdate\"\n class=\"control-label greyText editPropertiesLabel\">\n Description :\n </label>\n <div class=\"\">\n <input\n type=\"text\"\n class=\"form-control\"\n ng-model=\"leftPanelCtrl.proxyModel.temporyConfig.formlyDesciption\"\n id=\"DescriptionUpdate\"\n placeholder=\"Add / edit description here\">\n </div>\n \t\t\t</div>\n </div>\n </div>\n </div>\n <left-panel-valid-edit-footer />\n</div>\n";
global.define = __define;
return module.exports;
});
$__System.register('1b', ['1a'], function (_export) {
'use strict';
var leftPanelRadioControlTemplate, LEFT_PANEL_RADIO_CONTROL_DIRECTIVE;
function leftPanelRadioControl() {
var directive = {
restrict: 'E',
template: leftPanelRadioControlTemplate
};
return directive;
}
return {
setters: [function (_a) {
leftPanelRadioControlTemplate = _a['default'];
}],
execute: function () {
LEFT_PANEL_RADIO_CONTROL_DIRECTIVE = 'leftPanelRadioControl';
leftPanelRadioControl.$inject = [];
_export('default', leftPanelRadioControl);
_export('LEFT_PANEL_RADIO_CONTROL_DIRECTIVE', LEFT_PANEL_RADIO_CONTROL_DIRECTIVE);
}
};
});
$__System.registerDynamic("1c", [], true, function($__require, exports, module) {
;
var global = this,
__define = global.define;
global.define = undefined;
module.exports = "<div class=\"panel panel-default\">\n <div class=\"panel-body\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <h5 class=\"greyText\">\n <i class=\"fa fa-pencil-square-o\"></i>\n &nbsp;\n Edit properties :\n </h5>\n </div>\n </div>\n <div class=\"marginTopFivepixels\"></div>\n <div class=\"row\">\n <div class=\"form-group\">\n <div class=\"col-md-12\">\n <label\n for=\"inputTextLabelUpdate\"\n class=\" control-label greyText editPropertiesLabel\">\n Label text :\n </label>\n <div class=\"\">\n <input\n type=\"text\" \n class=\"form-control\"\n ng-model=\"leftPanelCtrl.proxyModel.temporyConfig.formlyLabel\"\n id=\"inputTextLabelUpdate\"\n placeholder=\"Add / edit control label here\" >\n </div>\n </div>\n </div>\n </div>\n <div class=\"marginTopFivepixels\"></div>\n <div class=\"row\">\n <div class=\"form-group\">\n <div class=\"col-md-12\">\n <label\n for=\"placeholderUpdate\"\n class=\"control-label greyText editPropertiesLabel\">\n placeholder :\n </label>\n <div class=\"\">\n <input\n type=\"text\"\n class=\"form-control\"\n ng-model=\"leftPanelCtrl.proxyModel.temporyConfig.formlyPlaceholder\"\n id=\"inputTextplaceholderUpdate\"\n placeholder=\"Add / edit placeholder text here\" >\n </div>\n </div>\n </div>\n </div>\n <div class=\"marginTopFivepixels\"></div>\n <div class=\"row\">\n <div class=\"form-group\">\n <div class=\"\">\n <label\n for=\"RequiredUpdate\"\n class=\"col-md-4 control-label greyText editPropertiesLabel\">\n Required :\n </label>\n <div class=\"col-md-8\">\n <div class=\"checkboxCssCorrection\">&nbsp;</div>\n <input\n type=\"checkbox\"\n ng-model=\"leftPanelCtrl.proxyModel.temporyConfig.formlyRequired\"\n id=\"RequiredUpdate\">\n </div>\n </div>\n </div>\n </div>\n <div class=\"marginTopFivepixels\"></div>\n <div class=\"row\">\n <div class=\"form-group\">\n <div class=\"col-md-12\">\n <label\n for=\"DescriptionUpdate\"\n class=\"control-label greyText editPropertiesLabel\">\n Description :\n </label>\n <div class=\"\">\n <input\n type=\"text\"\n class=\"form-control\"\n ng-model=\"leftPanelCtrl.proxyModel.temporyConfig.formlyDesciption\"\n id=\"DescriptionUpdate\"\n placeholder=\"Add / edit description here\" >\n </div>\n </div>\n </div>\n </div>\n </div>\n <left-panel-valid-edit-footer />\n</div>\n";
global.define = __define;
return module.exports;
});
$__System.register('1d', ['1c'], function (_export) {
'use strict';
var leftPanelPasswordControlTemplate, LEFT_PANEL_PASSWORD_CONTROL_DIRECTIVE;
function leftPanelPasswordControl() {
var directive = {
restrict: 'E',
template: leftPanelPasswordControlTemplate
};
return directive;
}
return {
setters: [function (_c) {
leftPanelPasswordControlTemplate = _c['default'];
}],
execute: function () {
LEFT_PANEL_PASSWORD_CONTROL_DIRECTIVE = 'leftPanelPasswordControl';
leftPanelPasswordControl.$inject = [];
_export('default', leftPanelPasswordControl);
_export('LEFT_PANEL_PASSWORD_CONTROL_DIRECTIVE', LEFT_PANEL_PASSWORD_CONTROL_DIRECTIVE);
}
};
});
$__System.registerDynamic("1e", [], true, function($__require, exports, module) {
;
var global = this,
__define = global.define;
global.define = undefined;
module.exports = "<div class=\"panel panel-default\">\n <div class=\"panel-body\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <h5 class=\"greyText\">\n <i class=\"fa fa-pencil-square-o\"></i>\n &nbsp;\n Edit properties :\n </h5>\n </div>\n </div>\n <div class=\"marginTopFivepixels\"></div>\n <div class=\"row\">\n <div class=\"form-group\">\n <div class=\"col-md-12\">\n <label\n for=\"inputTextDescriptionUpdate\"\n class=\"control-label greyText editPropertiesLabel\">\n Header text :\n </label>\n <div class=\"\">\n <input\n type=\"text\"\n class=\"form-control\"\n ng-model=\"leftPanelCtrl.proxyModel.temporyConfig.formlyDesciption\"\n id=\"inputHeaderTextUpdate\"\n placeholder=\"Add / edit header text here\" >\n </div>\n </div>\n </div>\n </div>\n </div>\n <left-panel-valid-edit-footer />\n</div>\n";
global.define = __define;
return module.exports;
});
$__System.register('1f', ['1e'], function (_export) {
'use strict';
var leftPanelHeaderControlTemplate, LEFT_PANEL_HEADER_CONTROL_DIRECTIVE;
function leftPanelHeaderControl() {
var directive = {
restrict: 'E',
template: leftPanelHeaderControlTemplate
};
return directive;
}
return {
setters: [function (_e) {
leftPanelHeaderControlTemplate = _e['default'];
}],
execute: function () {
LEFT_PANEL_HEADER_CONTROL_DIRECTIVE = 'leftPanelHeaderControl';
leftPanelHeaderControl.$inject = [];
_export('default', leftPanelHeaderControl);
_export('LEFT_PANEL_HEADER_CONTROL_DIRECTIVE', LEFT_PANEL_HEADER_CONTROL_DIRECTIVE);
}
};
});
$__System.registerDynamic("20", [], true, function($__require, exports, module) {
;
var global = this,
__define = global.define;
global.define = undefined;
module.exports = "<div class=\"panel panel-default\">\n <div class=\"panel-body\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <h5 class=\"greyText\">\n <i class=\"fa fa-pencil-square-o\"></i>\n &nbsp;\n Edit properties :\n </h5>\n </div>\n </div>\n <div class=\"marginTopFivepixels\"></div>\n <div class=\"row\">\n <div class=\"col-lg-12 col-md-12\">\n <label\n for=\"groupedSelectRowCollection\"\n class=\"control-label greyText editPropertiesLabel\">\n Add new options :\n </label>\n </div>\n </div>\n <div class=\"row\">\n <div>\n <div class=\"form-group\">\n <div class=\"col-sm-9 col-xs-9 col-md-9 col-lg-9\">\n <input\n type=\"text\"\n class=\"form-control\"\n id=\"inputAddNewGroupedOption\"\n placeholder=\"add new option\"\n ng-model=\"leftPanelCtrl.newOptionGroupedSelect.saisie\">\n </div>\n <div class=\"col-sm-3 col-xs-3 col-md-3 col-lg-3\">\n <button\n class=\"btn btn-primary\"\n ng-click=\"leftPanelCtrl.addNewOptionGroupedSelect()\">\n add\n </button>\n </div>\n </div>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-lg-12 col-md-12\">\n <label\n for=\"groupedSelectRowCollection\"\n class=\" control-label greyText editPropertiesLabel\">\n Add new groups :\n </label>\n </div>\n </div>\n <div class=\"row\">\n <div>\n <div class=\"form-group\">\n <div class=\"col-sm-9 col-xs-9 col-md-9 col-lg-9\">\n <input\n id=\"inputAddNewGroupGroupedOption\"\n type=\"text\"\n class=\"form-control\"\n ng-model=\"leftPanelCtrl.newGroupGroupedSelect.saisie\"\n placeholder=\"Add new group\">\n </div>\n <div class=\"col-sm-3 col-xs-3 col-md-3 col-lg-3\">\n <button\n class=\"btn btn-primary\"\n ng-click=\"leftPanelCtrl.addNewGroupToGroupedSelect()\">\n add\n </button>\n </div>\n </div>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-lg-12 col-md-12\">\n <label\n class=\" control-label greyText editPropertiesLabel\">\n Edit/Remove options/groups:\n </label>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"form-group\">\n <div class-\"col-lg-12 col-md-12 col-sm-12 col-xs-12\">\n <div class=\"container\">\n <div ng-if=\"leftPanelCtrl.groupedSelectRowCollection.rows.length === 0\">\n <h5 class=\"text-center greyText\">\n <em>\n - no option : add new options -\n </em>\n </h5>\n </div>\n <table\n ng-if=\"leftPanelCtrl.groupedSelectRowCollection.rows.length > 0\"\n class=\"table table-striped\">\n <thead>\n <tr>\n <th st-ratio=\"20\">\n order\n </th>\n <th st-ratio=\"25\">\n group\n </th>\n <th st-ratio=\"30\">\n option\n </th>\n <th st-ratio=\"25\"></th>\n </tr>\n <tr>\n <th st-ratio=\"20\"></th>\n <th st-ratio=\"25\"></th>\n <th st-ratio=\"30\">\n <input\n ng-model=\"groupedSelectFilter\"\n placeholder=\"search for option\"\n class=\"input-sm form-control\"\n type=\"search\" />\n </th>\n <th st-ratio=\"25\"></th>\n </tr>\n </thead>\n <tbody>\n <tr\n ng-repeat=\"groupedSelectRow in leftPanelCtrl.groupedSelectRowCollection.rows | filter:groupedSelectFilter as groupedSelectRow\">\n <td st-ratio=\"20\">\n {{$index}}\n </td>\n <td st-ratio=\"25\">\n <div ng-if=\"leftPanelCtrl.groupSelectGroupClick.showList === true\">\n <div ng-if=\"leftPanelCtrl.GroupedSelectGroups.list.length === 0\">\n <p class=\"text-left noGroupText\">\n - add new groups -\n </p>\n </div>\n <div ng-if=\"leftPanelCtrl.GroupedSelectGroups.list.length > 0\">\n <ol\n class=\"nya-bs-select col-sm-12 col-xs-12 col-md-12 col-lg12 editGroupedSelectnyaSelect\"\n ng-model=\"groupedSelectRow.group\"\n id=\"modelGroupedOptionGroupedChoose\"\n disabled=\"leftPanelCtrl.GroupedSelectGroups.list.length === 0\">\n <li\n class=\"nya-bs-option\"\n nya-bs-option=\"GroupedSelectGroup in leftPanelCtrl.GroupedSelectGroups.list\"\n value=\"GroupedSelectGroup\">\n <a>\n {{GroupedSelectGroup}}\n </a>\n </li>\n </ol>\n </div>\n </div>\n <div ng-if=\"leftPanelCtrl.groupSelectGroupClick.showList === false\">\n {{groupedSelectRow.group}}\n </div>\n </td>\n <td st-ratio=\"30\">\n {{groupedSelectRow.option}}\n </td>\n <td st-ratio=\"25\">\n <div class=\"pull-right\">\n <button\n class=\"btn btn-primary\"\n ng-click=\"leftPanelCtrl.upThisGroupedSelectRow($index)\">\n <i class=\"fa fa-arrow-up\"></i>\n </button>\n <button\n class=\"btn btn-primary\"\n ng-click=\"leftPanelCtrl.downThisGroupedSelectRow($index)\">\n <i class=\"fa fa-arrow-down\"></i>\n </button>\n <button\n class=\"btn btn-warning\"\n ng-click=\"leftPanelCtrl.showGroupListToChoose()\">\n <i class=\"fa fa-pencil-square-o\"></i>\n </button>\n <button\n class=\"btn btn-danger\"\n ng-click=\"leftPanelCtrl.removeGroupedSelectRow($index)\">\n <i class=\"fa fa-trash-o\"></i>\n </button>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n </div>\n <div class=\"marginTopFivepixels\"></div>\n <div class=\"row\">\n <div class=\"form-group\">\n\t\t\t\t<div class=\"col-md-12\">\n <label\n for=\"DescriptionUpdate\"\n class=\"control-label greyText editPropertiesLabel\">\n Description :\n </label>\n <div class=\"\">\n <input\n type=\"text\"\n class=\"form-control\"\n ng-model=\"leftPanelCtrl.proxyModel.temporyConfig.formlyDesciption\"\n id=\"DescriptionUpdate\"\n placeholder=\"Add / edit description here\">\n </div>\n\t\t\t\t</div>\n </div>\n </div>\n </div>\n <left-panel-valid-edit-footer />\n</div>\n";
global.define = __define;
return module.exports;
});
$__System.register('21', ['20'], function (_export) {
'use strict';
var leftPanelGroupedSelectControlTemplate, LEFT_PANEL_GROUPED_SELECT_CONTROL_DIRECTIVE;
function leftPanelGroupedSelectControl() {
var directive = {
restrict: 'E',
template: leftPanelGroupedSelectControlTemplate
};
return directive;
}
return {
setters: [function (_) {
leftPanelGroupedSelectControlTemplate = _['default'];
}],
execute: function () {
LEFT_PANEL_GROUPED_SELECT_CONTROL_DIRECTIVE = 'leftPanelGroupedSelectControl';
leftPanelGroupedSelectControl.$inject = [];
_export('default', leftPanelGroupedSelectControl);
_export('LEFT_PANEL_GROUPED_SELECT_CONTROL_DIRECTIVE', LEFT_PANEL_GROUPED_SELECT_CONTROL_DIRECTIVE);
}
};
});
$__System.registerDynamic("22", [], true, function($__require, exports, module) {
;
var global = this,
__define = global.define;
global.define = undefined;
module.exports = "<div class=\"panel panel-default\">\n <div class=\"panel-body\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <h5 class=\"greyText\">\n <i class=\"fa fa-pencil-square-o\"></i>\n &nbsp;\n Edit properties :\n </h5>\n </div>\n </div>\n <div class=\"marginTopFivepixels\"></div>\n <label class=\"control-label greyText editPropertiesLabel\">\n Date format :\n </label>\n <div class=\"\">\n <ol\n class=\"nya-bs-select col-sm-12 col-xs-12 col-md-12 col-lg12\"\n ng-model=\"leftPanelCtrl.proxyModel.temporyConfig.datepickerPopup\"\n id=\"dateformatSelect\">\n <li\n class=\"nya-bs-option\"\n nya-bs-option=\"dateformat in leftPanelCtrl.demodt.formats\"\n value=\"dateformat\">\n <a>\n {{dateformat}}\n </a>\n </li>\n </ol>\n </div>\n <div class=\"marginTopFivepixels\"></div>\n <div class=\"row\">\n <div class=\"form-group\">\n <div class=\"col-md-12\">\n <label\n for=\"inputTextLabelUpdate\"\n class=\" control-label greyText editPropertiesLabel\">\n Label text :\n </label>\n <div class=\"\">\n <input\n type=\"text\"\n class=\"form-control\"\n ng-model=\"leftPanelCtrl.proxyModel.temporyConfig.formlyLabel\"\n id=\"inputTextLabelUpdate\"\n placeholder=\"Add / edit control label here\">\n </div>\n </div>\n </div>\n </div>\n <div class=\"marginTopFivepixels\"></div>\n <div class=\"row\">\n <div class=\"form-group\">\n <div class=\"\">\n <label\n for=\"RequiredUpdate\"\n class=\"col-md-4 control-label greyText editPropertiesLabel\">\n Required :\n </label>\n <div class=\"col-md-8\">\n <div class=\"checkboxCssCorrection\">&nbsp;</div>\n <input\n type=\"checkbox\"\n ng-model=\"leftPanelCtrl.proxyModel.temporyConfig.formlyRequired\"\n id=\"RequiredUpdate\">\n </div>\n </div>\n </div>\n </div>\n <div class=\"marginTopFivepixels\"></div>\n <div class=\"row\">\n <div class=\"form-group\">\n <div class=\"col-md-12\">\n <label\n for=\"DescriptionUpdate\"\n class=\"control-label greyText editPropertiesLabel\">\n Description :\n </label>\n <div class=\"\">\n <input\n type=\"text\"\n class=\"form-control\"\n ng-model=\"leftPanelCtrl.proxyModel.temporyConfig.formlyDesciption\"\n id=\"DescriptionUpdate\"\n placeholder=\"Add / edit description here\">\n </div>\n </div>\n </div>\n </div>\n </div>\n <left-panel-valid-edit-footer />\n</div>\n";
global.define = __define;
return module.exports;
});
$__System.register('23', ['22'], function (_export) {
'use strict';
var leftPanelDateControlTemplate, LEFT_PANEL_DATE_CONTROL_DIRECTIVE;
function leftPanelDateControl() {
var directive = {
restrict: 'E',
template: leftPanelDateControlTemplate
};
return directive;
}
return {
setters: [function (_) {
leftPanelDateControlTemplate = _['default'];
}],
execute: function () {
LEFT_PANEL_DATE_CONTROL_DIRECTIVE = 'leftPanelDateControl';
leftPanelDateControl.$inject = [];
_export('default', leftPanelDateControl);
_export('LEFT_PANEL_DATE_CONTROL_DIRECTIVE', LEFT_PANEL_DATE_CONTROL_DIRECTIVE);
}
};
});
$__System.registerDynamic("24", [], true, function($__require, exports, module) {
;
var global = this,
__define = global.define;
global.define = undefined;
module.exports = "<div class=\"panel panel-default\">\n <div class=\"panel-body\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <h5 class=\"greyText\">\n <i class=\"fa fa-pencil-square-o\"></i>\n &nbsp;\n Edit properties :\n </h5>\n </div>\n </div>\n <div class=\"marginTopFivepixels\"></div>\n <div class=\"row\">\n <div class=\"form-group\">\n \t\t\t<div class=\"col-md-12\">\n <label\n for=\"inputTextLabelUpdate\"\n class=\" control-label greyText editPropertiesLabel\">\n Label text :\n </label>\n <div class=\"\">\n <input\n type=\"text\"\n class=\"form-control\"\n ng-model=\"leftPanelCtrl.proxyModel.temporyConfig.formlyLabel\"\n id=\"inputTextLabelUpdate\"\n placeholder=\"Add / edit control label here\">\n </div>\n \t\t\t</div>\n </div>\n </div>\n <div class=\"marginTopFivepixels\"></div>\n <div class=\"row\">\n <div class=\"form-group\">\n \t\t\t<div class=\"\">\n <label\n for=\"RequiredUpdate\"\n class=\"col-md-4 control-label greyText editPropertiesLabel\">\n Required :\n </label>\n <div class=\"col-md-8\">\n <div class=\"checkboxCssCorrection\">&nbsp;</div>\n <input\n type=\"checkbox\"\n ng-model=\"leftPanelCtrl.proxyModel.temporyConfig.formlyRequired\"\n id=\"RequiredUpdate\">\n </div>\n \t\t\t</div>\n </div>\n </div>\n <div class=\"marginTopFivepixels\"></div>\n <div class=\"row\">\n <div class=\"form-group\">\n \t\t\t<div class=\"col-md-12\">\n <label\n for=\"DescriptionUpdate\"\n class=\"control-label greyText editPropertiesLabel\">\n Description :\n </label>\n <div class=\"\">\n <input\n type=\"text\"\n class=\"form-control\"\n ng-model=\"leftPanelCtrl.proxyModel.temporyConfig.formlyDesciption\"\n id=\"DescriptionUpdate\"\n placeholder=\"Add / edit description here\">\n </div>\n \t\t\t</div>\n </div>\n </div>\n </div>\n <left-panel-valid-edit-footer />\n</div>\n";
global.define = __define;
return module.exports;
});
$__System.register('25', ['24'], function (_export) {
'use strict';
var leftPanelCheckBoxControlTemplate, LEFT_PANEL_CHECKBOX_CONTROL_DIRECTIVE;
function leftPanelCheckBoxControl() {
var directive = {
restrict: 'E',
template: leftPanelCheckBoxControlTemplate
};
return directive;
}
return {
setters: [function (_) {
leftPanelCheckBoxControlTemplate = _['default'];
}],
execute: function () {
LEFT_PANEL_CHECKBOX_CONTROL_DIRECTIVE = 'leftPanelCheckBoxControl';
leftPanelCheckBoxControl.$inject = [];
_export('default', leftPanelCheckBoxControl);
_export('LEFT_PANEL_CHECKBOX_CONTROL_DIRECTIVE', LEFT_PANEL_CHECKBOX_CONTROL_DIRECTIVE);
}
};
});
$__System.registerDynamic("26", [], true, function($__require, exports, module) {
;
var global = this,
__define = global.define;
global.define = undefined;
module.exports = "<div class=\"panel panel-default\">\n <div class=\"panel-body\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <h5 class=\"greyText\">\n <i class=\"fa fa-pencil-square-o\"></i>\n &nbsp; \n Edit :\n </h5>\n </div>\n </div> \n <div class=\"row\">\n <div class=\"col-sm-12\">\n <h5 class=\"text-center greyText\">\n Column will be blank\n </h5>\n </div>\n </div>\n </div>\n <left-panel-valid-edit-footer />\n</div>\n";
global.define = __define;
return module.exports;
});
$__System.register('27', ['26'], function (_export) {
'use strict';
var leftPanelBlankControlTemplate, LEFT_PANEL_BLANK_CONTROL_DIRECTIVE;
function leftPanelBlankControl() {
var directive = {
restrict: 'E',
template: leftPanelBlankControlTemplate
};
return directive;
}
return {
setters: [function (_) {
leftPanelBlankControlTemplate = _['default'];
}],
execute: function () {
LEFT_PANEL_BLANK_CONTROL_DIRECTIVE = 'leftPanelBlankControl';
leftPanelBlankControl.$inject = [];
_export('default', leftPanelBlankControl);
_export('LEFT_PANEL_BLANK_CONTROL_DIRECTIVE', LEFT_PANEL_BLANK_CONTROL_DIRECTIVE);
}
};
});
$__System.registerDynamic("28", [], true, function($__require, exports, module) {
;
var global = this,
__define = global.define;
global.define = undefined;
module.exports = "<div class=\"panel panel-default\">\n <div class=\"panel-body\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <h5 class=\"greyText\">\n <i class=\"fa fa-pencil-square-o\"></i>\n &nbsp;\n Edit properties :\n </h5>\n </div>\n </div>\n <div class=\"marginTopFivepixels\"></div>\n <div class=\"row\">\n <div class=\"col-lg-12 col-md-12\">\n <label\n for=\"basicSelectRowCollection\"\n class=\" control-label greyText editPropertiesLabel\">\n Add new options :\n </label>\n </div>\n </div>\n <div class=\"row\">\n <div>\n <div class=\"form-group\">\n <div class=\"col-sm-9 col-xs-9 col-md-9 col-lg-9\">\n <input\n type=\"text\"\n class=\"form-control\"\n id=\"inputAddNewBasicOption\"\n placeholder=\"add new option\"\n ng-model=\"leftPanelCtrl.newOptionBasicSelect.saisie\">\n </div>\n <div class=\"col-sm-3 col-xs-3 col-md-3 col-lg-3\">\n <button\n class=\"btn btn-primary\"\n ng-click=\"leftPanelCtrl.addNewOptionBasicSelect()\">\n add\n </button>\n </div>\n </div>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-lg-12 col-md-12\">\n <label class=\" control-label greyText editPropertiesLabel\">\n Edit/Remove options :\n </label>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"form-group\">\n <div class-\"col-lg-12 col-md-12 col-sm-12 col-xs-12\">\n <div class=\"container\">\n <div ng-if=\"leftPanelCtrl.basicSelectRowCollection.rows.length === 0\">\n <h5 class=\"text-center greyText\">\n <em>\n - no option : add new options -\n </em>\n </h5>\n </div>\n <table\n ng-if=\"leftPanelCtrl.basicSelectRowCollection.rows.length > 0\"\n class=\"table table-striped\">\n <thead>\n <tr>\n <th st-ratio=\"20\">\n order\n </th>\n <th st-ratio=\"55\">\n option\n </th>\n <th st-ratio=\"25\"></th>\n </tr>\n <tr>\n <th st-ratio=\"20\"></th>\n <th st-ratio=\"55\">\n <input\n ng-model=\"leftPanelCtrl.basicSelectFilter\"\n placeholder=\"search for option\"\n class=\"input-sm form-control\"\n type=\"search\" />\n </th>\n <th st-ratio=\"25\"></th>\n </tr>\n </thead>\n <tbody>\n <tr ng-repeat=\"basicSelectRow in leftPanelCtrl.basicSelectRowCollection.rows | filter:basicSelectFilter as basicSelectRow\">\n <td st-ratio=\"20\">\n {{$index}}\n </td>\n <td st-ratio=\"55\">\n {{basicSelectRow.option}}\n </td>\n <td st-ratio=\"25\">\n <div class=\"pull-right\">\n <button\n class=\"btn btn-primary\"\n ng-click=\"leftPanelCtrl.upThisRow($index)\">\n <i class=\"fa fa-arrow-up\"></i>\n </button>\n <button\n class=\"btn btn-primary\"\n ng-click=\"leftPanelCtrl.downThisRow($index)\">\n <i class=\"fa fa-arrow-down\"></i>\n </button>\n <button\n class=\"btn btn-danger\"\n ng-click=\"leftPanelCtrl.removeRow($index)\">\n <i class=\"fa fa-trash-o\"></i>\n </button>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n </div>\n <div class=\"marginTopFivepixels\"></div>\n <div class=\"row\">\n <div class=\"form-group\">\n \t<div class=\"col-md-12\">\n <label\n for=\"DescriptionUpdate\"\n class=\"control-label greyText editPropertiesLabel\">\n Description :\n </label>\n <div class=\"\">\n <input\n type=\"text\"\n class=\"form-control\"\n ng-model=\"leftPanelCtrl.proxyModel.temporyConfig.formlyDesciption\"\n id=\"DescriptionUpdate\"\n placeholder=\"Add / edit description here\">\n </div>\n \t</div>\n </div>\n </div>\n </div>\n <left-panel-valid-edit-footer />\n</div>\n";
global.define = __define;
return module.exports;
});
$__System.register('29', ['28'], function (_export) {
'use strict';
var leftPanelBasicSelectControlTemplate, LEFT_PANEL_BASIC_SELECT_CONTROL_DIRECTIVE;
function leftPanelBasicSelectControl() {
var directive = {
restrict: 'E',
template: leftPanelBasicSelectControlTemplate
};
return directive;
}
return {
setters: [function (_) {
leftPanelBasicSelectControlTemplate = _['default'];
}],
execute: function () {
LEFT_PANEL_BASIC_SELECT_CONTROL_DIRECTIVE = 'leftPanelBasicSelectControl';
leftPanelBasicSelectControl.$inject = [];
_export('default', leftPanelBasicSelectControl);
_export('LEFT_PANEL_BASIC_SELECT_CONTROL_DIRECTIVE', LEFT_PANEL_BASIC_SELECT_CONTROL_DIRECTIVE);
}
};
});
$__System.register('2a', ['8', '11', '13', '15', '17', '19', '21', '23', '25', '27', '29', 'c', 'e', 'f', '1b', '1d', '1f'], function (_export) {
/* global angular */
'use strict';
var leftPanelController, LEFT_PANEL_CONTROLLER, leftPanelValidEditFooter, LEFT_PANEL_VALID_EDIT_FOOTER_DIRECTIVE, leftPanelTextInputControl, LEFT_PANEL_TEXT_INPUT_CONTROL_DIRECTIVE, leftPanelTextareaControl, LEFT_PANEL_TEXTAREA_CONTROL_DIRECTIVE, leftPanelSubtitleControl, LEFT_PANEL_SUBTITLE_CONTROL_DIRECTIVE, leftPanelRichTextEditorControl, LEFT_PANEL_RICH_TEXT_EDITOR_CONTROL_DIRECTIVE, leftPanelGroupedSelectControl, LEFT_PANEL_GROUPED_SELECT_CONTROL_DIRECTIVE, leftPanelDateControl, LEFT_PANEL_DATE_CONTROL_DIRECTIVE, leftPanelCheckBoxControl, LEFT_PANEL_CHECKBOX_CONTROL_DIRECTIVE, leftPanelBlankControl, LEFT_PANEL_BLANK_CONTROL_DIRECTIVE, leftPanelBasicSelectControl, LEFT_PANEL_BASIC_SELECT_CONTROL_DIRECTIVE, leftPanel, LEFT_PANEL_DIRECTIVE, selectOptionMange, LEFT_PANEL_SELECT_OPTION_MANAGE_SERVICE, controllerModalProxy, CONTROLLER_MODAL_PROXY, leftPanelRadioControl, LEFT_PANEL_RADIO_CONTROL_DIRECTIVE, leftPanelPasswordControl, LEFT_PANEL_PASSWORD_CONTROL_DIRECTIVE, leftPanelHeaderControl, LEFT_PANEL_HEADER_CONTROL_DIRECTIVE, LEFT_PANEL_MODULE;
return {
setters: [function (_) {
leftPanelController = _['default'];
LEFT_PANEL_CONTROLLER = _.LEFT_PANEL_CONTROLLER;
}, function (_2) {
leftPanelValidEditFooter = _2['default'];
LEFT_PANEL_VALID_EDIT_FOOTER_DIRECTIVE = _2.LEFT_PANEL_VALID_EDIT_FOOTER_DIRECTIVE;
}, function (_3) {
leftPanelTextInputControl = _3['default'];
LEFT_PANEL_TEXT_INPUT_CONTROL_DIRECTIVE = _3.LEFT_PANEL_TEXT_INPUT_CONTROL_DIRECTIVE;
}, function (_4) {
leftPanelTextareaControl = _4['default'];
LEFT_PANEL_TEXTAREA_CONTROL_DIRECTIVE = _4.LEFT_PANEL_TEXTAREA_CONTROL_DIRECTIVE;
}, function (_5) {
leftPanelSubtitleControl = _5['default'];
LEFT_PANEL_SUBTITLE_CONTROL_DIRECTIVE = _5.LEFT_PANEL_SUBTITLE_CONTROL_DIRECTIVE;
}, function (_6) {
leftPanelRichTextEditorControl = _6['default'];
LEFT_PANEL_RICH_TEXT_EDITOR_CONTROL_DIRECTIVE = _6.LEFT_PANEL_RICH_TEXT_EDITOR_CONTROL_DIRECTIVE;
}, function (_7) {
leftPanelGroupedSelectControl = _7['default'];
LEFT_PANEL_GROUPED_SELECT_CONTROL_DIRECTIVE = _7.LEFT_PANEL_GROUPED_SELECT_CONTROL_DIRECTIVE;
}, function (_8) {
leftPanelDateControl = _8['default'];
LEFT_PANEL_DATE_CONTROL_DIRECTIVE = _8.LEFT_PANEL_DATE_CONTROL_DIRECTIVE;
}, function (_9) {
leftPanelCheckBoxControl = _9['default'];
LEFT_PANEL_CHECKBOX_CONTROL_DIRECTIVE = _9.LEFT_PANEL_CHECKBOX_CONTROL_DIRECTIVE;
}, function (_10) {
leftPanelBlankControl = _10['default'];
LEFT_PANEL_BLANK_CONTROL_DIRECTIVE = _10.LEFT_PANEL_BLANK_CONTROL_DIRECTIVE;
}, function (_11) {
leftPanelBasicSelectControl = _11['default'];
LEFT_PANEL_BASIC_SELECT_CONTROL_DIRECTIVE = _11.LEFT_PANEL_BASIC_SELECT_CONTROL_DIRECTIVE;
}, function (_c) {
leftPanel = _c['default'];
LEFT_PANEL_DIRECTIVE = _c.LEFT_PANEL_DIRECTIVE;
}, function (_e) {
selectOptionMange = _e['default'];
LEFT_PANEL_SELECT_OPTION_MANAGE_SERVICE = _e.LEFT_PANEL_SELECT_OPTION_MANAGE_SERVICE;
}, function (_f) {
controllerModalProxy = _f['default'];
CONTROLLER_MODAL_PROXY = _f.CONTROLLER_MODAL_PROXY;
}, function (_b) {
leftPanelRadioControl = _b['default'];
LEFT_PANEL_RADIO_CONTROL_DIRECTIVE = _b.LEFT_PANEL_RADIO_CONTROL_DIRECTIVE;
}, function (_d) {
leftPanelPasswordControl = _d['default'];
LEFT_PANEL_PASSWORD_CONTROL_DIRECTIVE = _d.LEFT_PANEL_PASSWORD_CONTROL_DIRECTIVE;
}, function (_f2) {
leftPanelHeaderControl = _f2['default'];
LEFT_PANEL_HEADER_CONTROL_DIRECTIVE = _f2.LEFT_PANEL_HEADER_CONTROL_DIRECTIVE;
}],
execute: function () {
LEFT_PANEL_MODULE = 'edaDragDropWay.leftPanel.module';
_export('default', angular.module(LEFT_PANEL_MODULE, []).directive(LEFT_PANEL_DIRECTIVE, leftPanel).controller(LEFT_PANEL_CONTROLLER, leftPanelController).service(LEFT_PANEL_SELECT_OPTION_MANAGE_SERVICE, selectOptionMange).service(CONTROLLER_MODAL_PROXY, controllerModalProxy).directive(LEFT_PANEL_VALID_EDIT_FOOTER_DIRECTIVE, leftPanelValidEditFooter).directive(LEFT_PANEL_TEXT_INPUT_CONTROL_DIRECTIVE, leftPanelTextInputControl).directive(LEFT_PANEL_TEXTAREA_CONTROL_DIRECTIVE, leftPanelTextareaControl).directive(LEFT_PANEL_SUBTITLE_CONTROL_DIRECTIVE, leftPanelSubtitleControl).directive(LEFT_PANEL_RICH_TEXT_EDITOR_CONTROL_DIRECTIVE, leftPanelRichTextEditorControl).directive(LEFT_PANEL_RADIO_CONTROL_DIRECTIVE, leftPanelRadioControl).directive(LEFT_PANEL_PASSWORD_CONTROL_DIRECTIVE, leftPanelPasswordControl).directive(LEFT_PANEL_HEADER_CONTROL_DIRECTIVE, leftPanelHeaderControl).directive(LEFT_PANEL_GROUPED_SELECT_CONTROL_DIRECTIVE, leftPanelGroupedSelectControl).directive(LEFT_PANEL_DATE_CONTROL_DIRECTIVE, leftPanelDateControl).directive(LEFT_PANEL_CHECKBOX_CONTROL_DIRECTIVE, leftPanelCheckBoxControl).directive(LEFT_PANEL_BLANK_CONTROL_DIRECTIVE, leftPanelBlankControl).directive(LEFT_PANEL_BASIC_SELECT_CONTROL_DIRECTIVE, leftPanelBasicSelectControl));
}
};
});
$__System.register('2b', ['9', 'a'], function (_export) {
var _createClass, _classCallCheck, FORM_FIELD_MANAGE_SERVICE, formFieldManage;
return {
setters: [function (_) {
_createClass = _['default'];
}, function (_a) {
_classCallCheck = _a['default'];
}],
execute: function () {
'use strict';
FORM_FIELD_MANAGE_SERVICE = 'formFieldManage';
formFieldManage = (function () {
function formFieldManage(EasyFormGenFormlyBindingModels) {
_classCallCheck(this, formFieldManage);
this.EasyFormGenFormlyBindingModels = EasyFormGenFormlyBindingModels;
this.init();
}
_createClass(formFieldManage, [{
key: 'init',
value: function init() {}
/**
* At initial state : configuration model will contain 1 line, since :
* -> it is non sense to create a form without a single line (no line = no form at all)
* -> so it is non sense to force user to add a first line
*
* PLEASE NOTE columns array contains objects that look like formly fields one
*/
}, {
key: 'initConfigurationEditFromScratch',
value: function initConfigurationEditFromScratch(configurationModel, addStepWayProperties) {
var configurationModelInit = this.EasyFormGenFormlyBindingModels.getEasyFormInitialStateConfigurationModel(addStepWayProperties);
angular.copy(configurationModelInit, configurationModel);
}
/**
* Get an configuration empty (no init line) then empty it with lines array provided in param
* @param object - configurationModel [configuration model]
* @param array - lines [an array : lines to apply to an empty configuration model]
* @param bool - addStepWayProperties [description]
* @return {object message} [give details on how it happened to caller]
*/
}, {
key: 'bindConfigurationLines',
value: function bindConfigurationLines(configurationModel, lines, addStepWayProperties) {
if (Object.prototype.toString.call(lines) === '[object Array]') {
var configurationModelResult = this.EasyFormGenFormlyBindingModels.getEasyFormReloadConfigurationModel(addStepWayProperties);
configurationModelResult.lines = [].concat(lines);
angular.copy(configurationModelResult, configurationModel);
return this.getMessageObject('configuration model is bound', 'lines are bound to configuration model.');
} else {
return this.getErrorObject('lines is not an array', 'Checks lines type, it is not an array.');
}
}
/**
* applyConfigurationToformlyModel :
* - bind configuration model into formly field model
* - reset dataModel (formlyfield may have changed so previous dataModel would be false)
* @param configurationModel
* @param formlyModel
* @param formlyDataModel
*/
}, {
key: 'applyConfigurationToformlyModel',
value: function applyConfigurationToformlyModel(configurationModel, formlyModel, formlyDataModel) {
this.resetFormlyModel(formlyModel);
this.resetDataModel(formlyDataModel);
var lineNumber = configurationModel.lines.length;
for (var i = 0; i < lineNumber; i++) {
this.AddNColumnControl(formlyModel, configurationModel, i);
}
}
}, {
key: 'resetFormlyModel',
value: function resetFormlyModel(formlyModel) {
var resetformly = [];
angular.copy(resetformly, formlyModel);
}
}, {
key: 'AddNColumnControl',
value: function AddNColumnControl(formlyModel, configurationModel, lineIndex) {
var _this = this;
var numberOfColumns = configurationModel.lines[lineIndex].columns.length;
/**
* push formly model
* here : only className and empty fieldGroup (controls != header)
* if header will be reset to set a template (at least we have now indexFormlyModel)
*/
var rawFormlyModel = {
className: 'row',
fieldGroup: []
};
//get index formlyModel for this line :
var indexFormlyModel = formlyModel.push(rawFormlyModel) - 1;
// iterates through controls in the line
configurationModel.lines[lineIndex].columns.forEach(function (column) {
var controlTemplate = {};
if (typeof controlTemplate !== 'undefined' &&
// column.control.type !== 'header' &&
// column.control.type !== 'subTitle' &&
column.control.type !== 'none') {
/**
* controls : getFormlyControlTemplateForNcolumnLine()
*
* @PARAM numberOfColumns : integer to deduce cssClss to apply
* @PARAM column.control.type : to add if needed specific properties (example : datepicker)
*/
if (column.control.type === 'header' || column.control.type === 'subTitle') {
var headerTextContent = column.control.templateOptions.description;
controlTemplate.template = _this.EasyFormGenFormlyBindingModels.getHeaderTemplateForNcolumnLine(numberOfColumns, headerTextContent).template;
controlTemplate.className = _this.EasyFormGenFormlyBindingModels.getRawHeaderTemplates().selectedClass;
} else {
controlTemplate = _this.EasyFormGenFormlyBindingModels.getFormlyControlTemplateForNcolumnLine(numberOfColumns, column.control.type);
/**
* NEED REFACTOR HERE
* should bind properties dynamically
*
* TODO need to validate all controls (datepicker may not work)
* need to refactor
*/
controlTemplate.className = column.control.className;
controlTemplate.type = column.control.type;
controlTemplate.key = column.control.key;
controlTemplate.templateOptions.type = column.control.templateOptions.type;
controlTemplate.templateOptions.label = column.control.templateOptions.label;
controlTemplate.templateOptions.required = column.control.templateOptions.required;
controlTemplate.templateOptions.placeholder = column.control.templateOptions.placeholder;
controlTemplate.templateOptions.description = column.control.templateOptions.description;
controlTemplate.templateOptions.options = [].concat(column.control.templateOptions.options);
if (typeof controlTemplate.templateOptions.datepickerPopup !== 'undefined') column.control.templateOptions.datepickerPopup = controlTemplate.templateOptions.datepickerPopup;
}
/**
* popuplate properties
*/
/**
* push control into formly model in its group
*/
/**
* need to catch this random error
*/
formlyModel[indexFormlyModel].fieldGroup.push(controlTemplate);
}
});
}
}, {
key: 'isTemplateOptionDefined',
value: function isTemplateOptionDefined(obj) {
return typeof obj.templateOptions !== 'undefined' ? true : false;
}
}, {
key: 'extractTemplateOptionLabel',
value: function extractTemplateOptionLabel(obj) {
return typeof obj.templateOptions !== 'undefined' ? typeof obj.templateOptions.label !== 'undefined' ? obj.templateOptions.label : '' : '';
}
}, {
key: 'extractTemplateOptionDatepickerPopup',
value: function extractTemplateOptionDatepickerPopup(obj) {
return typeof obj.templateOptions !== 'undefined' ? typeof obj.templateOptions.datepickerPopup !== 'undefined' ? obj.templateOptions.datepickerPopup : '' : '';
}
}, {
key: 'extractTemplateOptionRequired',
value: function extractTemplateOptionRequired(obj) {
return typeof obj.templateOptions !== 'undefined' ? typeof obj.templateOptions.required !== 'undefined' ? obj.templateOptions.required : '' : '';
}
//radio and select
}, {
key: 'extractTemplateOptionOptions',
value: function extractTemplateOptionOptions(obj) {
return typeof obj.templateOptions !== 'undefined' ? typeof obj.templateOptions.options !== 'undefined' ? obj.templateOptions.options : '' : '';
}
}, {
key: 'extractTemplateOptionType',
value: function extractTemplateOptionType(obj) {
return typeof obj.subtype !== 'undefined' ? obj.subtype : '';
}
}, {
key: 'extractTemplateOptionPlaceholder',
value: function extractTemplateOptionPlaceholder(obj) {
return typeof obj.templateOptions !== 'undefined' ? typeof obj.templateOptions.placeholder !== 'undefined' ? obj.templateOptions.placeholder : '' : '';
}
}, {
key: 'extractTemplateOptionDescription',
value: function extractTemplateOptionDescription(obj) {
return typeof obj.templateOptions !== 'undefined' ? typeof obj.templateOptions.description !== 'undefined' ? obj.templateOptions.description : '' : '';
}
// formly model functions
}, {
key: 'resetDataModel',
value: function resetDataModel(obj) {
var emptyDataModel = {};
angular.copy(emptyDataModel, obj);
return true;
}
// custom errors
}, {
key: 'getErrorObject',
value: function getErrorObject(errorTitle, errorMessage) {
var messageObj = {
noError: false,
title: '',
Message: ''
};
messageObj.noError = false;
messageObj.title = errorTitle;
messageObj.Message = errorMessage;
return messageObj;
}
}, {
key: 'getMessageObject',
value: function getMessageObject(messageTitle, messageBody) {
var messageObj = {
noError: false,
title: '',
Message: ''
};
messageObj.noError = true;
messageObj.title = messageTitle;
messageObj.Message = messageBody;
return messageObj;
}
}]);
return formFieldManage;
})();
formFieldManage.$inject = ['EasyFormGenFormlyBindingModels'];
_export('default', formFieldManage);
_export('FORM_FIELD_MANAGE_SERVICE', FORM_FIELD_MANAGE_SERVICE);
}
};
});
$__System.register('2c', [], function (_export) {
'use strict';
var initEasyFormListControls, initEasyFormEmptyConfigurationLineModel, initEmptyControlFieldModel, initEasyFormInitialStateConfigurationModel, initEasyFormInitialStateConfigurationModelAddOnForStepWay, initEasyFormReloadConfigurationModel, initHeaderTemplates, initFormlyControlTemplates, initParticularControlProperties;
return {
setters: [],
execute: function () {
initEasyFormListControls = function initEasyFormListControls() {
return {
controls: [],
selectedControl: 'none',
temporyConfig: {
selectedControl: 'none',
formlyLabel: 'label',
formlyRequired: false,
formlyDesciption: '',
formlyPlaceholder: '',
formlyOptions: []
}
};
};
_export('initEasyFormListControls', initEasyFormListControls);
initEasyFormEmptyConfigurationLineModel = function initEasyFormEmptyConfigurationLineModel() {
return {
line: 1,
activeColumn: 1,
columns: [{
numColumn: 1,
exist: true,
control: {
type: 'none',
key: 'none'
}
}]
};
};
_export('initEasyFormEmptyConfigurationLineModel', initEasyFormEmptyConfigurationLineModel);
initEmptyControlFieldModel = function initEmptyControlFieldModel() {
return {
'control': {
'type': 'none',
'key': 'none'
}
};
};
_export('initEmptyControlFieldModel', initEmptyControlFieldModel);
initEasyFormInitialStateConfigurationModel = function initEasyFormInitialStateConfigurationModel(_easyFormEmptyConfigurationLineModel) {
// commun all easy form generator ways
return {
submitButtonText: 'submit',
cancelButtonText: 'cancel',
lines: [].concat(_easyFormEmptyConfigurationLineModel)
};
};
_export('initEasyFormInitialStateConfigurationModel', initEasyFormInitialStateConfigurationModel);
initEasyFormInitialStateConfigurationModelAddOnForStepWay = function initEasyFormInitialStateConfigurationModelAddOnForStepWay() {
// specific easy form generator — step way — (not drag and drop way), needed for wizard management
return {
activeLine: 1,
listConfigStep: ['init', 'first', 'second', 'third'],
stepIndicators: [true, false, false, false],
configStepCounter: 0
};
};
_export('initEasyFormInitialStateConfigurationModelAddOnForStepWay', initEasyFormInitialStateConfigurationModelAddOnForStepWay);
initEasyFormReloadConfigurationModel = function initEasyFormReloadConfigurationModel() {
var reloadConfigModel = initEasyFormInitialStateConfigurationModel();
reloadConfigModel.lines = [];
return reloadConfigModel;
};
_export('initEasyFormReloadConfigurationModel', initEasyFormReloadConfigurationModel);
// can't use arrow function here -> 'this' would be bound to caller rather than expected current returned object...
initHeaderTemplates = function initHeaderTemplates() {
var headerTemplate = {
cssClass: ['col-xs-12', 'col-xs-6', 'col-xs-4'],
textContent: '',
html_part1: [' <div class="'].join(''),
selectedClass: '',
html_part2: ['">', ' <h2 class="text-center">'].join(''),
html_part3: this.textContent,
html_part4: [' <h2>', ' <hr/>', ' </div>'].join(''),
simpleHtml1: ['<h2 class="text-center">'].join(''),
simpleHtml2: [' <h2>', ' <hr/>'].join('')
};
return headerTemplate;
};
_export('initHeaderTemplates', initHeaderTemplates);
initFormlyControlTemplates = function initFormlyControlTemplates() {
return {
className: ['col-xs-12', 'col-xs-6', 'col-xs-4'],
type: '',
key: '',
templateOptions: {
type: '',
label: '',
required: '',
placeholder: '',
description: '',
options: ''
}
};
};
_export('initFormlyControlTemplates', initFormlyControlTemplates);
initParticularControlProperties = function initParticularControlProperties() {
return [{
controlType: 'datepicker',
properties: [{
isRoot: false,
isTemplateOptions: true,
value: 'datepickerPopup'
}]
}];
};
_export('initParticularControlProperties', initParticularControlProperties);
}
};
});
$__System.register('2d', ['2c'], function (_export) {
'use strict';
var helpers, EASY_FORM_FORMLY_BINDING_MODEL_PROVIDER;
function EasyFormGenFormlyBindingModels() {
var _easyFormListControls = helpers.initEasyFormListControls();
var _easyFormEmptyConfigurationLineModel = helpers.initEasyFormEmptyConfigurationLineModel();
var _emptyControlFieldModel = helpers.initEmptyControlFieldModel();
var _easyFormInitialStateConfigurationModel = helpers.initEasyFormInitialStateConfigurationModel(_easyFormEmptyConfigurationLineModel);
var _easyFormInitialStateConfigurationModelAddOnForStepWay = helpers.initEasyFormInitialStateConfigurationModelAddOnForStepWay();
var _easyFormReloadConfigurationModel = helpers.initEasyFormReloadConfigurationModel();
var _headerTemplates = helpers.initHeaderTemplates();
var _formlyControlTemplates = helpers.initFormlyControlTemplates();
var _particularControlProperties = helpers.initParticularControlProperties();
this.getAllParticularControlProperties = getAllParticularControlProperties;
this.addParticularControlProperties = addParticularControlProperties;
this.getEasyFormListControls = getEasyFormListControls;
this.addEasyFormControlToList = addEasyFormControlToList;
this.getHeaderTemplates = getHeaderTemplates;
this.addHeaderTemplateCssClass = addHeaderTemplateCssClass;
this.getFormlyControlTemplate = getFormlyControlTemplate;
this.addformlyControlTemplatesCssClass = addformlyControlTemplatesCssClass;
this.setFormlyControlTemplate = setFormlyControlTemplate;
this.$get = getFct;
function getAllParticularControlProperties() {
return _particularControlProperties;
}
function addParticularControlProperties(newParticularControlProperty) {
// test object param has waited properties
if ('controlType' in newParticularControlProperty && 'properties' in newParticularControlProperty) {
var isAnUpdate = false;
if (_particularControlProperties.length > 0) {
_particularControlProperties.forEach(function (controlProp) {
if (controlProp.controlType === newParticularControlProperty.controlType) {
controlProp.properties = [].concat(newParticularControlProperty.properties);
isAnUpdate = true;
}
});
}
if (!isAnUpdate) {
_particularControlProperties.push(newParticularControlProperty);
}
}
return _particularControlProperties;
}
function getEasyFormListControls() {
return _easyFormListControls;
}
function addEasyFormControlToList(controlDeclaration) {
if (typeof controlDeclaration !== 'undefined') {
_easyFormListControls.controls.push(controlDeclaration);
}
}
function getHeaderTemplates() {
return _headerTemplates;
}
function addHeaderTemplateCssClass(cssClassToAdd) {
if (typeof cssClassToAdd !== 'undefined') {
_headerTemplates.cssClass.push(cssClassToAdd);
}
}
function getFormlyControlTemplate() {
return _formlyControlTemplates;
}
function addformlyControlTemplatesCssClass(cssClassToAdd) {
if (typeof cssClassToAdd !== 'undefined') {
_formlyControlTemplates.className.push(cssClassToAdd);
}
}
function setFormlyControlTemplate(newFormlyControlTemplate) {
if ('className' in newFormlyControlTemplate && 'type' in newFormlyControlTemplate && 'key' in newFormlyControlTemplate && 'templateOptions' in newFormlyControlTemplate) {
_formlyControlTemplates = angular.copy(newFormlyControlTemplate);
}
return true;
}
getFct.$inject = [];
function getFct() {
var service = {
getEasyFormListControls: getEasyFormListControlsFct,
getEasyFormInitialStateConfigurationModel: getEasyFormInitialStateConfigurationModel,
getEasyFormReloadConfigurationModel: getEasyFormReloadConfigurationModel,
getEasyFormEmptyConfigurationLineModel: getEasyFormEmptyConfigurationLineModel,
getEasyFormConfigurationEmptyControlModel: getEasyFormConfigurationEmptyControlModel,
getRawHeaderTemplates: getRawHeaderTemplates,
getHeaderTemplateForNcolumnLine: getHeaderTemplateForNcolumnLine,
getRawFormlyControlTemplates: getRawFormlyControlTemplates,
getFormlyControlTemplateForNcolumnLine: getFormlyControlTemplateForNcolumnLine
};
return service;
function getEasyFormListControlsFct() {
return _easyFormListControls;
}
function getEasyFormInitialStateConfigurationModel(addStepWayProperties) {
var initialConfigurationModel = angular.copy(_easyFormInitialStateConfigurationModel);
if (typeof addStepWayProperties !== 'undefined') {
if (addStepWayProperties) {
// add properties specific to step way
angular.extend(initialConfigurationModel, _easyFormInitialStateConfigurationModelAddOnForStepWay);
}
}
return initialConfigurationModel;
}
function getEasyFormReloadConfigurationModel(addStepWayProperties) {
var initialConfigurationModel = angular.copy(_easyFormReloadConfigurationModel);
if (typeof addStepWayProperties !== 'undefined') {
if (addStepWayProperties) {
// add properties specific to step way
angular.extend(initialConfigurationModel, _easyFormInitialStateConfigurationModelAddOnForStepWay);
}
}
return initialConfigurationModel;
}
function getEasyFormEmptyConfigurationLineModel() {
return _easyFormEmptyConfigurationLineModel;
}
function getEasyFormConfigurationEmptyControlModel() {
return _emptyControlFieldModel;
}
function getRawHeaderTemplates() {
return _headerTemplates;
}
function getHeaderTemplateForNcolumnLine(nbColInLines, textContent) {
if (typeof nbColInLines !== 'undefined' && typeof textContent !== 'undefined') {
if (nbColInLines === parseInt(nbColInLines, 10)) {
if (nbColInLines <= _headerTemplates.cssClass.length) {
var headerToReturn = {};
headerToReturn.className = _headerTemplates.cssClass[nbColInLines - 1];
// header html property depends this property dont forget to set it before reading html property
_headerTemplates.textContent = textContent;
_headerTemplates.selectedClass = headerToReturn.className;
headerToReturn.template = [_headerTemplates.simpleHtml1, textContent, _headerTemplates.simpleHtml2].join('');
return headerToReturn;
}
}
}
}
function getRawFormlyControlTemplates() {
return _formlyControlTemplates;
}
function getFormlyControlTemplateForNcolumnLine(nbColInLines, controlType) {
if (typeof nbColInLines !== 'undefined') {
if (nbColInLines === parseInt(nbColInLines, 10)) {
if (nbColInLines <= _formlyControlTemplates.className.length) {
var _ret = (function () {
var controlToReturn = angular.copy(_formlyControlTemplates);
controlToReturn.className = _formlyControlTemplates.className[nbColInLines - 1];
// throw `it should have a bug upper line`;
/* eslint no-console:0 */
console.warn('it should have a bug upper line');
/**
* check controlType: it may require another particular property
*/
if (typeof controlType !== 'undefined') {
_particularControlProperties.forEach(function (controlProp) {
if (controlProp.controlType === controlType) {
/**
* add all properties this controlType has
*
* NOTE : dot expression and bracket expression to access object property
* http://www.ecma-international.org/ecma-262/5.1/#sec-11.2.1
*/
controlProp.properties.forEach(function (aPropToAdd) {
if (aPropToAdd.isRoot) controlToReturn[aPropToAdd.value] = '';
if (aPropToAdd.isTemplateOptions) controlToReturn.templateOptions[aPropToAdd.value] = '';
});
}
});
}
return {
v: controlToReturn
};
})();
if (typeof _ret === 'object') return _ret.v;
}
}
}
}
}
}
return {
setters: [function (_c) {
helpers = _c;
}],
execute: function () {
EASY_FORM_FORMLY_BINDING_MODEL_PROVIDER = 'EasyFormGenFormlyBindingModels';
EasyFormGenFormlyBindingModels.$inject = [];
_export('default', EasyFormGenFormlyBindingModels);
_export('EASY_FORM_FORMLY_BINDING_MODEL_PROVIDER', EASY_FORM_FORMLY_BINDING_MODEL_PROVIDER);
}
};
});
$__System.register('2e', ['2b', '2d'], function (_export) {
'use strict';
var formFieldManage, FORM_FIELD_MANAGE_SERVICE, EasyFormGenFormlyBindingModels, EASY_FORM_FORMLY_BINDING_MODEL_PROVIDER, FORMLY_PROXY_MODULE;
return {
setters: [function (_b) {
formFieldManage = _b['default'];
FORM_FIELD_MANAGE_SERVICE = _b.FORM_FIELD_MANAGE_SERVICE;
}, function (_d) {
EasyFormGenFormlyBindingModels = _d['default'];
EASY_FORM_FORMLY_BINDING_MODEL_PROVIDER = _d.EASY_FORM_FORMLY_BINDING_MODEL_PROVIDER;
}],
execute: function () {
FORMLY_PROXY_MODULE = '';
_export('default', angular.module(FORMLY_PROXY_MODULE, []).service(FORM_FIELD_MANAGE_SERVICE, formFieldManage).provider(EASY_FORM_FORMLY_BINDING_MODEL_PROVIDER, EasyFormGenFormlyBindingModels));
}
};
});
$__System.register('2f', [], function (_export) {
'use strict';
var DD_CONTENT_COUNTER_DIRECTIVE;
function ddContentCounter(dragDropItemCounterService, $timeout) {
var directive = {
restrict: 'A',
scope: {
valueWhenPlaceholder: '@ddValueWhenPlaceholder',
valueWhendragging: '@ddValueWhenDragging',
fullModel: '=ddFullModel',
currentIndex: '@ddContentCounterCurrentIndex',
parentIndex: '@ddContentCounterParentIndex',
forceRefresh: '=ddContentCounterForceCssRefresh'
},
link: linkfct
};
return directive;
function linkfct($scope, element) {
var timer = undefined;
// watch children length change : to update css item class
$scope.$watch(function () {
return element[0].children.length;
}, function (newValue, oldValue) {
if (newValue !== oldValue) {
(function () {
var newRealCount = 0;
var listClassForThisRow = [];
for (var i = element[0].children.length - 1; i >= 0; i--) {
if (dragDropItemCounterService.isHtmlElementToCount(element[0].children[i].classList)) {
newRealCount++;
listClassForThisRow.push({ item: i, isReal: true });
} else {
listClassForThisRow.push({ item: i, isReal: false });
}
}
$scope.contentRealCount = newRealCount;
// a timer otherwise won't refresh everytime
timer = $timeout(function () {
dragDropItemCounterService.updateLineItemCss($scope.fullModel, listClassForThisRow, $scope.parentIndex, $scope.currentIndex, newRealCount);
}, 20);
})();
}
});
$scope.$on('$destroy', function () {
$timeout.cancel(timer);
});
}
}
return {
setters: [],
execute: function () {
DD_CONTENT_COUNTER_DIRECTIVE = 'ddContentCounter';
ddContentCounter.$inject = ['dragDropItemCounterService', '$timeout'];
_export('default', ddContentCounter);
_export('DD_CONTENT_COUNTER_DIRECTIVE', DD_CONTENT_COUNTER_DIRECTIVE);
}
};
});
$__System.register('30', ['9', 'a'], function (_export) {
var _createClass, _classCallCheck, DRAG_DROP_ITEM_COUNTER_SERVICE, dragDropItemCounterService;
return {
setters: [function (_) {
_createClass = _['default'];
}, function (_a) {
_classCallCheck = _a['default'];
}],
execute: function () {
'use strict';
DRAG_DROP_ITEM_COUNTER_SERVICE = 'dragDropItemCounterService';
dragDropItemCounterService = (function () {
function dragDropItemCounterService(easyFormDragWayConfig) {
_classCallCheck(this, dragDropItemCounterService);
this.easyFormDragWayConfig = easyFormDragWayConfig;
this.init();
}
_createClass(dragDropItemCounterService, [{
key: 'init',
value: function init() {
this._modelItemRealCounter = [];
this._itemsNotToCount = angular.copy(this.easyFormDragWayConfig.getItemsNotToCount());
}
}, {
key: 'getItemsNotToCount',
value: function getItemsNotToCount() {
return this._itemsNotToCount;
}
}, {
key: 'getModelItemsRealCounter',
value: function getModelItemsRealCounter() {
return this._modelItemRealCounter;
}
}, {
key: 'isHtmlElementToCount',
value: function isHtmlElementToCount(htmlvalue) {
var isToCount = true;
if (htmlvalue.length > 0) {
angular.forEach(this._itemsNotToCount, function (value) {
for (var classes = htmlvalue.length - 1; classes >= 0; classes--) {
if (htmlvalue[classes] === value) isToCount = isToCount && false;
}
});
}
return isToCount;
}
}, {
key: 'updateLineItemCss',
value: function updateLineItemCss(fullModel, listCssToApply, columIndex, lineIndex, realCount) {
if (typeof fullModel !== 'undefined' && typeof listCssToApply !== 'undefined' && typeof columIndex !== 'undefined' && typeof lineIndex !== 'undefined' && typeof realCount !== 'undefined') {
for (var i = fullModel[columIndex][lineIndex].length - 1; i >= 0; i--) {
for (var j = 0; j < listCssToApply.length; j++) {
if (listCssToApply[j].item === i && listCssToApply[j].isReal === true) {
fullModel[columIndex][lineIndex][i].cssClass = this.easyFormDragWayConfig.getItemCssDependingNumberItemsInRow(realCount);
}
}
}
return true;
}
}
}]);
return dragDropItemCounterService;
})();
dragDropItemCounterService.$inject = ['easyFormDragWayConfig'];
_export('default', dragDropItemCounterService);
_export('DRAG_DROP_ITEM_COUNTER_SERVICE', DRAG_DROP_ITEM_COUNTER_SERVICE);
}
};
});
$__System.registerDynamic("31", [], true, function($__require, exports, module) {
;
var global = this,
__define = global.define;
global.define = undefined;
module.exports = "<div ng-click=\"ddDecorContainerCtrl.collapseFct()\">\n <h6\n ng-show=\"ddDecorContainerCtrl.config.isEnabled\"\n class=\"ddDecorContainerCtrl.isCollapsableZone\"\n style=\"cursor:pointer\">\n <button class=\"btn btn-primary btn-xs\">\n <span class=\"{{ddDecorContainerCtrl.currentIconClass()}}\"></span>\n </button>\n &nbsp;\n {{ddDecorContainerCtrl.currentTitle}}\n </h6>\n</div>\n<div collapse=\"ddDecorContainerCtrl.isCollapsed\">\n <div id=\"ddDecorContainerWillTranscludeHere\"></div>\n</div>\n";
global.define = __define;
return module.exports;
});
$__System.register('32', ['31', '33'], function (_export) {
/* global angular */
'use strict';
var ddDecorContainerTemplate, DD_DECOR_CONTAINER_CONTROLLER_NAME, DD_DECOR_CONTAINER_CONTROLLERAS_NAME, DD_DECOR_CONTAINER_DIRECTIVE;
function ddDecorContainer() {
var directive = {
restrict: 'A',
template: ddDecorContainerTemplate,
scope: {},
controller: DD_DECOR_CONTAINER_CONTROLLER_NAME,
controllerAs: DD_DECOR_CONTAINER_CONTROLLERAS_NAME,
bindToController: {
'styleParam': '=ddContainerProperties',
'isStillCollapsed': '=ddContainerIsCollpased',
'verboseMode': '@ddContainerVerboseMode',
'currentIndex': '@ddContainerCurrentIndex',
'collpaseAll': '&ddCollapseAll'
},
transclude: true,
link: linkFct
};
return directive;
function linkFct($scope, element, attrs, ctrl, transclude) {
var verboseModeActive = $scope.ddDecorContainerCtrl.verboseMode;
var currentIndex = $scope.ddDecorContainerCtrl.currentIndex;
$scope.ddDecorContainerCtrl.isCollapsed = false;
$scope.ddDecorContainerCtrl.config.isEnabled = false;
/**
* forceCollapse when :
* dragDropConfigModel.containerConfig.decoration.isCollapsed changed (here bound to $scope.isStillCollapsed)
*/
$scope.$watch(function () {
return $scope.ddDecorContainerCtrl.isStillCollapsed;
}, function (newVal, oldVal) {
if (newVal !== oldVal) {
if ($scope.$parent.$parent.$index === 0) $scope.ddDecorContainerCtrl.isCollapsed = newVal;
}
});
/**
* verbose mode for developments only
*/
if (verboseModeActive !== '') {
var verbose = angular.lowercase(verboseModeActive);
if (verbose === 'true' || verbose === '1') {
/* eslint no-console:0 */
console.dir({
whoAmI: 'I am verbose from ddDecorContainer link',
verbodeMode: verbose,
ParentParentIndex: $scope.$parent.$parent.$index,
ParentIndex: $scope.$parent.$index,
currentIndex: currentIndex,
styleParam: $scope.ddDecorContainerCtrl.styleParam,
columnindex: $scope.$parent.$parent.$parent.$parent.$index
});
}
}
/**
* no header (no title, no collapse....)
*/
//$scope.ddDecorContainerCtrl.config.isEnabled
if (typeof currentIndex !== 'undefined') {
if (currentIndex !== '') {
/**
* specific 1st column
*/
if (currentIndex === '0') {
/**
* apply title
*/
if (typeof $scope.ddDecorContainerCtrl.styleParam.title !== 'undefined') {
$scope.ddDecorContainerCtrl.currentTitle = $scope.ddDecorContainerCtrl.styleParam.title;
$scope.ddDecorContainerCtrl.config.isEnabled = true;
$scope.ddDecorContainerCtrl.isCollapsed = true;
}
}
}
}
/**
* prevent transclusion creating child scope
* want to know more about what I'm talking about : check this nice tip on the subject :
* http://angular-tips.com/blog/2014/03/transclusion-and-scopes/
*/
transclude($scope.$parent, function (contentClone) {
/**
* transclusion will append content to '<div id="ddDecorContainerWillTranscludeHere"></div>'
*/
var childDiv = angular.element(element.children()[1]);
childDiv.append(contentClone);
});
}
}
return {
setters: [function (_) {
ddDecorContainerTemplate = _['default'];
}, function (_2) {
DD_DECOR_CONTAINER_CONTROLLER_NAME = _2.DD_DECOR_CONTAINER_CONTROLLER_NAME;
DD_DECOR_CONTAINER_CONTROLLERAS_NAME = _2.DD_DECOR_CONTAINER_CONTROLLERAS_NAME;
}],
execute: function () {
DD_DECOR_CONTAINER_DIRECTIVE = 'ddDecorContainer';
_export('default', ddDecorContainer);
_export('DD_DECOR_CONTAINER_DIRECTIVE', DD_DECOR_CONTAINER_DIRECTIVE);
}
};
});
$__System.register('33', ['9', 'a'], function (_export) {
var _createClass, _classCallCheck, DD_DECOR_CONTAINER_CONTROLLER_NAME, DD_DECOR_CONTAINER_CONTROLLERAS_NAME, ddDecorContainerController;
return {
setters: [function (_) {
_createClass = _['default'];
}, function (_a) {
_classCallCheck = _a['default'];
}],
execute: function () {
/* global angular */
'use strict';
DD_DECOR_CONTAINER_CONTROLLER_NAME = 'ddDecorContainerController';
DD_DECOR_CONTAINER_CONTROLLERAS_NAME = 'ddDecorContainerCtrl';
ddDecorContainerController = (function () {
function ddDecorContainerController() {
_classCallCheck(this, ddDecorContainerController);
this.init();
}
_createClass(ddDecorContainerController, [{
key: 'init',
value: function init() {
this.config = angular.extend({}, { isEnabled: false });
/**
* TODO (low priority) : make icon css configurable (provider)
*/
this.icons = angular.extend({}, {
closedClass: 'glyphicon glyphicon-eye-open',
opened: 'glyphicon glyphicon-eye-close'
});
}
}, {
key: 'collapseFct',
value: function collapseFct() {
this.collpaseAll({ exceptThisOne: this.styleParam.WhenIndex }); //note : collpaseAll function is boundToController from directive attribute : 'collpaseAll' : '&ddCollapseAll'
this.isCollapsed = !this.isCollapsed;
this.isStillCollapsed = this.isCollapsed; //note : isStillCollapsed is boundToController from directive attribute : 'isStillCollapsed' : '=ddContainerIsCollpased',
}
}, {
key: 'currentIconClass',
value: function currentIconClass() {
if (this.isCollapsed) {
return this.icons.closedClass;
} else {
return this.icons.opened;
}
}
}]);
return ddDecorContainerController;
})();
_export('default', ddDecorContainerController);
_export('DD_DECOR_CONTAINER_CONTROLLER_NAME', DD_DECOR_CONTAINER_CONTROLLER_NAME);
_export('DD_DECOR_CONTAINER_CONTROLLERAS_NAME', DD_DECOR_CONTAINER_CONTROLLERAS_NAME);
}
};
});
$__System.registerDynamic("34", [], true, function($__require, exports, module) {
;
var global = this,
__define = global.define;
global.define = undefined;
module.exports = "<div class=\"{{styleParam.ApplycssClass}}\">\n <div id=\"visualPanel\">\n <div class=\"panel panel-default\">\n <div class=\"panel-heading\">\n <h3 class=\"panel-title\">\n <i class=\"{{currentFontAwesome}}\"></i>&nbsp;\n {{currentTitle}}\n <div ng-show=\"headerConfig.HeaderButtonVisible\">\n <button\n class=\"btn btn-primary btn-xs buttonHeaderAddNewLine center-block\"\n ng-click=\"addNewLineFct();\">\n <span class=\"glyphicon glyphicon-plus\"></span>\n &nbsp;\n add new line\n </button>\n </div>\n </h3>\n </div>\n <div class=\"panel-body\">\n <div class=\"row\">\n <div class=\"col-md-12\" ng-transclude>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n";
global.define = __define;
return module.exports;
});
$__System.register('35', ['34'], function (_export) {
/* global angular */
'use strict';
var ddDecorDropZoneTemplate, DD_DECOR_DROPZONE_DIRECTIVE;
function ddDecorDropZone() {
var directive = {
restrict: 'A',
template: ddDecorDropZoneTemplate,
scope: {
'styleParam': '=ddDropZoneProperties',
'verboseMode': '@ddDropZoneVerboseMode',
'currentIndex': '@ddDropZoneCurrentIndex',
'addNewLineFct': '&ddDropZoneAddNewLine'
},
transclude: true,
link: linkfct
};
return directive;
function linkfct($scope) {
var verboseModeActive = $scope.verboseMode;
var currentIndex = $scope.currentIndex;
$scope.headerConfig = {
HeaderButtonVisible: false,
affixAttr: 'bs-affix',
affixEnabled: false
};
/**
* verbose mode : just for dev
*/
if (verboseModeActive !== '') {
var verbose = angular.lowercase(verboseModeActive);
if (verbose === 'true' || verbose === '1') {
/* eslint no-console:0 */
console.dir({
whoAmI: 'I am verbose from ddDecorDropZone link',
verbodeMode: verbose,
ParentParentIndex: $scope.$parent.$parent.$index,
ParentIndex: $scope.$parent.$index,
currentIndex: currentIndex,
styleParam: $scope.styleParam
});
}
}
if (typeof currentIndex !== 'undefined') {
if (currentIndex !== '') {
// apply title
if (typeof $scope.styleParam.title !== 'undefined') $scope.currentTitle = $scope.styleParam.title;
//apply font-awesome
if (typeof $scope.styleParam.fontAwesomeIcon !== 'undefined') $scope.currentFontAwesome = $scope.styleParam.fontAwesomeIcon;
//show add new line button
if (currentIndex === '1') $scope.headerConfig.HeaderButtonVisible = true;
}
}
}
}
return {
setters: [function (_) {
ddDecorDropZoneTemplate = _['default'];
}],
execute: function () {
DD_DECOR_DROPZONE_DIRECTIVE = 'ddDecorDropZone';
ddDecorDropZone.$inject = [];
_export('default', ddDecorDropZone);
_export('DD_DECOR_DROPZONE_DIRECTIVE', DD_DECOR_DROPZONE_DIRECTIVE);
}
};
});
$__System.registerDynamic("36", [], true, function($__require, exports, module) {
;
var global = this,
__define = global.define;
global.define = undefined;
module.exports = "<div>\n <div id=\"itemDirectiveTranscludeHere\"></div>\n</div>\n";
global.define = __define;
return module.exports;
});
$__System.register('37', ['36'], function (_export) {
'use strict';
var dragdropItemTemplate, DRAG_DROP_DECOR_ITEM;
function ddDecorItem(easyFormDragWayConfig) {
var directive = {
restrict: 'A',
scope: {
'verboseMode': '@ddItemVerboseMode',
'currentIndex': '@ddItemCurrentIndex',
'parentIndex': '@ddItemParentIndex',
'parentParentIndex': '@ddItemParentParentIndex',
'lineItemsCount': '@ddItemsCount',
'cssClass': '@ddItemCssClass'
},
template: dragdropItemTemplate,
transclude: true,
link: linkfct
};
return directive;
function linkfct($scope, element, attrs, ctrl, transclude) {
var verboseModeActive = $scope.verboseMode;
var currentIndex = $scope.currentIndex;
var parentIndex = $scope.parentIndex;
var listClass = easyFormDragWayConfig.getDistinctItemCssClass();
/**
* init css class
*/
angular.forEach(listClass, function (css) {
return element.removeClass(css);
});
element.addClass($scope.cssClass);
/**
* update css class
*/
$scope.$watch('cssClass', function (newValue, oldValue) {
if (newValue !== oldValue) {
/**
* update css class
*/
angular.forEach(listClass, function (css) {
return element.removeClass(css);
});
element.addClass(newValue);
}
});
/**
* verbose mode : just for dev
*/
if (verboseModeActive !== '') {
var verbose = angular.lowercase(verboseModeActive);
if (verbose === 'true' || verbose === '1') {
/* eslint no-console:0 */
console.dir({
whoAmI: 'I am verbose from ddDecorItem directive link',
verbodeMode: verbose,
ParentParentIndex: $scope.$parent.$parent.$index,
ParentIndex: parentIndex,
parentParentIndex: $scope.parentParentIndex,
currentIndex: currentIndex,
lineItemsCount: $scope.lineItemsCount
});
}
}
/**
* control column : apply css class to item
*/
if ($scope.parentParentIndex === '0') element.addClass(listClass[0]);
/**
* prevent transclusion creating child scope
*
*
* NOTE :if you want to know more about what I'm saying : check this nice tip on the subject :
* http://angular-tips.com/blog/2014/03/transclusion-and-scopes/
*/
transclude($scope.$parent, function (contentClone) {
/**
* transclusion will append content to '<div id="itemDirectiveTranscludeHere"></div>'
*/
var childDiv = angular.element(element.children()[0]);
childDiv.append(contentClone);
});
}
}
return {
setters: [function (_) {
dragdropItemTemplate = _['default'];
}],
execute: function () {
DRAG_DROP_DECOR_ITEM = 'ddDecorItem';
ddDecorItem.$inject = ['easyFormDragWayConfig'];
_export('default', ddDecorItem);
_export('DRAG_DROP_DECOR_ITEM', DRAG_DROP_DECOR_ITEM);
}
};
});
$__System.register('38', ['9', 'a'], function (_export) {
var _createClass, _classCallCheck, DRAG_DROP_ITEM_DECOR_SERVICE, dragDropItemDecorationService;
return {
setters: [function (_) {
_createClass = _['default'];
}, function (_a) {
_classCallCheck = _a['default'];
}],
execute: function () {
'use strict';
DRAG_DROP_ITEM_DECOR_SERVICE = 'dragDropItemDecorationService';
dragDropItemDecorationService = (function () {
function dragDropItemDecorationService(easyFormDragWayConfig) {
_classCallCheck(this, dragDropItemDecorationService);
this.easyFormDragWayConfig = easyFormDragWayConfig;
this.init();
}
_createClass(dragDropItemDecorationService, [{
key: 'init',
value: function init() {
this._listItemClass = [].concat(this.easyFormDragWayConfig.getListItemCssClass());
}
}, {
key: 'getListClass',
value: function getListClass() {
return this._listItemClass;
}
}, {
key: 'getCssClassWhenNumberItemsInRowIs',
value: function getCssClassWhenNumberItemsInRowIs(thisNumber) {
return this.easyFormDragWayConfig.getItemCssDependingNumberItemsInRow(thisNumber);
}
}, {
key: 'applyCssClassWholeLine',
value: function applyCssClassWholeLine(model, indexColumn, indexLine, numberItems, restrictToThisIndexColumn) {
if (typeof numberItems !== 'undefined' && typeof indexLine !== 'undefined' && typeof indexColumn !== 'undefined' && typeof model !== 'undefined' && typeof restrictToThisIndexColumn !== 'undefined') {
if (indexColumn === restrictToThisIndexColumn) {
for (var i = model[indexColumn][indexLine].length - 1; i >= 0; i--) {
model[indexColumn][indexLine][i].cssClass = this.easyFormDragWayConfig.getItemCssDependingNumberItemsInRow(numberItems);
}
}
return true;
} else {
return false;
}
}
}, {
key: 'updateCssClassWholeColumn',
value: function updateCssClassWholeColumn(model, indexColumn) {
if (typeof indexColumn !== 'undefined' && typeof model !== 'undefined') {
for (var cpt = model[indexColumn].length - 1; cpt >= 0; cpt--) {
for (var i = model[indexColumn][cpt].length - 1; i >= 0; i--) {
model[indexColumn][cpt][i].cssClass = this.easyFormDragWayConfig.getItemCssDependingNumberItemsInRow(model[indexColumn][cpt].length);
}
}
return true;
} else {
return false;
}
}
}]);
return dragDropItemDecorationService;
})();
dragDropItemDecorationService.$inject = ['easyFormDragWayConfig'];
_export('default', dragDropItemDecorationService);
_export('DRAG_DROP_ITEM_DECOR_SERVICE', DRAG_DROP_ITEM_DECOR_SERVICE);
}
};
});
$__System.registerDynamic("39", [], true, function($__require, exports, module) {
;
var global = this,
__define = global.define;
global.define = undefined;
module.exports = "<div\n ng-class=\"{confirmLineDelete : deleteLine.readyToDelete}\"\n ng-dblclick=\"removeMe($event);\"\n ng-click=\"cancelDelete($event);\">\n <button\n ng-show=\"deleteLine.readyToDelete === true\"\n type=\"button\"\n class=\"btn btn-danger pull-right buttonCloseLine\" >\n <span\n class=\"glyphicon glyphicon-trash\"\n aria-hidden=\"true\">\n </span>\n </button>\n</div>\n<div id=\"lineDirectiveTranscludeHere\"></div>\n";
global.define = __define;
return module.exports;
});
$__System.register('3a', ['39'], function (_export) {
/* global angular */
'use strict';
var ddDecorLineTemplate, DRAG_DROP_DECOR_LINE;
function ddDecorLine($timeout) {
var directive = {
restrict: 'A',
scope: {
'verboseMode': '@ddLineVerboseMode',
'currentIndex': '@ddLineCurrentIndex',
'parentIndex': '@ddLineParentIndex',
'removeLine': '&ddRemoveLine'
},
template: ddDecorLineTemplate,
transclude: true,
link: linkfct
};
return directive;
function linkfct($scope, element, attrs, ctrl, transclude) {
var verboseModeActive = $scope.verboseMode;
var currentIndex = $scope.currentIndex;
var parentIndex = $scope.parentIndex;
$scope.deleteLine = {};
$scope.deleteLine.readyToDelete = false;
$scope.deleteLine.dblClickCount = 0;
$scope.isCollapsed = false;
var timer = undefined;
// verbose mode : just for dev
if (verboseModeActive !== '') {
var verbose = angular.lowercase(verboseModeActive);
if (verbose === 'true' || verbose === '1') {
/* eslint no-console:0 */
console.dir({
whoAmI: 'I am verbose from ddDecorLine directive link',
verbodeMode: verbose,
ParentParentIndex: $scope.$parent.$parent.$index,
ParentIndex: parentIndex,
currentIndex: currentIndex
});
}
}
/**
* removeMe is function related to twice double click sequence to delete a line
*
* - addClass / remove/class ; will make line in a shake movement
* - call "removeLine function to delete the line (if it was rwice double clicked)
*/
$scope.removeMe = function (event) {
event.preventDefault();
event.stopPropagation();
if ($scope.parentIndex === '1') {
//2nd dbl click : if is shaking so it is confirmation to delete
if ($scope.deleteLine.dblClickCount === 1) {
$scope.deleteLine.dblClickCount = 0;
$scope.deleteLine.readyToDelete = false;
/**
* NOTE : trick in calling parent controller function with input param when directive with isolate scope
* see : https://thinkster.io/egghead/isolate-scope-am
*
* Here should be:
*
*-> in html : dd-remove-line="removeThisLine(indexToDelete)
*-> in controller : $scope.removeThisLine = function(lineIndex){
*-> so in directive call it : $scope.removeLine({indexToDelete: currentIndex});
*
*
* BUT in this case (repeats, ul> li.... complicated)
* => works better (if shaking a lot of line in a row it won't mess up)
*
*-> in html : dd-remove-line="removeThisLine($index)
*-> in controller : $scope.removeThisLine = function(lineIndex){
*-> so in directive call it : $scope.removeLine();
*/
//$scope.removeLine({indexToDelete: currentIndex});
$scope.removeLine();
//console.warn('force timer destruction after delete!');
$timeout.cancel(timer);
}
//1st dbl click : make it shake so ready to delete
if ($scope.deleteLine.dblClickCount === 0) {
$scope.deleteLine.dblClickCount = $scope.deleteLine.dblClickCount + 1;
$scope.deleteLine.readyToDelete = true;
}
}
};
/**
* signle event will ever occur
*
* to prevent it to interfere with double click sequence
* -> set a time out (shaking line to delete will automaticallly end shaking after timeout : 2 seconds)
*/
$scope.cancelDelete = function () {
//event.preventDefault();
//event.stopPropagation();
timer = $timeout(function () {
$scope.deleteLine.dblClickCount = 0;
$scope.deleteLine.readyToDelete = false;
}, 500);
/**
* debug
*/
// timer.then(
// () =>{
// console.log( 'Timer resolved!', Date.now() );
// },
// () =>{
// console.log( 'Timer rejected!', Date.now() );
// }
// );
};
/**
* timer destruction to prevent from bad UI experience
*/
$scope.$on('$destroy', function () {
return $timeout.cancel(timer);
});
/**
* prevent transclusion creating child scope
*
*
* NOTE :if you want to know more about what I'm saying : check this nice tip on the subject :
* http://angular-tips.com/blog/2014/03/transclusion-and-scopes/
*/
transclude($scope.$parent, function (contentClone) {
//transclusion will append content to '<div id="lineDirectiveTranscludeHere"></div>'
var childDiv = angular.element(element.children()[0]);
childDiv.append(contentClone);
});
}
}
return {
setters: [function (_) {
ddDecorLineTemplate = _['default'];
}],
execute: function () {
DRAG_DROP_DECOR_LINE = 'ddDecorLine';
ddDecorLine.$inject = ['$timeout'];
_export('default', ddDecorLine);
_export('DRAG_DROP_DECOR_LINE', DRAG_DROP_DECOR_LINE);
}
};
});
$__System.register('3b', [], function (_export) {
'use strict';
var DRAG_DROP_NO_EDITABLE_CONTROL;
function ddNoEditableControl() {
var directive = {
restrict: 'A',
link: linkfct
};
return directive;
function linkfct($scope, element) {
element.on('click', function (event) {
return event.preventDefault();
});
}
}
return {
setters: [],
execute: function () {
DRAG_DROP_NO_EDITABLE_CONTROL = 'ddNoEditableControl';
ddNoEditableControl.$inject = [];
_export('default', ddNoEditableControl);
_export('DRAG_DROP_NO_EDITABLE_CONTROL', DRAG_DROP_NO_EDITABLE_CONTROL);
}
};
});
$__System.register('3c', ['30', '32', '33', '35', '37', '38', '2f', '3a', '3b'], function (_export) {
/* global angular */
'use strict';
var dragDropItemCounterService, DRAG_DROP_ITEM_COUNTER_SERVICE, ddDecorContainerDirective, DD_DECOR_CONTAINER_DIRECTIVE, ddDecorContainerController, DD_DECOR_CONTAINER_CONTROLLER_NAME, ddDecorDropZone, DD_DECOR_DROPZONE_DIRECTIVE, ddDecorItem, DRAG_DROP_DECOR_ITEM, dragDropItemDecorationService, DRAG_DROP_ITEM_DECOR_SERVICE, ddContentCounter, DD_CONTENT_COUNTER_DIRECTIVE, ddDecorLine, DRAG_DROP_DECOR_LINE, ddNoEditableControl, DRAG_DROP_NO_EDITABLE_CONTROL, DRAGDROP_MODULE;
return {
setters: [function (_) {
dragDropItemCounterService = _['default'];
DRAG_DROP_ITEM_COUNTER_SERVICE = _.DRAG_DROP_ITEM_COUNTER_SERVICE;
}, function (_2) {
ddDecorContainerDirective = _2['default'];
DD_DECOR_CONTAINER_DIRECTIVE = _2.DD_DECOR_CONTAINER_DIRECTIVE;
}, function (_3) {
ddDecorContainerController = _3['default'];
DD_DECOR_CONTAINER_CONTROLLER_NAME = _3.DD_DECOR_CONTAINER_CONTROLLER_NAME;
}, function (_4) {
ddDecorDropZone = _4['default'];
DD_DECOR_DROPZONE_DIRECTIVE = _4.DD_DECOR_DROPZONE_DIRECTIVE;
}, function (_5) {
ddDecorItem = _5['default'];
DRAG_DROP_DECOR_ITEM = _5.DRAG_DROP_DECOR_ITEM;
}, function (_6) {
dragDropItemDecorationService = _6['default'];
DRAG_DROP_ITEM_DECOR_SERVICE = _6.DRAG_DROP_ITEM_DECOR_SERVICE;
}, function (_f) {
ddContentCounter = _f['default'];
DD_CONTENT_COUNTER_DIRECTIVE = _f.DD_CONTENT_COUNTER_DIRECTIVE;
}, function (_a) {
ddDecorLine = _a['default'];
DRAG_DROP_DECOR_LINE = _a.DRAG_DROP_DECOR_LINE;
}, function (_b) {
ddNoEditableControl = _b['default'];
DRAG_DROP_NO_EDITABLE_CONTROL = _b.DRAG_DROP_NO_EDITABLE_CONTROL;
}],
execute: function () {
DRAGDROP_MODULE = 'edaDragDropWay.dragdrop.module';
_export('default', angular.module(DRAGDROP_MODULE, []).directive(DD_CONTENT_COUNTER_DIRECTIVE, ddContentCounter).controller(DD_DECOR_CONTAINER_CONTROLLER_NAME, ddDecorContainerController).directive(DD_DECOR_CONTAINER_DIRECTIVE, ddDecorContainerDirective).directive(DD_DECOR_DROPZONE_DIRECTIVE, ddDecorDropZone).directive(DRAG_DROP_DECOR_ITEM, ddDecorItem).service(DRAG_DROP_ITEM_DECOR_SERVICE, dragDropItemDecorationService).directive(DRAG_DROP_NO_EDITABLE_CONTROL, ddNoEditableControl).service(DRAG_DROP_ITEM_COUNTER_SERVICE, dragDropItemCounterService).directive(DRAG_DROP_DECOR_LINE, ddDecorLine));
}
};
});
$__System.register('3d', [], function (_export) {
'use strict';
var EDA_RIGHT_CLICK_DIRECTIVE;
function edaRightClick($parse) {
var directive = {
restrict: 'A',
link: linkFct
};
return directive;
function linkFct(scope, element, attrs) {
var fn = $parse(attrs.edaRightClick);
var columnIndex = $parse(attrs.edaRightClickColIndex);
var fctSetRightclicked = $parse(attrs.edaSetRightClicked);
/**
* on right click event manage
* - open edit panel through attrs.edaRightClick function
* - set rightCliked attribute (to true) to control (in dragDropModel)
*/
element.on('contextmenu', function (event) {
scope.$apply(function () {
event.preventDefault();
if (columnIndex(scope) === 1) fctSetRightclicked(scope, {}); //right click limited to template column (index = 1)
if (columnIndex(scope) === 1) fn(scope, { $event: event }); //right click limited to template column (index = 1)
});
});
}
}
return {
setters: [],
execute: function () {
EDA_RIGHT_CLICK_DIRECTIVE = 'edaRightClick';
edaRightClick.$inject = ['$parse'];
_export('default', edaRightClick);
_export('EDA_RIGHT_CLICK_DIRECTIVE', EDA_RIGHT_CLICK_DIRECTIVE);
}
};
});
$__System.register('3e', ['9', 'a'], function (_export) {
var _createClass, _classCallCheck, EDA_RIGHT_CLICKED_MANAGER_SERVICE, ddItemRightClickedManager;
return {
setters: [function (_) {
_createClass = _['default'];
}, function (_a) {
_classCallCheck = _a['default'];
}],
execute: function () {
'use strict';
EDA_RIGHT_CLICKED_MANAGER_SERVICE = 'ddItemRightClickedManager';
ddItemRightClickedManager = (function () {
function ddItemRightClickedManager() {
_classCallCheck(this, ddItemRightClickedManager);
this.init();
}
_createClass(ddItemRightClickedManager, [{
key: 'init',
value: function init() {}
/**
* setUnRightClicked
* set unSelected (see edaRightClick directive)
*
* used in edaEditcontroller when droping control
*/
}, {
key: 'setUnRightClicked',
value: function setUnRightClicked(dragDropModelItem) {
dragDropModelItem.rightCliked = false;
}
/**
* resetAllDragDropItemSelectedState
*
* simply reset (=set to false) all item.rightCliked
* in edit column (dragable column)
*
* used in edaEditPanel when closeEditPanel() called
*/
}, {
key: 'resetAllDragDropItemSelectedState',
value: function resetAllDragDropItemSelectedState(dragDropModel) {
angular.forEach(dragDropModel[1], function (line) {
angular.forEach(line, function (item) {
return item.rightCliked = false;
});
});
}
}]);
return ddItemRightClickedManager;
})();
ddItemRightClickedManager.$inject = [];
_export('default', ddItemRightClickedManager);
_export('EDA_RIGHT_CLICKED_MANAGER_SERVICE', EDA_RIGHT_CLICKED_MANAGER_SERVICE);
}
};
});
$__System.register('3f', ['3d', '3e'], function (_export) {
'use strict';
var edaRightClick, EDA_RIGHT_CLICK_DIRECTIVE, ddItemRightClickedManager, EDA_RIGHT_CLICKED_MANAGER_SERVICE, EDA_RIGHT_CLICK_MODULE;
return {
setters: [function (_d) {
edaRightClick = _d['default'];
EDA_RIGHT_CLICK_DIRECTIVE = _d.EDA_RIGHT_CLICK_DIRECTIVE;
}, function (_e) {
ddItemRightClickedManager = _e['default'];
EDA_RIGHT_CLICKED_MANAGER_SERVICE = _e.EDA_RIGHT_CLICKED_MANAGER_SERVICE;
}],
execute: function () {
EDA_RIGHT_CLICK_MODULE = 'eda.right.click.module';
_export('default', angular.module(EDA_RIGHT_CLICK_MODULE, []).directive(EDA_RIGHT_CLICK_DIRECTIVE, edaRightClick).service(EDA_RIGHT_CLICKED_MANAGER_SERVICE, ddItemRightClickedManager));
}
};
});
$__System.register('40', ['9', 'a'], function (_export) {
var _createClass, _classCallCheck, DRAG_DROP_CONFIG_PROXY_SERVICE, ddModelConfModelProxyService;
return {
setters: [function (_) {
_createClass = _['default'];
}, function (_a) {
_classCallCheck = _a['default'];
}],
execute: function () {
'use strict';
DRAG_DROP_CONFIG_PROXY_SERVICE = 'ddModelConfModelProxyService';
ddModelConfModelProxyService = (function () {
function ddModelConfModelProxyService(EasyFormGenFormlyBindingModels,
// controllerModalProxy,
easyFormDragWayConfig, $parse) {
_classCallCheck(this, ddModelConfModelProxyService);
this.EasyFormGenFormlyBindingModels = EasyFormGenFormlyBindingModels;
// this.controllerModalProxy = controllerModalProxy;
// this.dragDropConfig = dragDropConfig;
this.easyFormDragWayConfig = easyFormDragWayConfig;
this.$parse = $parse;
this.init();
}
_createClass(ddModelConfModelProxyService, [{
key: 'init',
value: function init() {}
}, {
key: 'refreshAllConfigurationFromDragAndDropModel',
value: function refreshAllConfigurationFromDragAndDropModel(configModel, ddModel) {
var _this = this;
/**
* TODO : prevent reset already set props
*
* previousConfigurationModel = a backup of configuration model 'configModel 'before resetting it
* -> dragDrop model contains unique keys of already existing controls : these controls must not be reset / overwritten
*/
// let previousConfigurationModel = angular.copy(configModel);
configModel.lines = [];
// iterates line config model
angular.forEach(ddModel[1], function (lineValue, keyValue) {
// add empty line 1st - if line is empty -> it will be enough
configModel.lines.push(angular.copy(_this.EasyFormGenFormlyBindingModels.getEasyFormEmptyConfigurationLineModel()));
// update line value field
_this.applyThisLine(keyValue + 1, keyValue, configModel);
// iterate through columns and add them if control exists
angular.forEach(lineValue, function (colValue, colIndex) {
// push an empty control model but relative to dradrop : model control type - (if datepicker so additionnal properties are added)
var controlToBind = {
control: angular.copy(_this.EasyFormGenFormlyBindingModels.getFormlyControlTemplateForNcolumnLine(lineValue.length, _this.getFormlyDetailedControlModelFromDragDropObject(lineValue[colIndex]).formlyType))
};
var formlyDetailedControlModel = _this.getFormlyDetailedControlModelFromDragDropObject(lineValue[colIndex]);
// controls alreadys existed so do not reset it - control to bind is the previous one
if (typeof colValue.key !== 'undefined') {
//console.warn('debug dragdropModel show this control key : ' + colValue.key);
controlToBind.control = angular.copy(colValue.configModelControl);
//update cssClass depending new position:
var newClassName = _this.EasyFormGenFormlyBindingModels.getFormlyControlTemplateForNcolumnLine(lineValue.length, _this.getFormlyDetailedControlModelFromDragDropObject(lineValue[colIndex]).formlyType);
controlToBind.control.className = newClassName.className;
//test if header nee this one
controlToBind.control.cssClass = newClassName.className;
// get control details for this key in backup : previousConfigurationModel
} else {
// controls did not exists before : control to bind is a new one
// bind dragdrop control properties to configuration model through controlToBind var
_this.bindConfigCtrlModelFromFormlyDetailedCtrlModel(formlyDetailedControlModel, controlToBind, configModel);
}
// apply controlToBind var to configuration model control
if (typeof configModel.lines[keyValue].columns[colIndex] === 'undefined') configModel.lines[keyValue].columns.push(angular.copy(_this.EasyFormGenFormlyBindingModels.getEasyFormConfigurationEmptyControlModel()));
configModel.lines[keyValue].columns[colIndex].control = angular.copy(controlToBind.control);
configModel.lines[keyValue].columns[colIndex].numColumn = colIndex + 1;
configModel.lines[keyValue].columns[colIndex].exist = true;
});
});
return configModel;
}
}, {
key: 'refreshControlsKeys',
value: function refreshControlsKeys(configModel, dragDropModel) {
angular.forEach(configModel.lines, function (aConfigLine, aConfigLineIndex) {
angular.forEach(aConfigLine.columns, function (aConfigControl, aConfigControlIndex) {
//if last control removed from line - and dragDrop model did not already removed this line
if (typeof dragDropModel[1][aConfigLineIndex] !== 'undefined') {
if (dragDropModel[1][aConfigLineIndex].length > 0) {
dragDropModel[1][aConfigLineIndex][aConfigControlIndex].key = aConfigControl.control.key;
//need to save all in dragdropModel as it is a reference
//configModel still needed
// -> to keep coherence (same back model) between all version of easyForm Generator
// -> is the back model (can be saved to dataBase)
dragDropModel[1][aConfigLineIndex][aConfigControlIndex].configModelControl = angular.copy(aConfigControl.control);
}
}
});
});
}
/**
* drag drop model
* -> will be used to bind configuration model
* of no key saved, configuration model controls would be reset each drop events
*
* -> matching key : will prevent to reset existing control
*/
}, {
key: 'loadDragDropModelFromConfigurationModel',
value: function loadDragDropModelFromConfigurationModel(configModel, dragDropModel) {
var _this2 = this;
//reset dragdrop fields model NOT all dragDropModel!
dragDropModel[1] = [];
angular.forEach(configModel.lines, function (aConfigLine, aConfigLineIndex) {
//add new line
dragDropModel[1].push([]);
angular.forEach(aConfigLine.columns, function (aConfigControl) {
// get control type from configuration.control.selectedControl
var dragdropControlRef = {
control: 'empty',
cssClass: 'col-xs-12',
label: '<div class="col-md-12"> <div class="form-group"> <div class=""> </div> </div></div>'
};
angular.forEach(dragDropModel[0], function (groupOfCtrlRef) {
angular.forEach(groupOfCtrlRef, function (aCtrlref) {
if (aCtrlref.control === aConfigControl.control.selectedControl) dragdropControlRef = angular.copy(aCtrlref);
});
});
dragDropModel[1][aConfigLineIndex].push(dragdropControlRef);
//update class depending number of control per line
var cssClassToApply = _this2.easyFormDragWayConfig.getItemCssDependingNumberItemsInRow(dragDropModel[1][aConfigLineIndex].length);
angular.forEach(dragDropModel[1][aConfigLineIndex], function (ddControlToUpdate) {
return ddControlToUpdate.cssClass = cssClassToApply;
});
});
});
// console.info('bindDragDropModelFromConfigurationModel');
// console.dir(
// {
// 'when' : 'starting',
// 'configModel is ' : angular.copy(configModel),
// 'dragDropModel is ' : angular.copy(dragDropModel)
// }
// );
}
/**
* returns a control model that is more formly detailed
* (more formly detailed : see controls property in EasyFormGenFormlyBindingModels._easyFormListControls)
*/
}, {
key: 'getFormlyDetailedControlModelFromDragDropObject',
value: function getFormlyDetailedControlModelFromDragDropObject(dragDrapCtrlModel) {
var controlModel = {};
var listControl = this.EasyFormGenFormlyBindingModels.getEasyFormListControls();
var controlsListGetter = this.$parse('controls');
angular.forEach(controlsListGetter(listControl), function (ctrlListValue) {
if (ctrlListValue.id === dragDrapCtrlModel.control) controlModel = ctrlListValue;
});
return controlModel;
}
/**
* valid a control key is unique
*
* yes... function name already told us that,
* -> it's just confirmation and to see if
* you keep focus while reading it ^^
*/
}, {
key: 'validKeyUniqueness',
value: function validKeyUniqueness(thisKey, configurationObj) {
var isUnique = true;
for (var i = configurationObj.lines.length - 1; i >= 0; i--) {
for (var j = configurationObj.lines[i].columns.length - 1; j >= 0; j--) {
if (typeof configurationObj.lines[i].columns[j].control !== 'undefined') {
if (configurationObj.lines[i].columns[j].control.key === thisKey) {
isUnique = false;
}
}
}
}
return isUnique;
}
}, {
key: 'createUniqueKey',
value: function createUniqueKey(baseKeyValue, configurationObj) {
// unique key (set only first time) in this model is formly control type + Date.now();
var newKey = baseKeyValue + '-' + Date.now();
if (this.validKeyUniqueness(newKey, configurationObj) === true) {
return newKey;
} else {
newKey = baseKeyValue + '-' + Date.now();
if (this.validKeyUniqueness(newKey, configurationObj) === true) {
return newKey;
} else {
newKey = baseKeyValue + '-' + Date.now();
return newKey;
}
}
}
}, {
key: 'applyThisLine',
value: function applyThisLine(linevalue, lineIndex, configModel) {
angular.forEach(configModel.lines, function (aLineValue, aLineKey) {
if (aLineKey === lineIndex) aLineValue.line = linevalue;
});
}
/**
* bind formly detailed model to configuration control model
*/
}, {
key: 'bindConfigCtrlModelFromFormlyDetailedCtrlModel',
value: function bindConfigCtrlModelFromFormlyDetailedCtrlModel(formlyDetailCtrlModel, configurationCtrlModel, configModel) {
/**
* TODO :properties should be served by provider
* more configurable without pain
*/
//set selected control :
this.$parse('control.selectedControl').assign(configurationCtrlModel, this.$parse('selectedControl')(formlyDetailCtrlModel));
//set type :
this.$parse('control.type').assign(configurationCtrlModel, this.$parse('formlyType')(formlyDetailCtrlModel));
//set key :
this.$parse('control.key').assign(configurationCtrlModel, this.createUniqueKey(this.$parse('control.type')(configurationCtrlModel), configModel));
//set subtype :
this.$parse('control.subtype').assign(configurationCtrlModel, this.$parse('formlySubtype')(formlyDetailCtrlModel));
//set templateOptions.label :
this.$parse('control.templateOptions.label').assign(configurationCtrlModel, this.$parse('formlyLabel')(formlyDetailCtrlModel));
//set templateOptions.required :
this.$parse('control.templateOptions.required').assign(configurationCtrlModel, this.$parse('formlyRequired')(formlyDetailCtrlModel));
//set templateOptions.required :
this.$parse('control.templateOptions.description').assign(configurationCtrlModel, this.$parse('formlyDesciption')(formlyDetailCtrlModel));
//set templateOptions.required :
this.$parse('control.templateOptions.placeholder').assign(configurationCtrlModel, this.$parse('formlyPlaceholder')(formlyDetailCtrlModel));
//set templateOptions.required :
this.$parse('control.templateOptions.options').assign(configurationCtrlModel, this.$parse('formlyOptions')(formlyDetailCtrlModel));
if (this.$parse('control.type')(configurationCtrlModel) === 'datepicker') {
this.$parse('control.templateOptions.datepickerPopup').assign(configurationCtrlModel, this.$parse('datepickerPopup')(formlyDetailCtrlModel));
}
}
}]);
return ddModelConfModelProxyService;
})();
ddModelConfModelProxyService.$inject = ['EasyFormGenFormlyBindingModels',
// 'controllerModalProxy',
// 'dragDropConfig',
'easyFormDragWayConfig', '$parse'];
_export('default', ddModelConfModelProxyService);
_export('DRAG_DROP_CONFIG_PROXY_SERVICE', DRAG_DROP_CONFIG_PROXY_SERVICE);
}
};
});
// dragDropConfig,
$__System.register('41', ['40'], function (_export) {
'use strict';
var ddModelConfModelProxyService, DRAG_DROP_CONFIG_PROXY_SERVICE, EDA_CONFIG_PROXY_MODULE;
return {
setters: [function (_) {
ddModelConfModelProxyService = _['default'];
DRAG_DROP_CONFIG_PROXY_SERVICE = _.DRAG_DROP_CONFIG_PROXY_SERVICE;
}],
execute: function () {
EDA_CONFIG_PROXY_MODULE = 'eda.config.proxy.module';
_export('default', angular.module(EDA_CONFIG_PROXY_MODULE, []).service(DRAG_DROP_CONFIG_PROXY_SERVICE, ddModelConfModelProxyService));
}
};
});
$__System.register('42', [], function (_export) {
'use strict';
var DNDLIST_DIRECTIVE, TO_INJECT;
function dndList($parse, $timeout, dndDropEffectWorkaround, dndDragTypeWorkaround) {
var directive = {
link: linkFct
};
return directive;
function linkFct(scope, element, attr) {
// While an element is dragged over the list, this placeholder element is inserted
// at the location where the element would be inserted after dropping
var placeholder = angular.element('<li class="dndPlaceholder"></li>');
var placeholderNode = placeholder[0];
var listNode = element[0];
var horizontal = attr.dndHorizontalList && scope.$eval(attr.dndHorizontalList);
var externalSources = attr.dndExternalSources && scope.$eval(attr.dndExternalSources);
/**
* The dragover event is triggered "every few hundred milliseconds" while an element
* is being dragged over our list, or over an child element.
*/
element.on('dragover', function (event) {
event = event.originalEvent || event;
if (!isDropAllowed(event)) return true;
// First of all, make sure that the placeholder is shown
// This is especially important if the list is empty
if (placeholderNode.parentNode != listNode) {
element.append(placeholder);
}
if (event.target !== listNode) {
// Try to find the node direct directly below the list node.
var listItemNode = event.target;
while (listItemNode.parentNode !== listNode && listItemNode.parentNode) {
listItemNode = listItemNode.parentNode;
}
if (listItemNode.parentNode === listNode && listItemNode !== placeholderNode) {
// If the mouse pointer is in the upper half of the child element,
// we place it before the child element, otherwise below it.
if (isMouseInFirstHalf(event, listItemNode)) {
listNode.insertBefore(placeholderNode, listItemNode);
} else {
listNode.insertBefore(placeholderNode, listItemNode.nextSibling);
}
}
} else {
// This branch is reached when we are dragging directly over the list element.
// Usually we wouldn't need to do anything here, but the IE does not fire it's
// events for the child element, only for the list directly. Therefore we repeat
// the positioning algorithm for IE here.
if (isMouseInFirstHalf(event, placeholderNode, true)) {
// Check if we should move the placeholder element one spot towards the top.
// Note that display none elements will have offsetTop and offsetHeight set to
// zero, therefore we need a special check for them.
while (placeholderNode.previousElementSibling && (isMouseInFirstHalf(event, placeholderNode.previousElementSibling, true) || placeholderNode.previousElementSibling.offsetHeight === 0)) {
listNode.insertBefore(placeholderNode, placeholderNode.previousElementSibling);
}
} else {
// Check if we should move the placeholder element one spot towards the bottom
while (placeholderNode.nextElementSibling && !isMouseInFirstHalf(event, placeholderNode.nextElementSibling, true)) {
listNode.insertBefore(placeholderNode, placeholderNode.nextElementSibling.nextElementSibling);
}
}
}
// At this point we invoke the callback, which still can disallow the drop.
// We can't do this earlier because we want to pass the index of the placeholder.
if (attr.dndDragover && !invokeCallback(attr.dndDragover, event)) {
return stopDragover();
}
element.addClass('dndDragover');
event.preventDefault();
event.stopPropagation();
return false;
});
/**
* When the element is dropped, we use the position of the placeholder element as the
* position where we insert the transferred data. This assumes that the list has exactly
* one child element per array element.
*/
element.on('drop', function (event) {
event = event.originalEvent || event;
if (!isDropAllowed(event)) return true;
// The default behavior in Firefox is to interpret the dropped element as URL and
// forward to it. We want to prevent that even if our drop is aborted.
event.preventDefault();
// Unserialize the data that was serialized in dragstart. According to the HTML5 specs,
// the "Text" drag type will be converted to text/plain, but IE does not do that.
var data = event.dataTransfer.getData('Text') || event.dataTransfer.getData('text/plain');
var transferredObject;
try {
transferredObject = JSON.parse(data);
} catch (e) {
return stopDragover();
}
// Invoke the callback, which can transform the transferredObject and even abort the drop.
if (attr.dndDrop) {
transferredObject = invokeCallback(attr.dndDrop, event, transferredObject);
if (!transferredObject) {
return stopDragover();
}
}
// Retrieve the JSON array and insert the transferred object into it.
var targetArray = scope.$eval(attr.dndList);
scope.$apply(function () {
targetArray.splice(getPlaceholderIndex(), 0, transferredObject);
});
// In Chrome on Windows the dropEffect will always be none...
// We have to determine the actual effect manually from the allowed effects
if (event.dataTransfer.dropEffect === 'none') {
if (event.dataTransfer.effectAllowed === 'copy' || event.dataTransfer.effectAllowed === 'move') {
dndDropEffectWorkaround.dropEffect = event.dataTransfer.effectAllowed;
} else {
dndDropEffectWorkaround.dropEffect = event.ctrlKey ? 'copy' : 'move';
}
} else {
dndDropEffectWorkaround.dropEffect = event.dataTransfer.dropEffect;
}
// Clean up
stopDragover();
event.stopPropagation();
return false;
});
/**
* We have to remove the placeholder when the element is no longer dragged over our list. The
* problem is that the dragleave event is not only fired when the element leaves our list,
* but also when it leaves a child element -- so practically it's fired all the time. As a
* workaround we wait a few milliseconds and then check if the dndDragover class was added
* again. If it is there, dragover must have been called in the meantime, i.e. the element
* is still dragging over the list. If you know a better way of doing this, please tell me!
*/
element.on('dragleave', function (event) {
event = event.originalEvent || event;
element.removeClass('dndDragover');
$timeout(function () {
if (!element.hasClass('dndDragover')) {
placeholder.remove();
}
}, 100);
});
/**
* Checks whether the mouse pointer is in the first half of the given target element.
*
* In Chrome we can just use offsetY, but in Firefox we have to use layerY, which only
* works if the child element has position relative. In IE the events are only triggered
* on the listNode instead of the listNodeItem, therefore the mouse positions are
* relative to the parent element of targetNode.
*/
function isMouseInFirstHalf(event, targetNode, relativeToParent) {
var mousePointer = horizontal ? event.offsetX || event.layerX : event.offsetY || event.layerY;
var targetSize = horizontal ? targetNode.offsetWidth : targetNode.offsetHeight;
var targetPosition = horizontal ? targetNode.offsetLeft : targetNode.offsetTop;
targetPosition = relativeToParent ? targetPosition : 0;
return mousePointer < targetPosition + targetSize / 2;
}
/**
* We use the position of the placeholder node to determine at which position of the array the
* object needs to be inserted
*/
function getPlaceholderIndex() {
return Array.prototype.indexOf.call(listNode.children, placeholderNode);
}
/**
* Checks various conditions that must be fulfilled for a drop to be allowed
*/
function isDropAllowed(event) {
// Disallow drop from external source unless it's allowed explicitly.
if (!dndDragTypeWorkaround.isDragging && !externalSources) return false;
// Check mimetype. Usually we would use a custom drag type instead of Text, but IE doesn't
// support that.
if (!hasTextMimetype(event.dataTransfer.types)) return false;
// Now check the dnd-allowed-types against the type of the incoming element. For drops from
// external sources we don't know the type, so it will need to be checked via dnd-drop.
if (attr.dndAllowedTypes && dndDragTypeWorkaround.isDragging) {
var allowed = scope.$eval(attr.dndAllowedTypes);
if (angular.isArray(allowed) && allowed.indexOf(dndDragTypeWorkaround.dragType) === -1) {
return false;
}
}
// Check whether droping is disabled completely
if (attr.dndDisableIf && scope.$eval(attr.dndDisableIf)) return false;
return true;
}
/**
* Small helper function that cleans up if we aborted a drop.
*/
function stopDragover() {
placeholder.remove();
element.removeClass('dndDragover');
return true;
}
/**
* Invokes a callback with some interesting parameters and returns the callbacks return value.
*/
function invokeCallback(expression, event, item) {
return $parse(expression)(scope, {
event: event,
index: getPlaceholderIndex(),
item: item || undefined,
external: !dndDragTypeWorkaround.isDragging,
type: dndDragTypeWorkaround.isDragging ? dndDragTypeWorkaround.dragType : undefined
});
}
/**
* Check if the dataTransfer object contains a drag type that we can handle. In old versions
* of IE the types collection will not even be there, so we just assume a drop is possible.
*/
function hasTextMimetype(types) {
if (!types) return true;
for (var i = 0; i < types.length; i++) {
if (types[i] === 'Text' || types[i] === 'text/plain') return true;
}
return false;
}
}
}
return {
setters: [],
execute: function () {
DNDLIST_DIRECTIVE = 'dndList';
TO_INJECT = ['$parse', '$timeout', 'dndDropEffectWorkaround', 'dndDragTypeWorkaround'];
dndList.$inject = TO_INJECT;
_export('default', dndList);
_export('DNDLIST_DIRECTIVE', DNDLIST_DIRECTIVE);
}
};
});
$__System.register('43', [], function (_export) {
'use strict';
var DNDDRAGGABLE_DIRECTIVE, TO_INJECT;
function dndDraggable($parse, $timeout, dndDropEffectWorkaround, dndDragTypeWorkaround) {
var directive = {
link: linkFct
};
return directive;
function linkFct(scope, element, attr) {
var _this = this;
// Set the HTML5 draggable attribute on the element
element.attr('draggable', 'true');
// If the dnd-disable-if attribute is set, we have to watch that
if (attr.dndDisableIf) {
scope.$watch(attr.dndDisableIf, function (disabled) {
return element.attr('draggable', !disabled);
});
}
/**
* When the drag operation is started we have to prepare the dataTransfer object,
* which is the primary way we communicate with the target element
*/
element.on('dragstart', function (event) {
event = event.originalEvent || event;
// Serialize the data associated with this element. IE only supports the Text drag type
event.dataTransfer.setData('Text', angular.toJson(scope.$eval(attr.dndDraggable)));
// Only allow actions specified in dnd-effect-allowed attribute
event.dataTransfer.effectAllowed = attr.dndEffectAllowed || 'move';
// Add CSS classes. See documentation above
element.addClass('dndDragging');
$timeout(function () {
element.addClass('dndDraggingSource');
}, 0);
// Workarounds for stupid browsers, see description below
dndDropEffectWorkaround.dropEffect = 'none';
dndDragTypeWorkaround.isDragging = true;
// Save type of item in global state. Usually, this would go into the dataTransfer
// typename, but we have to use "Text" there to support IE
dndDragTypeWorkaround.dragType = attr.dndType ? scope.$eval(attr.dndType) : undefined;
// Invoke callback
$parse(attr.dndDragstart)(scope, { event: event });
event.stopPropagation();
});
/**
* The dragend event is triggered when the element was dropped or when the drag
* operation was aborted (e.g. hit escape button). Depending on the executed action
* we will invoke the callbacks specified with the dnd-moved or dnd-copied attribute.
*/
element.on('dragend', function (event) {
event = event.originalEvent || event;
// Invoke callbacks. Usually we would use event.dataTransfer.dropEffect to determine
// the used effect, but Chrome has not implemented that field correctly. On Windows
// it always sets it to 'none', while Chrome on Linux sometimes sets it to something
// else when it's supposed to send 'none' (drag operation aborted).
var dropEffect = dndDropEffectWorkaround.dropEffect;
scope.$apply(function () {
switch (dropEffect) {
case 'move':
$parse(attr.dndMoved)(scope, { event: event });
break;
case 'copy':
$parse(attr.dndCopied)(scope, { event: event });
break;
}
});
// Clean up
element.removeClass('dndDragging');
element.removeClass('dndDraggingSource');
dndDragTypeWorkaround.isDragging = false;
event.stopPropagation();
});
/**
* When the element is clicked we invoke the callback function
* specified with the dnd-selected attribute.
*/
element.on('click', function (event) {
event = event.originalEvent || event;
scope.$apply(function () {
return $parse(attr.dndSelected)(scope, { event: event });
});
event.stopPropagation();
});
/**
* Workaround to make element draggable in IE9
*/
element.on('selectstart', function () {
if (_this.dragDrop) _this.dragDrop();
return false;
});
}
}
return {
setters: [],
execute: function () {
DNDDRAGGABLE_DIRECTIVE = 'dndDraggable';
TO_INJECT = ['$parse', '$timeout', 'dndDropEffectWorkaround', 'dndDragTypeWorkaround'];
dndDraggable.$inject = TO_INJECT;
_export('default', dndDraggable);
_export('DNDDRAGGABLE_DIRECTIVE', DNDDRAGGABLE_DIRECTIVE);
}
};
});
$__System.register('44', ['42', '43'], function (_export) {
'use strict';
var dndList, DNDLIST_DIRECTIVE, dndDraggable, DNDDRAGGABLE_DIRECTIVE, DRAG_DROP_LIST_MODULE;
return {
setters: [function (_) {
dndList = _['default'];
DNDLIST_DIRECTIVE = _.DNDLIST_DIRECTIVE;
}, function (_2) {
dndDraggable = _2['default'];
DNDDRAGGABLE_DIRECTIVE = _2.DNDDRAGGABLE_DIRECTIVE;
}],
execute: function () {
DRAG_DROP_LIST_MODULE = 'dndLists.module';
_export('default', angular.module(DRAG_DROP_LIST_MODULE, []).directive(DNDLIST_DIRECTIVE, dndList).directive(DNDDRAGGABLE_DIRECTIVE, dndDraggable).factory('dndDragTypeWorkaround', function () {
return {};
}).factory('dndDropEffectWorkaround', function () {
return {};
}));
}
};
});
$__System.register('45', [], function (_export) {
'use strict';
var PAGE_SLIDE_DIRECTIVE;
function pageslide() {
var directive = {
restrict: 'EAC',
transclude: false,
scope: {
psOpen: '=?',
psAutoClose: '=?',
psSide: '@',
psSpeed: '@',
psClass: '@',
psSize: '@',
psSqueeze: '@',
psCloak: '@',
psPush: '@',
psContainer: '@'
},
link: linkFct
};
return directive;
function linkFct($scope, el, attrs) {
/* Inspect */
//console.log($scope);
//console.log(el);
//console.log(attrs);
/* Parameters */
var param = {};
param.side = $scope.psSide || 'right';
param.speed = $scope.psSpeed || '0.5';
param.size = $scope.psSize || '300px';
param.zindex = 1000; // Override with custom CSS
param.className = $scope.psClass || 'ng-pageslide';
param.cloak = $scope.psCloak && $scope.psCloak.toLowerCase() == 'false' ? false : true;
param.squeeze = Boolean($scope.psSqueeze) || false;
param.push = Boolean($scope.psPush) || false;
param.container = $scope.psContainer || false;
// Apply Class
el.addClass(param.className);
/* DOM manipulation */
var content = null;
var slider = null;
var body = param.container ? document.getElementById(param.container) : document.body;
slider = el[0];
// Check for div tag
if (slider.tagName.toLowerCase() !== 'div' && slider.tagName.toLowerCase() !== 'pageslide') throw new Error('Pageslide can only be applied to <div> or <pageslide> elements');
// Check for content
if (slider.children.length === 0) throw new Error('You have to content inside the <pageslide>');
content = angular.element(slider.children);
/* Append */
body.appendChild(slider);
/* Style setup */
slider.style.zIndex = param.zindex;
slider.style.position = param.container !== false ? 'absolute' : 'fixed';
slider.style.width = 0;
slider.style.height = 0;
slider.style.overflow = 'hidden';
slider.style.transitionDuration = param.speed + 's';
slider.style.webkitTransitionDuration = param.speed + 's';
slider.style.transitionProperty = 'width, height';
if (param.squeeze) {
body.style.position = 'absolute';
body.style.transitionDuration = param.speed + 's';
body.style.webkitTransitionDuration = param.speed + 's';
body.style.transitionProperty = 'top, bottom, left, right';
}
switch (param.side) {
case 'right':
slider.style.height = attrs.psCustomHeight || '100%';
slider.style.top = attrs.psCustomTop || '0px';
slider.style.bottom = attrs.psCustomBottom || '0px';
slider.style.right = attrs.psCustomRight || '0px';
break;
case 'left':
slider.style.height = attrs.psCustomHeight || '100%';
slider.style.top = attrs.psCustomTop || '0px';
slider.style.bottom = attrs.psCustomBottom || '0px';
slider.style.left = attrs.psCustomLeft || '0px';
break;
case 'top':
slider.style.width = attrs.psCustomWidth || '100%';
slider.style.left = attrs.psCustomLeft || '0px';
slider.style.top = attrs.psCustomTop || '0px';
slider.style.right = attrs.psCustomRight || '0px';
break;
case 'bottom':
slider.style.width = attrs.psCustomWidth || '100%';
slider.style.bottom = attrs.psCustomBottom || '0px';
slider.style.left = attrs.psCustomLeft || '0px';
slider.style.right = attrs.psCustomRight || '0px';
break;
}
/* Closed */
function psClose(slider, param) {
if (slider && slider.style.width !== 0 && slider.style.width !== 0) {
if (param.cloak) content.css('display', 'none');
switch (param.side) {
case 'right':
slider.style.width = '0px';
if (param.squeeze) body.style.right = '0px';
if (param.push) {
body.style.right = '0px';
body.style.left = '0px';
}
break;
case 'left':
slider.style.width = '0px';
if (param.squeeze) body.style.left = '0px';
if (param.push) {
body.style.left = '0px';
body.style.right = '0px';
}
break;
case 'top':
slider.style.height = '0px';
if (param.squeeze) body.style.top = '0px';
if (param.push) {
body.style.top = '0px';
body.style.bottom = '0px';
}
break;
case 'bottom':
slider.style.height = '0px';
if (param.squeeze) body.style.bottom = '0px';
if (param.push) {
body.style.bottom = '0px';
body.style.top = '0px';
}
break;
}
}
$scope.psOpen = false;
}
/* Open */
function psOpen(slider, param) {
if (slider.style.width !== 0 && slider.style.width !== 0) {
switch (param.side) {
case 'right':
slider.style.width = param.size;
if (param.squeeze) body.style.right = param.size;
if (param.push) {
body.style.right = param.size;
body.style.left = '-' + param.size;
}
break;
case 'left':
slider.style.width = param.size;
if (param.squeeze) body.style.left = param.size;
if (param.push) {
body.style.left = param.size;
body.style.right = '-' + param.size;
}
break;
case 'top':
slider.style.height = param.size;
if (param.squeeze) body.style.top = param.size;
if (param.push) {
body.style.top = param.size;
body.style.bottom = '-' + param.size;
}
break;
case 'bottom':
slider.style.height = param.size;
if (param.squeeze) body.style.bottom = param.size;
if (param.push) {
body.style.bottom = param.size;
body.style.top = '-' + param.size;
}
break;
}
setTimeout(function () {
if (param.cloak) content.css('display', 'block');
}, param.speed * 1000);
}
}
// function isFunction(functionToCheck) {
// var getType = {};
// return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';
// }
/*
* Watchers
* */
$scope.$watch('psOpen', function (value) {
/* eslint no-extra-boolean-cast:0 */
if (!!value) {
// Open
psOpen(slider, param);
} else {
// Close
psClose(slider, param);
}
});
/*
* Events
* */
$scope.$on('$destroy', function () {
return body.removeChild(slider);
});
if ($scope.psAutoClose) {
$scope.$on('$locationChangeStart', function () {
return psClose(slider, param);
});
$scope.$on('$stateChangeStart', function () {
return psClose(slider, param);
});
}
}
}
return {
setters: [],
execute: function () {
PAGE_SLIDE_DIRECTIVE = 'pageslide';
pageslide.$inject = [];
_export('default', pageslide);
_export('PAGE_SLIDE_DIRECTIVE', PAGE_SLIDE_DIRECTIVE);
}
};
});
$__System.register('46', ['45'], function (_export) {
'use strict';
var pageslide, PAGE_SLIDE_DIRECTIVE, PAGE_SLIDE_MODULE;
return {
setters: [function (_) {
pageslide = _['default'];
PAGE_SLIDE_DIRECTIVE = _.PAGE_SLIDE_DIRECTIVE;
}],
execute: function () {
PAGE_SLIDE_MODULE = 'pageslide.module';
_export('default', angular.module(PAGE_SLIDE_MODULE, []).directive(PAGE_SLIDE_DIRECTIVE, pageslide));
}
};
});
$__System.register('47', [], function (_export) {
'use strict';
var LIST_DRAG_DROP_ITEM_CSS_CLASSES, DRAG_DROP_CONFIG_MODEL, DRAG_DROP_PRESENTATION_MODEL, ITEMS_NOT_TO_COUNT_FOR_REAL;
return {
setters: [],
execute: function () {
LIST_DRAG_DROP_ITEM_CSS_CLASSES = [{
cssClass: 'col-md-12',
numberItemPerRow: 0
}, {
cssClass: 'col-md-12',
numberItemPerRow: 1
}, {
cssClass: 'col-md-6',
numberItemPerRow: 2
}, {
cssClass: 'col-md-4',
numberItemPerRow: 3
}];
DRAG_DROP_CONFIG_MODEL = {
dropZoneConfig: {
decoration: [{
WhenIndex: 0,
ApplycssClass: 'col-md-4',
fontAwesomeIcon: 'fa fa-level-up',
title: 'Drag control from here : '
}, {
WhenIndex: 1,
ApplycssClass: 'col-md-8',
fontAwesomeIcon: 'fa fa-level-down',
title: 'Drop control into here : '
}],
verboseMode: false
},
containerConfig: {
decoration: [{
WhenIndex: 0,
ApplycssClass: 'col-md-12',
title: 'Blank : ',
groupId: 'blank',
isCollapsed: true
}, {
WhenIndex: 1,
ApplycssClass: 'col-md-12',
title: 'Headers : ',
groupId: 'headers',
isCollapsed: true
}, {
WhenIndex: 2,
ApplycssClass: 'col-md-12',
title: 'Text inputs : ',
groupId: 'inputs',
isCollapsed: true
}, {
WhenIndex: 3,
ApplycssClass: 'col-md-12',
title: 'Textareas : ',
groupId: 'textareas',
isCollapsed: true
}, {
WhenIndex: 4,
ApplycssClass: 'col-md-12',
title: 'Radios : ',
groupId: 'radios',
isCollapsed: true
}, {
WhenIndex: 5,
ApplycssClass: 'col-md-12',
title: 'Checkboxes : ',
groupId: 'checkboxes',
isCollapsed: true
}, {
WhenIndex: 6,
ApplycssClass: 'col-md-12',
title: 'Selects : ',
groupId: 'selects',
isCollapsed: true
}],
verboseMode: false,
collapseEnabled: true,
collapseCtrl: [{
atIndex: 0,
collapse: true
}, {
atIndex: 1,
collapse: true
}]
},
itemConfig: {
verboseMode: false
}
};
DRAG_DROP_PRESENTATION_MODEL = [
//1 column here is control selection column
[], [
//empty 1st line at initialisation
[]]];
ITEMS_NOT_TO_COUNT_FOR_REAL = {
//placeholder : '',
itemBeingDragged: ''
};
_export('LIST_DRAG_DROP_ITEM_CSS_CLASSES', LIST_DRAG_DROP_ITEM_CSS_CLASSES);
_export('DRAG_DROP_CONFIG_MODEL', DRAG_DROP_CONFIG_MODEL);
_export('DRAG_DROP_PRESENTATION_MODEL', DRAG_DROP_PRESENTATION_MODEL);
_export('ITEMS_NOT_TO_COUNT_FOR_REAL', ITEMS_NOT_TO_COUNT_FOR_REAL);
}
};
});
$__System.register('48', ['47'], function (_export) {
// TODO : Add here configs from ES5 dragDropConfigProvider
'use strict';
var LIST_DRAG_DROP_ITEM_CSS_CLASSES, DRAG_DROP_CONFIG_MODEL, DRAG_DROP_PRESENTATION_MODEL, ITEMS_NOT_TO_COUNT_FOR_REAL, EASY_FORM_DRAG_DROP_WAY_CONFIG_NAME;
function easyFormDragWayConfig() {
var _listDragDropItemCssClasses = [].concat(LIST_DRAG_DROP_ITEM_CSS_CLASSES);
var _dragDropConfigModel = angular.copy(DRAG_DROP_CONFIG_MODEL);
var _dragDropPresentationModel = [].concat(DRAG_DROP_PRESENTATION_MODEL);
var _itemsNotToCountFoReal = angular.copy(ITEMS_NOT_TO_COUNT_FOR_REAL);
var _configuration = defaultConfig();
var _controlsList = controlsList();
// let _defaultLanguage = getDefaultLanguage();
// let _currentLanguage = initDefaultLanguage();
var _showPreviewPanel = getDefaultshowPreviewPanel();
var _showPreviewModels = getDefaultShowPreviewModel();
/* jshint validthis:true */
this.$get = easyFormDragDropWayConfigGET;
this.setModalAnimation = setModalAnimation;
this.getModalAnimation = getModalAnimation;
this.configuration = _configuration;
this.getEnabledControls = getEnabledControls;
this.disableControl = disableControl;
this.enableControl = enableControl;
// this.setLanguage = setLanguage;
// this.getCurrentLanguage = getCurrentLanguage;
this.showPreviewPanel = showPreviewPanel;
this.showPreviewModels = showPreviewModels;
this.setListItemCssClass = setListItemCssClass;
this.getItemsNotTocount = getItemsNotTocount;
this.setItemsNotTocount = setItemsNotTocount;
this.addControlToDragDropPresentationModel = addControlToDragDropPresentationModel;
this.getDragDropPresentationModel = getDragDropPresentationModel;
function setListItemCssClass(fromConfig) {
_listDragDropItemCssClasses = [].concat(fromConfig);
}
function getItemsNotTocount() {
return _itemsNotToCountFoReal;
}
function setItemsNotTocount(fromConfig) {
_itemsNotToCountFoReal = angular.copy(fromConfig);
}
//set default config
function defaultConfig() {
var _defaultConfiguration = {
modalAnimated: false
};
return _defaultConfiguration;
}
function addControlToDragDropPresentationModel(controlToAdd, groupToAdd) {
if (typeof controlToAdd !== 'undefined' && typeof groupToAdd !== 'undefined') {
addToGroupControl(controlToAdd, groupToAdd);
}
}
function getDragDropPresentationModel() {
return _dragDropPresentationModel;
}
//show preview panel by default
function getDefaultshowPreviewPanel() {
return true;
}
//show preview data, fields models in preview panel
function getDefaultShowPreviewModel() {
return true;
}
// function getCurrentLanguage(){
// return _currentLanguage;
// }
//list of controls
function controlsList() {
var controls = [{ name: 'empty', enabled: true }, { name: 'Header', enabled: true }, { name: 'Subtitle', enabled: true }, { name: 'TextInput', enabled: true }, { name: 'Password', enabled: true }, { name: 'Email', enabled: true }, { name: 'Date', enabled: true }, { name: 'Texarea', enabled: true }, { name: 'RichTextEditor', enabled: true }, { name: 'Radio', enabled: true }, { name: 'Checkbox', enabled: true }, { name: 'BasicSelect', enabled: true }, { name: 'GroupedSelect', enabled: true }];
return controls;
}
function showPreviewPanel(wantToShow) {
if (angular.isDefined(wantToShow)) {
if (wantToShow === true) _showPreviewPanel = true;
if (wantToShow === false) _showPreviewPanel = false;
}
}
function showPreviewModels(wantToShow) {
if (angular.isDefined(wantToShow)) {
if (wantToShow === true) _showPreviewModels = true;
if (wantToShow === false) _showPreviewModels = false;
}
}
// //language : set default to english
// function getDefaultLanguage(){
// let lang = 'en';
// return lang;
// }
// function setDefaultLanguage(){
// _currentLanguage = _defaultLanguage;
// $translateProvider.preferredLanguage(_currentLanguage);
// return _currentLanguage;
// }
// function setLanguage(language){
// if (angular.isString(language)) {
// _currentLanguage = language;
// $translateProvider.preferredLanguage(language);
// }else{
// setDefaultLanguage();
// }
// }
// function initDefaultLanguage(){
// $translateProvider.useSanitizeValueStrategy('escape'); //security : Enable escaping of HTML
// $translateProvider.fallbackLanguage(_defaultLanguage); //fallback language to default language
// $translateProvider.preferredLanguage(_defaultLanguage);
// return _defaultLanguage;
// }
function getEnabledControls() {
return _controlsList;
}
function disableControl(controlName) {
if (angular.isString(controlName)) {
angular.forEach(_controlsList, function (aControl) {
if (aControl.name === controlName) aControl.enabled = false;
});
}
}
function enableControl(controlName) {
if (angular.isString(controlName)) {
angular.forEach(_controlsList, function (aControl) {
if (aControl.name === controlName) aControl.enabled = true;
});
}
}
function setModalAnimation(flagConfig) {
var valueToApply = flagConfig === true ? flagConfig : flagConfig === false ? flagConfig : _configuration.modalAnimated;
_configuration.modalAnimated = valueToApply;
}
function getModalAnimation() {
return _configuration.modalAnimated;
}
//$get implementation :
// easyFormDragDropWayConfigGET.$inject = ['$translate'];
// function easyFormDragDropWayConfigGET($translate){
easyFormDragDropWayConfigGET.$inject = [];
function easyFormDragDropWayConfigGET() {
var service = {
setModalAnimation: setModalAnimationFct,
getModalAnimationValue: getModalAnimationValue,
getListEnabledControl: getListEnabledControl,
// setLanguage : switchLanguage,
// getCurrentLanguage : getCurrentLanguage,
isPreviewPanelVisible: isPreviewPanelVisible,
arePreviewModelsVisible: arePreviewModelsVisible,
getListItemCssClass: getListItemCssClass,
getItemsNotToCount: getItemsNotToCount,
getItemCssDependingNumberItemsInRow: getItemCssDependingNumberItemsInRow,
getDistinctItemCssClass: getDistinctItemCssClass,
getDragDropConfigModel: getDragDropConfigModel,
getDragDropPresentationModel: getDragDropPresentationModel,
setDragDropConfigContainerDecorationCollapse: setDragDropConfigContainerDecorationCollapse
};
return service;
function getDragDropPresentationModel() {
return _dragDropPresentationModel;
}
function setDragDropConfigContainerDecorationCollapse(dragDropConfigModel, indexValue, isCollapsedBool) {
if (typeof indexValue !== 'undefined' && typeof isCollapsedBool !== 'undefined') {
if (indexValue === parseInt(indexValue, 10)) {
dragDropConfigModel.containerConfig.decoration[indexValue].isCollapsed = isCollapsedBool;
}
}
return true;
}
function getDragDropConfigModel() {
return _dragDropConfigModel;
}
function getDistinctItemCssClass() {
var distinctCssClass = [];
angular.forEach(_listDragDropItemCssClasses, function (valueRef) {
var cssClassRef = valueRef.cssClass;
if (distinctCssClass.length === 0) {
distinctCssClass.push(cssClassRef);
} else {
var canAdd = true;
angular.forEach(distinctCssClass, function (valueProc) {
var cssClassProc = valueProc;
if (cssClassRef === cssClassProc) {
canAdd = false;
}
});
if (canAdd) distinctCssClass.push(cssClassRef);
}
});
return distinctCssClass;
}
function getItemCssDependingNumberItemsInRow(numberOfItems) {
if (typeof numberOfItems !== 'undefined') {
var classToReturn = '';
for (var i = _listDragDropItemCssClasses.length - 1; i >= 0; i--) {
if (_listDragDropItemCssClasses[i].numberItemPerRow === numberOfItems) {
classToReturn = _listDragDropItemCssClasses[i].cssClass;
}
}
return classToReturn;
} else {
return '';
}
}
function getListItemCssClass() {
return _listDragDropItemCssClasses;
}
function getItemsNotToCount() {
return _itemsNotToCountFoReal;
}
function getModalAnimationValue() {
return _configuration.modalAnimated;
}
function setModalAnimationFct(value) {
setModalAnimation(value);
}
function getListEnabledControl() {
return angular.copy(_controlsList);
}
// function switchLanguage(language){
// if (angular.isString(language)) {
// _currentLanguage = language;
// $translate.use(language);
// }else{
// setDefaultLanguage();
// }
// }
function isPreviewPanelVisible() {
return _showPreviewPanel;
}
function arePreviewModelsVisible() {
return _showPreviewModels;
}
}
/**
* addToGroupControl : add control to _dragDropPresentationModel
* @param {[type]} thisControl : control to add
* @param {[type]} thisGroup : groupId wher this control should be added
*
* NOTE : if _dragDropPresentationModel wrong initialized it will create list of group conforming to
* configModel
*/
function addToGroupControl(thisControl, thisGroup) {
/**
* search group if already exists
*/
if (_dragDropPresentationModel[0].length > 0) {
/**
* case when _dragDropConfigModel.containerConfig.decoration.length is > to _dragDropPresentationModel[0].length
*
* for instance : initialization _dragDropPresentationModel[0] in between
*/
if (_dragDropPresentationModel[0].length < _dragDropConfigModel.containerConfig.decoration.length) {
var missingGroupNumber = _dragDropConfigModel.containerConfig.decoration.length - _dragDropPresentationModel[0].length;
for (var i = 0; i < missingGroupNumber; i++) {
_dragDropPresentationModel[0].push([]);
}
}
/**
* push control to right index
* (deduced by _dragDropConfigModel.containerConfig.decoration.WhenIndex value for groupId === thisGroup)
*/
_dragDropConfigModel.containerConfig.decoration.forEach(function (groupConfig) {
if (thisGroup.addToGroupCtrl === groupConfig.groupId) {
_dragDropPresentationModel[0][groupConfig.WhenIndex].push(thisControl);
}
});
} else {
/**
* no group no control
*
* initialize _dragDropConfigModel.containerConfig.decoration list
*/
_dragDropConfigModel.containerConfig.decoration.forEach(function () {
return _dragDropPresentationModel[0].push([]);
});
/**
* push control to right index
* (deduced by _dragDropConfigModel.containerConfig.decoration.WhenIndex value for groupId === thisGroup)
*/
_dragDropConfigModel.containerConfig.decoration.forEach(function (groupConfig) {
if (thisGroup.addToGroupCtrl === groupConfig.groupId) {
_dragDropPresentationModel[0][groupConfig.WhenIndex].push(thisControl);
}
});
}
}
}
// easyFormDragWayConfig.$inject = ['$translateProvider'];
return {
setters: [function (_) {
LIST_DRAG_DROP_ITEM_CSS_CLASSES = _.LIST_DRAG_DROP_ITEM_CSS_CLASSES;
DRAG_DROP_CONFIG_MODEL = _.DRAG_DROP_CONFIG_MODEL;
DRAG_DROP_PRESENTATION_MODEL = _.DRAG_DROP_PRESENTATION_MODEL;
ITEMS_NOT_TO_COUNT_FOR_REAL = _.ITEMS_NOT_TO_COUNT_FOR_REAL;
}],
execute: function () {
EASY_FORM_DRAG_DROP_WAY_CONFIG_NAME = 'easyFormDragWayConfig';
easyFormDragWayConfig.$inject = [];
_export('default', easyFormDragWayConfig);
_export('EASY_FORM_DRAG_DROP_WAY_CONFIG_NAME', EASY_FORM_DRAG_DROP_WAY_CONFIG_NAME);
}
};
});
$__System.registerDynamic("49", [], true, function($__require, exports, module) {
;
var global = this,
__define = global.define;
global.define = undefined;
module.exports = "<section id=\"pageWfEdit\">\n <div>\n <div class=\"container\">\n <section id=\"preview\">\n <div id=\"preview-content\">\n\t\t\t\t\t<div class=\"content-container\">\n\t\t\t\t\t\t<toaster-container\n toaster-options=\"{ 'position-class': 'toast-top-full-width', 'extendedTimeout' : 500,'timeOut': 500 }\">\n\t\t\t\t\t\t</toaster-container>\n\t\t\t\t\t\t<tabset justified=\"true\">\n\t\t\t\t\t\t\t<tab\n select=\"vm.tabJustSelected(2)\"\n active=\"vm.tab.editTab.active\"\n heading=\"Edit /Create\">\n <div class=\"row\">\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tpageslide\n\t\t\t\t\t\t\t\t\t\tps-open=\"vm.editPanelModel.toggle\"\n\t\t\t\t\t\t\t\t\t\tps-side=\"left\"\n\t\t\t\t\t\t\t\t\t\tps-cloak=\"true\"\n\t\t\t\t\t\t\t\t\t\tps-size=\"400px\">\n\t\t\t\t\t\t\t\t\t\t<left-panel\n close-edit-panel=\"vm.closeEditPanel()\"\n save-from-edit-panel=vm.saveFromEditPanel()>\n </left-panel>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"row advancedDemo\">\n\t\t\t\t\t\t\t\t\t\t\t<div ng-repeat=\"containers in vm.dragDropModel\">\n\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\tdd-decor-drop-zone\n\t\t\t\t\t\t\t\t\t\t\t\t\tdd-drop-zone-properties=\"vm.easyFormDragDropProperties.dropZoneConfig.decoration[$index]\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tdd-drop-zone-verbose-mode=\"{{vm.easyFormDragDropProperties.dropZoneConfig.verboseMode}}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tdd-drop-zone-current-index=\"{{$index}}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tdd-drop-zone-add-new-line=\"vm.insertNewLine()\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div \tclass=\"dropzone box box-yellow\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ul\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdnd-list=\"containers\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdnd-allowed-types=\"['containerType']\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdnd-external-sources=\"true\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdnd-dragover=\"vm.dragoverCallbackContainer($parent.$parent.$index, $parent.$index, $index);\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdnd-drop=\"vm.dropCallback(event, index, item, external, type, 'containerType');\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"row\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tng-repeat=\"items in containers\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdnd-draggable=\"items\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdnd-type=\"'containerType'\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdnd-effect-allowed=\"copyMove\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdnd-dragstart=\"\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdnd-moved=\"containers.splice($index, 1);\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdnd-disable-if=\"$parent.$index == 0\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdnd-copied=\"\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"container-element box box-blue\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdd-decor-container\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdd-container-properties=\"vm.easyFormDragDropProperties.containerConfig.decoration[$index]\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdd-container-is-collpased=\"vm.easyFormDragDropProperties.containerConfig.decoration[$index].isCollapsed\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdd-container-verbose-mode=\"{{vm.easyFormDragDropProperties.containerConfig.verboseMode}}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdd-container-current-index=\"{{$parent.$index}}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdd-collapse-all=\"vm.collapseAllGroupControl(exceptThisOne)\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div dd-decor-include-container-here>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdd-decor-line\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdd-line-verbose-mode=\"{{vm.easyFormDragDropProperties.containerConfig.verboseMode}}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdd-line-current-index=\"{{$index}}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdd-line-parent-index=\"{{$parent.$index}}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdd-remove-line=\"vm.removeThisLine($index)\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ul\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdnd-list=\"items\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdnd-allowed-types=\"['itemType']\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdnd-horizontal-list=\"true\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdnd-external-sources=\"true\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdnd-disable-if=\"items.length > 2\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdnd-dragover=\"vm.dragoverCallbackItems($parent.$parent.$index, $parent.$index, $index, external);\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdnd-drop=\"vm.dropCallbackItems(event, index, $index,$parent.$index, $parent.$parent.$index, $parent.$parent.$parent.$index, item, external, type, 'itemType');\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"itemlist\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdd-content-counter\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdd-value-when-placeholder=\"dndPlaceholder\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdd-value-when-dragging=\"dndDraggingSource\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdd-full-model = \"vm.dragDropModel\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdd-content-counter-current-index=\"{{$index}}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdd-content-counter-parent-index=\"{{$parent.$index}}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdd-content-counter-force-css-refresh = \"command.forceRefresh\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tng-repeat=\"item in items\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdnd-draggable=\"item\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdnd-type=\"'itemType'\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdnd-effect-allowed=\"copyMove\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdnd-dragstart=\"\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdnd-moved=\"vm.dndItemMoved($parent.$parent.$index, $parent.$index, $index);\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdnd-copied=\"\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdd-decor-item\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdd-item-verbose-mode=\"{{vm.easyFormDragDropProperties.itemConfig.verboseMode}}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdd-item-current-index=\"{{$index}}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdd-item-parent-index=\"{{$parent.$index}}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdd-item-parent-parent-index = \"{{$parent.$parent.$index}}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdd-items-count=\"items.length\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdd-item-css-class=\"{{item.cssClass}}\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div id=\"itemContent\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdd-no-editable-control\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"rightClickCtrl\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tng-class=\"{rightClickCtrlSelected : item.rightCliked === true}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\teda-set-right-clicked=\"vm.setRightClicked(previousState, item)\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\teda-right-click=\"vm.toggleEditPanel($event, $parent.$index, $index, item)\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\teda-selected-class=\"rightClickCtrlSelected\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\teda-is-selected=\"{{item.rightCliked}}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\teda-right-click-col-index = \"{{$parent.$parent.$index}}\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span ng-bind-html=\"item.label | trustThis\"></span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"clearfix\"></div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</tab>\n\t\t\t\t\t\t\t<tab\n\t\t\t\t\t\t\t\tselect=\"vm.tabJustSelected(1)\"\n\t\t\t\t\t\t\t\tactive=\"vm.tab.previewTab.active\"\n\t\t\t\t\t\t\t\theading=\"Preview\">\n\t\t\t\t\t\t\t\t<div class=\"panel panel-default\">\n\t\t\t\t\t\t\t\t\t<div class=\"panel-body\">\n\t\t\t\t\t\t\t\t\t\t<form ng-submit=\"vm.onSubmit()\">\n\t\t\t\t\t\t\t\t\t\t\t<formly-form\n\t\t\t\t\t\t\t\t\t\t\t\tid=\"previewFormlyForm\"\n\t\t\t\t\t\t\t\t\t\t\t\tmodel=\"vm.model\"\n\t\t\t\t\t\t\t\t\t\t\t\tfields=\"vm.wfFormFields\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"pull-right\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"btn btn-primary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"submit\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{vm.configuration.submitButtonText}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"btn btn-primary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"cancel\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{vm.configuration.cancelButtonText}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t</formly-form>\n\t\t\t\t\t\t\t\t\t\t</form>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"panel panel-default\">\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclass=\"panel-heading heading-preview\"\n\t\t\t\t\t\t\t\t\t\tng-click=\"vm.ihm.preview.customizeFormButtonsExpanded =!vm.ihm.preview.customizeFormButtonsExpanded\">\n\t\t\t\t\t\t\t\t\t\t<h3 class=\"panel-title\">\n\t\t\t\t\t\t\t\t\t\t\t<button class=\"btn btn-primary btn-xs\" >\n\t\t\t\t\t\t\t\t\t\t\t\t<i\n\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"fa\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tng-class=\"{'fa-angle-down':!vm.ihm.preview.customizeFormButtonsExpanded, 'fa-angle-up' : vm.ihm.preview.customizeFormButtonsExpanded}\">\n\t\t\t\t\t\t\t\t\t\t\t\t</i>\n\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t\t&nbsp;\n\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-wrench\"></i>\n\t\t\t\t\t\t\t\t\t\t\t&nbsp;\n\t\t\t\t\t\t\t\t\t\t\tCustomize form buttons\n\t\t\t\t\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class=\"panel-body\">\n\t\t\t\t\t\t\t\t\t\t<div collapse=\"vm.ihm.preview.customizeFormButtonsExpanded\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"row\">\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"col-xs-6\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfor=\"inputSubmitButtontext\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\" greyText control-label\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCustomize Submit button Text :\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"form-control\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tid=\"inputSubmitButtontext\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"Submit button text\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tng-model=\"vm.configuration.submitButtonText\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"col-xs-6\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfor=\"inputCancelButtontext\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\" greyText control-label\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCustomize Cancel button Text :\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"form-control\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tid=\"inputCancelButtontext\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"Cancel button text\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tng-model=\"vm.configuration.cancelButtonText\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"panel panel-default\">\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclass=\"panel-heading heading-preview\"\n\t\t\t\t\t\t\t\t\t\tng-click=\"vm.ihm.preview.formlyModelViewExpanded =!vm.ihm.preview.formlyModelViewExpanded\">\n\t\t\t\t\t\t\t\t\t\t<h3 class=\"panel-title\">\n\t\t\t\t\t\t\t\t\t\t\t\t<button class=\"btn btn-primary btn-xs\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<i\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"fa\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tng-class=\"{'fa-angle-down':!vm.ihm.preview.formlyModelViewExpanded, 'fa-angle-up' : vm.ihm.preview.formlyModelViewExpanded}\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t</i>\n\t\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t\t\t&nbsp;\n\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-eye\"></i>\n\t\t\t\t\t\t\t\t\t\t\t\t&nbsp;\n\t\t\t\t\t\t\t\t\t\t\t\tDATA MODEL\n\t\t\t\t\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class=\"panel-body\">\n\t\t\t\t\t\t\t\t\t\t<div collapse=\"vm.ihm.preview.formlyModelViewExpanded\">\n\t\t\t\t\t\t\t\t\t\t\t<pre>\n\t\t\t\t\t\t\t\t\t\t\t\t{{vm.model | json}}\n\t\t\t\t\t\t\t\t\t\t\t</pre>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"panel panel-default\">\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclass=\"panel-heading heading-preview\"\n\t\t\t\t\t\t\t\t\t\tng-click=\"vm.ihm.preview.formlyFieldsViewExpanded =!vm.ihm.preview.formlyFieldsViewExpanded\">\n\t\t\t\t\t\t\t\t\t\t<h3 class=\"panel-title\">\n\t\t\t\t\t\t\t\t\t\t\t<button class=\"btn btn-primary btn-xs\">\n\t\t\t\t\t\t\t\t\t\t\t\t<i\n\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"fa\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tng-class=\"{'fa-angle-down':!vm.ihm.preview.formlyFieldsViewExpanded, 'fa-angle-up' : vm.ihm.preview.formlyFieldsViewExpanded}\"></i>\n\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t\t&nbsp;\n\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-eye\"></i>\n\t\t\t\t\t\t\t\t\t\t\t&nbsp;\n\t\t\t\t\t\t\t\t\t\t\tFIELDS MODEL (ready to save to database one)\n\t\t\t\t\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class=\"panel-body\">\n\t\t\t\t\t\t\t\t\t\t<div collapse=\"vm.ihm.preview.formlyFieldsViewExpanded\">\n\t\t\t\t\t\t\t\t\t\t\t<pre>\n\t\t\t\t\t\t\t\t\t\t\t\t{{vm.wfFormFieldsOnlyNeededProperties | json}}\n\t\t\t\t\t\t\t\t\t\t\t</pre>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"panel panel-default\">\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclass=\"panel-heading heading-preview\"\n\t\t\t\t\t\t\t\t\t\tng-click=\"vm.ihm.preview.saveThisFormExpanded =!vm.ihm.preview.saveThisFormExpanded\">\n\t\t\t\t\t\t\t\t\t\t<h3 class=\"panel-title\">\n\t\t\t\t\t\t\t\t\t\t\t<button class=\"btn btn-primary btn-xs\" >\n\t\t\t\t\t\t\t\t\t\t\t\t<i\n\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"fa\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tng-class=\"{'fa-angle-down':!vm.ihm.preview.saveThisFormExpanded, 'fa-angle-up' : vm.ihm.preview.saveThisFormExpanded}\"></i>\n\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t\t&nbsp;\n\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-camera-retro\"></i>\n\t\t\t\t\t\t\t\t\t\t\t&nbsp;\n\t\t\t\t\t\t\t\t\t\t\tSave this form\n\t\t\t\t\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class=\"panel-body\">\n\t\t\t\t\t\t\t\t\t\t<div collapse=\"vm.ihm.preview.saveThisFormExpanded\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"row\">\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"col-xs-12\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfor=\"inputNameFormtext\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\" greyText control-label\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tName to this form :\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"form-control\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tid=\"inputNameFormtext\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"Enter formName\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tng-model=\"vm.configuration.formName\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"btn btn-primary btn-block btn-lg\"\n\t\t\t\t\t\t\t\t\t\t\t\tng-click=\"vm.saveThisForm()\">\n\t\t\t\t\t\t\t\t\t\t\t\tsave this form\n\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</tab>\n\t\t\t\t\t\t</tabset>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</section>\n\t\t\t<hr/>\n\t\t\t<section>\n <h6 class=\"text-right\">\n Easy form generator : {{vm.easyFormGeneratorVERSION}} — Erwan DATIN (MacKentoch)\n </h6>\n\t\t\t</section>\n </div>\n </div>\n</section>\n";
global.define = __define;
return module.exports;
});
$__System.registerDynamic("4a", [], true, function($__require, exports, module) {
;
var global = this,
__define = global.define;
global.define = undefined;
var $Object = Object;
module.exports = {
create: $Object.create,
getProto: $Object.getPrototypeOf,
isEnum: {}.propertyIsEnumerable,
getDesc: $Object.getOwnPropertyDescriptor,
setDesc: $Object.defineProperty,
setDescs: $Object.defineProperties,
getKeys: $Object.keys,
getNames: $Object.getOwnPropertyNames,
getSymbols: $Object.getOwnPropertySymbols,
each: [].forEach
};
global.define = __define;
return module.exports;
});
$__System.registerDynamic("4b", ["4a"], true, function($__require, exports, module) {
;
var global = this,
__define = global.define;
global.define = undefined;
var $ = $__require('4a');
module.exports = function defineProperty(it, key, desc) {
return $.setDesc(it, key, desc);
};
global.define = __define;
return module.exports;
});
$__System.registerDynamic("4c", ["4b"], true, function($__require, exports, module) {
;
var global = this,
__define = global.define;
global.define = undefined;
module.exports = {
"default": $__require('4b'),
__esModule: true
};
global.define = __define;
return module.exports;
});
$__System.registerDynamic("9", ["4c"], true, function($__require, exports, module) {
"use strict";
;
var global = this,
__define = global.define;
global.define = undefined;
var _Object$defineProperty = $__require('4c')["default"];
exports["default"] = (function() {
function defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];
descriptor.enumerable = descriptor.enumerable || false;
descriptor.configurable = true;
if ("value" in descriptor)
descriptor.writable = true;
_Object$defineProperty(target, descriptor.key, descriptor);
}
}
return function(Constructor, protoProps, staticProps) {
if (protoProps)
defineProperties(Constructor.prototype, protoProps);
if (staticProps)
defineProperties(Constructor, staticProps);
return Constructor;
};
})();
exports.__esModule = true;
global.define = __define;
return module.exports;
});
$__System.registerDynamic("a", [], true, function($__require, exports, module) {
"use strict";
;
var global = this,
__define = global.define;
global.define = undefined;
exports["default"] = function(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
};
exports.__esModule = true;
global.define = __define;
return module.exports;
});
$__System.register('4d', [], function (_export) {
/* global angular */
'use strict';
var DEBUG_MODEL, initDebugModel, DEFAULT_TAB_MODEL, initTabModel, COLUMN_TEMPLATE, initColumnTemplate, LINE_TEMPLATE, initLineTemplate, DEFAULT_IHM_MODEL, initIhmModel;
return {
setters: [],
execute: function () {
DEBUG_MODEL = {
showDebug: false,
configurationModelNumberofLines: 1
};
initDebugModel = function initDebugModel() {
return angular.copy(DEBUG_MODEL);
};
DEFAULT_TAB_MODEL = {
editTab: {
active: true
},
previewTab: {
active: false,
tabVisible: true,
modelsVisible: true
}
};
initTabModel = function initTabModel(isPreviewPanelVisible, arePreviewModelsVisible) {
var _tabModel = angular.copy(DEFAULT_TAB_MODEL);
angular.extend(_tabModel.previewTab, {
tabVisible: isPreviewPanelVisible,
modelsVisible: arePreviewModelsVisible
});
return _tabModel;
};
COLUMN_TEMPLATE = {
numColumn: -1,
exist: true,
control: {
type: 'none',
key: 'none',
subtype: 'none'
// templateOptions: {
// label: 'none',
// placeholder: 'none',
// required: false,
// description: 'Descriptive text'
// }
}
};
initColumnTemplate = function initColumnTemplate() {
return angular.copy(COLUMN_TEMPLATE);
};
LINE_TEMPLATE = {
line: -1,
activeColumn: 1,
columns: [{
numColumn: 1,
exist: true,
control: {
type: 'none',
key: 'none'
// templateOptions: {
// label: 'none',
// placeholder: 'none',
// required: false,
// description: 'Descriptive text'
// }
}
}]
};
initLineTemplate = function initLineTemplate() {
return angular.copy(LINE_TEMPLATE);
};
DEFAULT_IHM_MODEL = {
preview: {
formlyModelViewExpanded: true,
formlyFieldsViewExpanded: true,
customizeFormButtonsExpanded: true,
saveThisFormExpanded: true
}
};
initIhmModel = function initIhmModel() {
return angular.copy(DEFAULT_IHM_MODEL);
};
_export('initDebugModel', initDebugModel);
_export('initTabModel', initTabModel);
_export('initColumnTemplate', initColumnTemplate);
_export('initLineTemplate', initLineTemplate);
_export('initIhmModel', initIhmModel);
}
};
});
$__System.register('4e', ['9', 'a', '4d'], function (_export) {
var _createClass, _classCallCheck, initTabModel, initIhmModel, DRAG_DROP_WAY_EASY_FORM_GEN_CONTROLLER, DRAG_DROP_WAY_EASY_FORM_GEN_CONTROLLERAS, edaDragDropWayEasyFormGenCtrl;
return {
setters: [function (_) {
_createClass = _['default'];
}, function (_a) {
_classCallCheck = _a['default'];
}, function (_d) {
initTabModel = _d.initTabModel;
initIhmModel = _d.initIhmModel;
}],
execute: function () {
/* global angular */
///////////////////////////////////////////////////////////////////////
// TODO :
// - check no use methods that come from step way and delete if not needed
// - check other TODO (a lot of fixes are needed)
///////////////////////////////////////////////////////////////////////
'use strict';
DRAG_DROP_WAY_EASY_FORM_GEN_CONTROLLER = 'edaDragDropWayEasyFormGenCtrl';
DRAG_DROP_WAY_EASY_FORM_GEN_CONTROLLERAS = 'vm';
edaDragDropWayEasyFormGenCtrl = (function () {
function edaDragDropWayEasyFormGenCtrl($scope, easyFormGenVersion, $filter, $anchorScroll, toaster, $timeout, $modal, $log, formFieldManage, controllerModalProxy, dragDropItemDecorationService,
// dragDropConfig,
ddModelConfModelProxyService, ddItemRightClickedManager, easyFormDragWayConfig) {
_classCallCheck(this, edaDragDropWayEasyFormGenCtrl);
this.$scope = $scope;
this.easyFormGenVersion = easyFormGenVersion;
this.$filter = $filter;
this.$anchorScroll = $anchorScroll;
this.toaster = toaster;
this.$timeout = $timeout;
this.$modal = $modal;
this.$log = $log;
this.formFieldManage = formFieldManage;
this.controllerModalProxy = controllerModalProxy;
this.dragDropItemDecorationService = dragDropItemDecorationService;
// this.dragDropConfig = dragDropConfig;
this.ddModelConfModelProxyService = ddModelConfModelProxyService;
this.ddItemRightClickedManager = ddItemRightClickedManager;
this.easyFormDragWayConfig = easyFormDragWayConfig;
this.init();
}
_createClass(edaDragDropWayEasyFormGenCtrl, [{
key: 'init',
value: function init() {
this.easyFormGeneratorVERSION = this.easyFormGenVersion;
this.tab = initTabModel(this.easyFormDragWayConfig.isPreviewPanelVisible(), this.easyFormDragWayConfig.arePreviewModelsVisible());
this.returnSaveEvent = false;
this.dataModel = {}; //was vm.model in ES5 version
this.wfFormFields = [];
this.wfFormFieldsOnlyNeededProperties = [];
this.ihm = initIhmModel();
this.easyFormDragDropProperties = this.easyFormDragWayConfig.getDragDropConfigModel();
this.dragDropModel = [].concat(this.easyFormDragWayConfig.getDragDropPresentationModel());
this.numberOfColumns = 1;
this.MaxNumberOfColumns = 3;
this.MinNumberOfColumns = 1;
this.configuration = {};
this.animationsEnabled = this.easyFormDragWayConfig.getModalAnimationValue();
this.editPanelModel = { toggle: false };
this.debugProxyModel = this.controllerModalProxy.ProxyModel;
this.model = [];
this.formFieldManage.initConfigurationEditFromScratch(this.configuration, false);
this.controllerModalProxy.initProxyModel();
}
}, {
key: 'collapseAllGroupControl',
value: function collapseAllGroupControl(allExceptThisGroupIndex) {
var _this = this;
angular.forEach(this.easyFormDragDropProperties.containerConfig.decoration, function (value) {
if (value.WhenIndex !== allExceptThisGroupIndex) _this.easyFormDragWayConfig.setDragDropConfigContainerDecorationCollapse(_this.easyFormDragDropProperties, value.WhenIndex, true);
});
}
}, {
key: 'onSubmit',
value: function onSubmit() {
this.toaster.pop({
type: 'info',
timeout: 2000,
title: 'should save data model if it were not a static example',
body: 'data :' + this.$filter('json')(this.dataModel, 4),
showCloseButton: true
});
}
}, {
key: 'resetToZeroModel',
value: function resetToZeroModel() {
this.configuration.activeLine = 1;
if (this.configuration.lines.length > 1) this.configuration.lines.splice(1, this.configuration.lines.length - 2);
return this.countConfigurationModelLines();
}
//TO CHECK if does not come from step way :
}, {
key: 'countConfigurationModelLines',
value: function countConfigurationModelLines() {
return this.configuration.lines.length;
}
// //TO CHECK THEN TO DELETE : should come from step way...
// setActiveLineNumber(lineNumber){
// if (lineNumber <= this.countConfigurationModelLines()) this.configuration.activeLine = lineNumber;
// }
// //TO CHECK THEN TO DELETE : should come from step way...
// upThisLine(indexLine){
// if (indexLine > -1) {
// if (this.configuration.lines[indexLine - 1]) {
// let currentLineObj = this.configuration.lines[indexLine];
// this.configuration.lines.splice(indexLine , 1);
// this.configuration.lines.splice((indexLine - 1), 0, currentLineObj);
// this.configuration.activeLine = 1;
// }
// }
//
// this.formFieldManage.applyConfigurationToformlyModel(this.configuration, this.wfFormFields, this.dataModel);
// this.wfFormFieldsOnlyNeededProperties = angular.copy(this.wfFormFields);
// }
// //TO CHECK THEN TO DELETE : should come from step way...
// downThisLine(indexLine){
// if (indexLine > -1) {
// if (this.configuration.lines[indexLine + 1]) {
// let currentLineObj = this.configuration.lines[indexLine];
// this.configuration.lines.splice(indexLine , 1);
// this.configuration.lines.splice((indexLine + 1), 0, currentLineObj);
// this.configuration.activeLine = 1;
// }
// }
// this.formFieldManage.applyConfigurationToformlyModel(this.configuration, this.wfFormFields, this.dataModel);
// this.wfFormFieldsOnlyNeededProperties = angular.copy(this.wfFormFields);
// }
// //TO CHECK THEN TO DELETE : should come from step way...
// removeThisLine(index){
// if (index > -1) {
// if (this.configuration.lines.length > 1) {
// if (this.configuration.activeLine === index + 1) this.configuration.activeLine = 1;
// this.configuration.lines.splice(index, 1);
// }else{
// this.$timeout(()=>{
// this.toaster.pop({
// type : 'warning',
// title : 'Last line' ,
// body : 'Can\'t delete the last line',
// showCloseButton : true
// });
// }, 100);
// }
// this.formFieldManage.applyConfigurationToformlyModel(this.configuration, this.wfFormFields, this.dataModel);
// this.wfFormFieldsOnlyNeededProperties = angular.copy(this.wfFormFields);
// }
// }
// //TO CHECK THEN TO DELETE : should come from step way...
// increaseNumberOfColumns(){
// if (this.configuration.lines[this.configuration.activeLine -1].columns.length < this.MaxNumberOfColumns) {
// let newNumberOfColumns = this.configuration.lines[this.configuration.activeLine -1].columns.push(initColumnTemplate());
// this.configuration.lines[this.configuration.activeLine -1].columns[newNumberOfColumns - 1].numColumn = newNumberOfColumns;
// }
// this.formFieldManage.applyConfigurationToformlyModel(this.configuration, this.wfFormFields, this.dataModel);
// this.wfFormFieldsOnlyNeededProperties = angular.copy(this.wfFormFields);
// }
// //TO CHECK THEN TO DELETE : should come from step way...
// decreaseNumberOfColumns(indexLine, indexColumn){
// if (this.configuration.lines[this.configuration.activeLine -1].columns.length > 1) {
// this.configuration.lines[this.configuration.activeLine -1].columns.splice(this.configuration.lines[this.configuration.activeLine -1].columns.length -1, 1);
// }
// this.formFieldManage.applyConfigurationToformlyModel(this.configuration, this.wfFormFields, this.dataModel);
// this.wfFormFieldsOnlyNeededProperties = angular.copy(this.wfFormFields);
// }
}, {
key: 'saveThisForm',
value: function saveThisForm() {
if (typeof this.configuration.formName === 'undefined') {
this.toaster.pop({
type: 'warning',
timeout: 2000,
title: 'Form name is undefined',
body: 'Form has not been saved.',
showCloseButton: true
});
return false;
}
if (this.configuration.formName === '') {
this.toaster.pop({
type: 'warning',
timeout: 2000,
title: 'Form name is required',
body: 'Form has not been saved.',
showCloseButton: true
});
return false;
}
this.toaster.pop({
type: 'wait',
timeout: 10000,
title: 'Form is being saved',
body: 'Wait.',
showCloseButton: true
});
this.toaster.clear();
this.returnSaveEvent = true;
return true;
}
}, {
key: 'dragoverCallbackContainer',
value: function dragoverCallbackContainer(parentparentIndex, parentIndex, index) {
//prevent container in layout column to be drag to control select contianer
if (index === 0) return false;
return true;
}
}, {
key: 'dropCallback',
value: function dropCallback(event, index, item, external, type, allowedType) {
var _this2 = this;
if (external) {
if (allowedType === 'itemType' && !item.label) return false;
if (allowedType === 'containerType' && !angular.isArray(item)) return false;
}
//set a timeout befire binding since ddModel may not be called when already full updated
var timerRefreshDDToConfig = this.$timeout(function () {
_this2.configuration = angular.copy(_this2.ddModelConfModelProxyService.refreshAllConfigurationFromDragAndDropModel(_this2.configuration, _this2.dragDropModel));
_this2.formFieldManage.applyConfigurationToformlyModel(_this2.configuration, _this2.wfFormFields, _this2.dataModel);
_this2.wfFormFieldsOnlyNeededProperties = angular.copy(_this2.wfFormFields);
_this2.ddModelConfModelProxyService.refreshControlsKeys(_this2.configuration, _this2.dragDropModel);
}, 200);
this.$scope.$on('$destroy', function () {
return _this2.$timeout.cancel(timerRefreshDDToConfig);
});
return item;
}
}, {
key: 'dndItemMoved',
value: function dndItemMoved(parentParentIndex, parentIndex, itemIndex) {
//prevent item from first container to disapear when dropped on other container
if (parentParentIndex > 0) this.dragDropModel[parentParentIndex][parentIndex].splice(itemIndex, 1);
}
}, {
key: 'dragoverCallbackItems',
value: function dragoverCallbackItems(ParentParentIndex, parentIndex) {
//prevent items in layout column to be drag to control select
if (parentIndex === 0) return false;
return true;
}
//TODO : will replace in html : dnd-disable-if="items.length > 2"
}, {
key: 'disableItemDropIf',
value: function disableItemDropIf() {}
}, {
key: 'dropCallbackItems',
value: function dropCallbackItems(event, index, realIndex, parentIndex, parentParentIndex, parentParentParentIndex, item, external, type, allowedType) {
var _this3 = this;
if (external) {
if (allowedType === 'itemType' && !item.label) return false;
if (allowedType === 'containerType' && !angular.isArray(item)) return false;
}
//set a timeout before binding since ddModel may not be called when already full updated
var timerRefreshDDToConfig = this.$timeout(function () {
_this3.configuration = angular.copy(_this3.ddModelConfModelProxyService.refreshAllConfigurationFromDragAndDropModel(_this3.configuration, _this3.dragDropModel));
_this3.formFieldManage.applyConfigurationToformlyModel(_this3.configuration, _this3.wfFormFields, _this3.dataModel);
_this3.wfFormFieldsOnlyNeededProperties = angular.copy(_this3.wfFormFields);
// refresh controls key in dragDrop Model to persist already exists controls between refreshes when item drop events
_this3.ddModelConfModelProxyService.refreshControlsKeys(_this3.configuration, _this3.dragDropModel);
}, 200);
// add/set rightCliked property to false (will help edaRightClick directive)
this.ddItemRightClickedManager.setUnRightClicked(item);
// timerRefreshDDToConfig timer destruction
this.$scope.$on('$destroy', function () {
return _this3.$timeout.cancel(timerRefreshDDToConfig);
});
return item;
}
}, {
key: 'saveFromEditPanel',
value: function saveFromEditPanel() {
/**
* TODO :
* should be called from edit panel
*
* AND
*
* should call all these methods
*
* need to get :
*
* - line index
* - column index
* - basicSelectRowCollection (from edpitpanelcontroller) --> maybe in controllerModalProxy service
* - groupedSelectRowCollection (from edpitpanelcontroller) --> maybe in controllerModalProxy service
* - radioRowCollection (from edpitpanelcontroller) --> maybe in controllerModalProxy service
*/
this.controllerModalProxy.bindSpecialCtrlTemporyModelsToProxyModel();
//save config to control
//controllerModalProxy.applyConfigToSelectedControl(self.proxyModel);
//return current model to parent controller :
//update configuration model and formly model
this.controllerModalProxy.bindConfigurationModelFromProxyModel(this.controllerModalProxy.getEditPanelModelLineIndex(), this.controllerModalProxy.getEditPanelModelColumnIndex(), this.configuration);
this.formFieldManage.applyConfigurationToformlyModel(this.configuration, this.wfFormFields, this.dataModel);
this.wfFormFieldsOnlyNeededProperties = angular.copy(this.wfFormFields);
this.ddModelConfModelProxyService.refreshControlsKeys(this.configuration, this.dragDropModel);
this.controllerModalProxy.setEditPanelModelToggle(false);
this.editPanelModel.toggle = this.controllerModalProxy.getEditPanelModelToggle();
this.ddItemRightClickedManager.resetAllDragDropItemSelectedState(this.dragDropModel);
}
}, {
key: 'closeEditPanel',
value: function closeEditPanel() {
// reset all rightClicked control properties to false
this.ddItemRightClickedManager.resetAllDragDropItemSelectedState(this.dragDropModel);
/**
* TODO : refresh configuration model
* uncomment after update these next 3 lines
*
* NOTE : indexLine AND numcolumn should be stored in service and
* updated when togle sidepanel
*/
//this.controllerModalProxy.bindConfigurationModelFromProxyModel(indexLine, numcolumn, modalAddCtrlModel, this.configuration);
//this.formFieldManage.applyConfigurationToformlyModel(this.configuration, this.wfFormFields, this.dataModel);
//this.wfFormFieldsOnlyNeededProperties = angular.copy(this.wfFormFields);
this.controllerModalProxy.setEditPanelModelToggle(false);
this.editPanelModel.toggle = this.controllerModalProxy.getEditPanelModelToggle();
}
}, {
key: 'setRightClicked',
value: function setRightClicked(previousState, item) {
item.rightCliked = true;
}
}, {
key: 'toggleEditPanel',
value: function toggleEditPanel(event, lineIndex, colIndex, item) {
var _this4 = this;
this.ddItemRightClickedManager.resetAllDragDropItemSelectedState(this.dragDropModel);
// already opened (could be another control edit)
if (this.controllerModalProxy.getEditPanelModelToggle()) {
// -> immediate close and refresh configuration model + formly model
this.controllerModalProxy.setEditPanelModelToggle(false);
this.editPanelModel.toggle = this.controllerModalProxy.getEditPanelModelToggle();
//TODO : for refreshing
//this.controllerModalProxy.bindConfigurationModelFromProxyModel(indexLine, numcolumn, modalAddCtrlModel, this.configuration);
//this.formFieldManage.applyConfigurationToformlyModel(this.configuration, this.wfFormFields, this.dataModel);
//this.wfFormFieldsOnlyNeededProperties = angular.copy(this.wfFormFields);
// check if new control right clicked otherwise just toggle side panel
if (typeof this.controllerModalProxy.getEditPanelModelLineIndex() !== 'undefined' && typeof this.controllerModalProxy.getEditPanelModelColumnIndex() !== 'undefined' && typeof this.controllerModalProxy.getEditPanelModelControl() !== 'undefined') {
if (this.controllerModalProxy.getEditPanelModelLineIndex() === lineIndex && this.controllerModalProxy.getEditPanelModelColumnIndex() === colIndex && angular.equals(this.controllerModalProxy.getEditPanelModelControl(), item)) {
//console.info('already opened for SAME ctrl : so close - no re-open');
} else {
(function () {
//console.info('already opened for DIFFERENT ctrl : so re-open');
item.rightCliked = true;
// set a timeout before re-opening, 500ms is ok for a ps-size="400px"
var timerCloseOpenedEditPanel = _this4.$timeout(function () {
_this4.controllerModalProxy.setEditPanelModelLineIndex(lineIndex);
_this4.controllerModalProxy.setEditPanelModelColumnIndex(colIndex);
_this4.controllerModalProxy.setEditPanelModelControl(item);
// control model passed to Service : controllerModalProxy
_this4.controllerModalProxy.setProxyModelFromConfigurationSelection(_this4.configuration, lineIndex, colIndex);
_this4.controllerModalProxy.setEditPanelModelToggle(true);
_this4.$scope.editPanelModel.toggle = _this4.controllerModalProxy.getEditPanelModelToggle();
}, 200);
_this4.$scope.$on('$destroy', function () {
return _this4.$timeout.cancel(timerCloseOpenedEditPanel);
});
})();
}
}
} else {
// previous state = closed = immediate open
// console.info('NOT already opened : so open');
item.rightCliked = true;
this.controllerModalProxy.setEditPanelModelLineIndex(lineIndex);
this.controllerModalProxy.setEditPanelModelColumnIndex(colIndex);
this.controllerModalProxy.setEditPanelModelControl(item);
// control model passed to Service : controllerModalProxy
this.controllerModalProxy.setProxyModelFromConfigurationSelection(this.configuration, lineIndex, colIndex);
this.controllerModalProxy.setEditPanelModelToggle(true);
this.editPanelModel.toggle = this.controllerModalProxy.getEditPanelModelToggle();
}
// console.info('after toggleLeftPanel check :');
// console.dir({
// 'this.editPanelModel' : angular.copy(this.editPanelModel),
// 'controllerModalProxy.editPanelModel' : angular.copy(this.controllerModalProxy.editPanelModel)
// });
}
// // refreshModels : to call after drag and drop events
// refreshModels(){
// this.$timeout(()=>{
// console.info('refreshing models');
// formFieldManage.applyConfigurationToformlyModel(this.configuration, this.wfFormFields, this.dataModel);
// this.wfFormFieldsOnlyNeededProperties = angular.copy(this.wfFormFields);
// }, 10);
// }
}, {
key: 'removeThisLine',
value: function removeThisLine(lineIndex) {
this.dragDropModel[1].splice(lineIndex, 1);
}
//TODO : to fix
}, {
key: 'addNewline',
value: function addNewline() {
// re-render formfield
// TODO : to fix
this.formFieldManage.applyConfigurationToformlyModel(this.configuration, this.wfFormFields, this.dataModel);
this.wfFormFieldsOnlyNeededProperties = angular.copy(this.wfFormFields);
}
}, {
key: 'insertNewLine',
value: function insertNewLine() {
this.addNewline();
this.dragDropModel[1].push([]);
}
}]);
return edaDragDropWayEasyFormGenCtrl;
})();
edaDragDropWayEasyFormGenCtrl.$inject = ['$scope', 'easyFormGenVersion', '$filter', '$anchorScroll', 'toaster', '$timeout', '$modal', '$log', 'formFieldManage', 'controllerModalProxy', 'dragDropItemDecorationService',
// 'dragDropConfig',
'ddModelConfModelProxyService', 'ddItemRightClickedManager', 'easyFormDragWayConfig'];
_export('default', edaDragDropWayEasyFormGenCtrl);
_export('DRAG_DROP_WAY_EASY_FORM_GEN_CONTROLLER', DRAG_DROP_WAY_EASY_FORM_GEN_CONTROLLER);
_export('DRAG_DROP_WAY_EASY_FORM_GEN_CONTROLLERAS', DRAG_DROP_WAY_EASY_FORM_GEN_CONTROLLERAS);
}
};
});
$__System.register('4f', ['49', '4e'], function (_export) {
/* global angular */
//TODO : to bindToController
//-> then angular 1.4+ will be required...
//-> check methot to refactor inside rag drop way then common step way and drag drop way
'use strict';
var edaDragDropWayEasyFormGenDirectiveTemplate, DRAG_DROP_WAY_EASY_FORM_GEN_CONTROLLER, DRAG_DROP_WAY_EASY_FORM_GEN_CONTROLLERAS, EDA_DRAGDROP_WAY_EASY_FORM_GEN_DIRECTIVE;
function edaDragdropWayEasyFormGen($timeout, formFieldManage, ddModelConfModelProxyService,
// dragDropConfig,
easyFormDragWayConfig) {
var directive = {
restrict: 'E',
template: edaDragDropWayEasyFormGenDirectiveTemplate,
scope: {
edaEasyFormGeneratorModel: '=',
edaSaveFormEvent: '&edaSaveFormEvent'
},
controller: DRAG_DROP_WAY_EASY_FORM_GEN_CONTROLLER,
controllerAs: DRAG_DROP_WAY_EASY_FORM_GEN_CONTROLLERAS,
replace: false,
link: linkFct
};
return directive;
function linkFct(scope) {
// watch "scope.easyFormGeneratorModel"
scope.$watch(function () {
return scope.edaEasyFormGeneratorModel;
}, function () {
return loadExistingConfigurationModel();
}, true);
// watch "scope.returnSaveEvent"" = catch saving form event
scope.$watch(function () {
return scope.returnSaveEvent;
}, function (newValue) {
if (newValue === true) {
var _easyFormGeneratorModel = {
formName: scope.vm.configuration.formName,
btnSubmitText: scope.vm.configuration.submitButtonText,
btnCancelText: scope.vm.configuration.cancelButtonText,
edaFieldsModel: scope.vm.configuration.lines,
//just as test
edaFieldsModelStringified: angular.toJson(scope.vm.configuration.lines),
formlyFieldsModel: scope.vm.wfFormFieldsOnlyNeededProperties,
dataModel: scope.vm.dataModel
};
scope.edaSaveFormEvent({
edaEasyFormGeneratorModel: _easyFormGeneratorModel
});
//back to false, waiting next save event
scope.returnSaveEvent = false;
}
});
function returnAttributeConfigurationLinesIfNotEmpty() {
var edaEasyFormGeneratorModelToReturn = angular.isArray(scope.edaEasyFormGeneratorModel.edaFieldsModel) ? scope.edaEasyFormGeneratorModel.edaFieldsModel.length > 0 ? scope.edaEasyFormGeneratorModel.edaFieldsModel : emptyEdaFieldsModel() : emptyEdaFieldsModel();
return edaEasyFormGeneratorModelToReturn;
}
/**
* empty fields model : to display at least an empty line
* otherwise would look like ugly empty line like it were a bug
*/
function emptyEdaFieldsModel() {
var emptyModel = [{
'line': 1,
'activeColumn': 1,
'columns': [{
'numColumn': 1,
'exist': true,
'control': {
'type': 'none',
'key': 'none'
}
}]
}];
return emptyModel;
}
function returnAttributeDataModelIfNotEmpty() {
var dataModelToReturn = angular.isArray(scope.edaEasyFormGeneratorModel.dataModel) ? scope.edaEasyFormGeneratorModel.dataModel.length > 0 ? scope.edaEasyFormGeneratorModel.dataModel : [] : [];
return dataModelToReturn;
}
function loadExistingConfigurationModel() {
if (angular.isDefined(scope.edaEasyFormGeneratorModel)) {
var configlines = returnAttributeConfigurationLinesIfNotEmpty();
scope.vm.configurationLoaded = {};
formFieldManage.bindConfigurationLines(scope.vm.configurationLoaded, configlines, false);
//apply configuration model
scope.vm.configuration = angular.copy(scope.vm.configurationLoaded);
//apply ddModel
ddModelConfModelProxyService.loadDragDropModelFromConfigurationModel(scope.vm.configuration, scope.vm.dragDropModel);
updateConfigurationClassName(scope.vm.configuration);
ddModelConfModelProxyService.refreshControlsKeys(scope.vm.configuration, scope.vm.dragDropModel);
//apply formly model
formFieldManage.applyConfigurationToformlyModel(scope.vm.configuration, scope.vm.wfFormFields, scope.vm.dataModel);
scope.vm.wfFormFieldsOnlyNeededProperties = angular.copy(scope.vm.wfFormFields);
scope.vm.dataModel = returnAttributeDataModelIfNotEmpty();
scope.vm.configuration.formName = angular.isString(scope.edaEasyFormGeneratorModel.formName) ? scope.edaEasyFormGeneratorModel.formName : '';
scope.vm.configuration.submitButtonText = angular.isString(scope.edaEasyFormGeneratorModel.btnSubmitText) ? scope.edaEasyFormGeneratorModel.btnSubmitText : 'Submit';
scope.vm.configuration.cancelButtonText = angular.isString(scope.edaEasyFormGeneratorModel.btnCancelText) ? scope.edaEasyFormGeneratorModel.btnCancelText : 'Cancel';
}
}
function updateConfigurationClassName(configModel) {
angular.forEach(configModel.lines, function (aline) {
var cssClassToApply = easyFormDragWayConfig.getItemCssDependingNumberItemsInRow(aline.columns.length);
angular.forEach(aline.columns, function (aControl) {
return aControl.control.className = cssClassToApply;
});
});
}
}
}
return {
setters: [function (_) {
edaDragDropWayEasyFormGenDirectiveTemplate = _['default'];
}, function (_e) {
DRAG_DROP_WAY_EASY_FORM_GEN_CONTROLLER = _e.DRAG_DROP_WAY_EASY_FORM_GEN_CONTROLLER;
DRAG_DROP_WAY_EASY_FORM_GEN_CONTROLLERAS = _e.DRAG_DROP_WAY_EASY_FORM_GEN_CONTROLLERAS;
}],
execute: function () {
EDA_DRAGDROP_WAY_EASY_FORM_GEN_DIRECTIVE = 'edaDragdropWayEasyFormGen';
edaDragdropWayEasyFormGen.$inject = ['$timeout', 'formFieldManage', 'ddModelConfModelProxyService',
// 'dragDropConfig',
'easyFormDragWayConfig'];
_export('default', edaDragdropWayEasyFormGen);
_export('EDA_DRAGDROP_WAY_EASY_FORM_GEN_DIRECTIVE', EDA_DRAGDROP_WAY_EASY_FORM_GEN_DIRECTIVE);
}
};
});
$__System.register('50', ['48', '4e', '4f'], function (_export) {
/* global angular */
'use strict';
var easyFormDragWayConfig, EASY_FORM_DRAG_DROP_WAY_CONFIG_NAME, edaDragDropWayEasyFormGenCtrl, DRAG_DROP_WAY_EASY_FORM_GEN_CONTROLLER, edaDragdropWayEasyFormGen, EDA_DRAGDROP_WAY_EASY_FORM_GEN_DIRECTIVE, DRAGDROP_MODULE;
return {
setters: [function (_) {
easyFormDragWayConfig = _['default'];
EASY_FORM_DRAG_DROP_WAY_CONFIG_NAME = _.EASY_FORM_DRAG_DROP_WAY_CONFIG_NAME;
}, function (_e) {
edaDragDropWayEasyFormGenCtrl = _e['default'];
DRAG_DROP_WAY_EASY_FORM_GEN_CONTROLLER = _e.DRAG_DROP_WAY_EASY_FORM_GEN_CONTROLLER;
}, function (_f) {
edaDragdropWayEasyFormGen = _f['default'];
EDA_DRAGDROP_WAY_EASY_FORM_GEN_DIRECTIVE = _f.EDA_DRAGDROP_WAY_EASY_FORM_GEN_DIRECTIVE;
}],
execute: function () {
DRAGDROP_MODULE = 'edaDragDropWay.main.module';
_export('default', angular.module(DRAGDROP_MODULE, []).provider(EASY_FORM_DRAG_DROP_WAY_CONFIG_NAME, easyFormDragWayConfig).controller(DRAG_DROP_WAY_EASY_FORM_GEN_CONTROLLER, edaDragDropWayEasyFormGenCtrl).directive(EDA_DRAGDROP_WAY_EASY_FORM_GEN_DIRECTIVE, edaDragdropWayEasyFormGen));
}
};
});
$__System.register('51', [], function (_export) {
'use strict';
var TRUST_THIS_FILTER_NAME;
function trustThis($sce) {
return function (value, type) {
return $sce.trustAs(type || 'html', value);
};
}
return {
setters: [],
execute: function () {
TRUST_THIS_FILTER_NAME = 'trustThis';
trustThis.$inject = ['$sce'];
_export('default', trustThis);
_export('TRUST_THIS_FILTER_NAME', TRUST_THIS_FILTER_NAME);
}
};
});
$__System.register('52', ['51'], function (_export) {
'use strict';
var trustThis, TRUST_THIS_FILTER_NAME, TRUST_THIS_FILTER_MODULE;
return {
setters: [function (_) {
trustThis = _['default'];
TRUST_THIS_FILTER_NAME = _.TRUST_THIS_FILTER_NAME;
}],
execute: function () {
TRUST_THIS_FILTER_MODULE = 'edaDragDropWay.trustThis.filter';
_export('default', angular.module(TRUST_THIS_FILTER_MODULE, []).filter(TRUST_THIS_FILTER_NAME, trustThis));
}
};
});
$__System.register('1', ['2', '3', '5', '6', '41', '44', '46', '50', '52', '2a', '2e', '3c', '3f'], function (_export) {
'use strict';
var formlyConfigFunct, dragDropConfigFunt, EASY_FORM_DD_VERSION_NAME, EASY_FORM_DD_VERSION_VALUE, coreModule, configProxyModule, dragAndDropListModule, pageSlideModule, easyFormDragDropModule, trustThisFilterModule, leftPanelModule, formlyProxyModule, dragdropModule, rightClickModule, DRAG_DROP_WAY_MODULE_NAME, DRAG_DROP_MODULES_INJECT, mainModule;
return {
setters: [function (_) {}, function (_2) {
formlyConfigFunct = _2['default'];
}, function (_3) {
dragDropConfigFunt = _3['default'];
EASY_FORM_DD_VERSION_NAME = _3.EASY_FORM_DD_VERSION_NAME;
EASY_FORM_DD_VERSION_VALUE = _3.EASY_FORM_DD_VERSION_VALUE;
}, function (_4) {
coreModule = _4['default'];
}, function (_5) {
configProxyModule = _5['default'];
}, function (_6) {
dragAndDropListModule = _6['default'];
}, function (_7) {
pageSlideModule = _7['default'];
}, function (_8) {
easyFormDragDropModule = _8['default'];
}, function (_9) {
trustThisFilterModule = _9['default'];
}, function (_a) {
leftPanelModule = _a['default'];
}, function (_e) {
formlyProxyModule = _e['default'];
}, function (_c) {
dragdropModule = _c['default'];
}, function (_f) {
rightClickModule = _f['default'];
}],
execute: function () {
DRAG_DROP_WAY_MODULE_NAME = 'eda.easyformGen.dragDropWay';
DRAG_DROP_MODULES_INJECT = [coreModule.name, configProxyModule.name, trustThisFilterModule.name, leftPanelModule.name, formlyProxyModule.name, dragdropModule.name, easyFormDragDropModule.name, rightClickModule.name, dragAndDropListModule.name, pageSlideModule.name];
mainModule = angular.module(DRAG_DROP_WAY_MODULE_NAME, DRAG_DROP_MODULES_INJECT).config(dragDropConfigFunt).config(formlyConfigFunct).value(EASY_FORM_DD_VERSION_NAME, EASY_FORM_DD_VERSION_VALUE);
_export('default', mainModule);
}
};
});
})
(function(factory) {
factory();
});
//# sourceMappingURL=eda.dragdropway.js.map