[% Translate("or") | html %]
diff --git a/Kernel/System/RestrictedService.pm b/Kernel/System/RestrictedService.pm
new file mode 100644
index 0000000..5180556
--- /dev/null
+++ b/Kernel/System/RestrictedService.pm
@@ -0,0 +1,89 @@
+# --
+# Kernel/System/RestrictedService.pm - core module
+#
+# Copyright (C) SeTIC - UFSC - http://setic.ufsc.br/
+# Version 2015-06-24 - First version
+#
+# Manages which services should only be allowed in the logged in interface for OTRS
+#
+# --
+# This software comes with ABSOLUTELY NO WARRANTY. For details, see
+# the enclosed file COPYING for license information (AGPL). If you
+# did not receive this file, see http://www.gnu.org/licenses/agpl.txt.
+# --
+package Kernel::System::RestrictedService;
+
+use strict;
+use warnings;
+use utf8;
+
+our @ObjectDependencies = (
+"Kernel::System::DB",
+"Kernel::System::Log");
+
+
+sub new {
+ my ( $Type, %Param ) = @_;
+
+ # allocate new hash for object
+ my $Self = {%Param};
+ bless( $Self, $Type );
+
+ return $Self;
+}
+
+=head
+
+Returns a service form
+
+@IdsRestrictedServices
+
+=cut
+
+sub GetRestrictedServices {
+
+ my ( $Self, %Param ) = @_;
+
+ my $DBObject = $Kernel::OM->Get("Kernel::System::DB");
+
+ # get service form from db
+ $DBObject->Prepare(
+ SQL => 'SELECT service_id from restricted_service order by service_id asc'
+ );
+
+ # fetch the result
+ my @ServiceData;
+ while ( my @Row = $DBObject->FetchrowArray() ) {
+ push(@ServiceData,$Row[0]);
+ }
+
+ return @ServiceData;
+}
+
+=head
+
+@IdsList
+
+Sets the list of restricted services
+
+=cut
+sub SetRestrictedServices {
+
+ my ( $Self, @Param ) = @_;
+
+ my $DBObject = $Kernel::OM->Get("Kernel::System::DB");
+ my $idsString = join(",", @Param);
+
+ # delete old services
+ $DBObject->Do(SQL => 'DELETE FROM restricted_service where service_id NOT IN (' . $idsString . ')');
+
+ # add new services
+ while (my $id = @Param) {
+ $DBObject->Do(SQL => 'REPLACE INTO restricted_service (service_id) VALUES (' . $id . ')');
+ }
+
+ return 1;
+}
+
+
+1;
diff --git a/Kernel/System/ServiceForm.pm b/Kernel/System/ServiceForm.pm
index cf3c5b8..fb5cbb7 100644
--- a/Kernel/System/ServiceForm.pm
+++ b/Kernel/System/ServiceForm.pm
@@ -44,7 +44,7 @@ sub GetServiceForm {
# get service form from db
$DBObject->Prepare(
- SQL => 'SELECT service_id, introduction, form, form_schema FROM service_form WHERE service_id = ?',
+ SQL => 'SELECT service_id, introduction, form, form_schema, fixed_values FROM service_form WHERE service_id = ? and queue_id is null',
Bind => [ \$Param{ServiceID} ],
Limit => 1,
);
@@ -55,7 +55,40 @@ sub GetServiceForm {
$ServiceData{ServiceID} = $Row[0];
$ServiceData{Introduction} = $Row[1];
$ServiceData{Form} = $Row[2];
- $ServiceData{Schema} = $Row[3];
+ $ServiceData{Schema} = $Row[3];
+ $ServiceData{FixedValues} = $Row[4];
+ }
+
+ return %ServiceData;
+}
+
+=head
+
+Returns a service form for a give queue
+
+=cut
+
+sub GetServiceFormForQueue {
+
+ my ( $Self, %Param ) = @_;
+
+ my $DBObject = $Kernel::OM->Get("Kernel::System::DB");
+
+ # get service form from db
+ $DBObject->Prepare(
+ SQL => 'SELECT service_id, introduction, form, form_schema, fixed_values FROM service_form WHERE service_id = ? and queue_id = ? ',
+ Bind => [ \$Param{ServiceID}, \$Param{QueueID} ],
+ Limit => 1,
+ );
+
+ # fetch the result
+ my %ServiceData;
+ while ( my @Row = $DBObject->FetchrowArray() ) {
+ $ServiceData{ServiceID} = $Row[0];
+ $ServiceData{Introduction} = $Row[1];
+ $ServiceData{Form} = $Row[2];
+ $ServiceData{Schema} = $Row[3];
+ $ServiceData{FixedValues} = $Row[4];
}
return %ServiceData;
@@ -86,14 +119,55 @@ sub SaveServiceForm {
my $update = ($serviceForm{ServiceID});
if ($update) {
- $DBObject->Do(SQL => 'UPDATE service_form SET introduction=?,form=?,form_schema=? where service_id=?',
+ $DBObject->Do(SQL => 'UPDATE service_form SET introduction=?,form=?,form_schema=?,fixed_values=? where service_id=? and queue_id is null',
+ Bind => [
+ \$Param{Introduction}, \$Param{Form}, \$Param{Schema}, \$Param{FixedValues}, \$Param{ServiceID}
+ ]);
+ } else {
+ $DBObject->Do(SQL => 'INSERT INTO service_form(service_id,introduction,form,form_schema,fixed_values) VALUES (?,?,?,?,?)',
+ Bind => [
+ \$Param{ServiceID}, \$Param{Introduction}, \$Param{Form}, \$Param{Schema}, \$Param{FixedValues}
+ ]);
+ }
+
+ return 1;
+
+}
+
+
+=head
+
+Saves a service form for a give queue.
+
+=cut
+
+sub SaveServiceFormForQueue {
+
+ my ( $Self, %Param ) = @_;
+ my $DBObject = $Kernel::OM->Get("Kernel::System::DB");
+
+ for my $Argument (qw(ServiceID Introduction)) {
+ if ( !$Param{$Argument} ) {
+ $Kernel::OM->Get("Kernel::System::Log")->Log(
+ Priority => 'error',
+ Message => "Need $Argument!",
+ );
+ return;
+ }
+ }
+
+ my %serviceForm = $Self->GetServiceFormForQueue(ServiceID => $Param{ServiceID}, QueueID => $Param{QueueID});
+ my $update = ($serviceForm{ServiceID});
+
+ if ($update) {
+ $DBObject->Do(SQL => 'UPDATE service_form SET introduction=?,form=?,form_schema=?,fixed_values=? where service_id=? and queue_id=? ',
Bind => [
- \$Param{Introduction}, \$Param{Form}, \$Param{Schema}, \$Param{ServiceID}
+ \$Param{Introduction}, \$Param{Form}, \$Param{Schema}, \$Param{FixedValues}, \$Param{ServiceID}, \$Param{QueueID}
]);
} else {
- $DBObject->Do(SQL => 'INSERT INTO service_form(service_id,introduction,form,form_schema) VALUES (?,?,?,?)',
+ $DBObject->Do(SQL => 'INSERT INTO service_form(service_id,introduction,form,form_schema,queue_id,fixed_values) VALUES (?,?,?,?,?,?)',
Bind => [
- \$Param{ServiceID}, \$Param{Introduction}, \$Param{Form}, \$Param{Schema}
+ \$Param{ServiceID}, \$Param{Introduction}, \$Param{Form}, \$Param{Schema}, \$Param{QueueID}, \$Param{FixedValues}
]);
}
diff --git a/NewTicketWizard.sopm b/NewTicketWizard.sopm
index 5d6d42c..a37c9be 100755
--- a/NewTicketWizard.sopm
+++ b/NewTicketWizard.sopm
@@ -1,7 +1,7 @@
NewTicketWizard
- 1.5.3
+ 1.7.7
4.0.x
SeTIC
http://www.setic.ufsc.br
@@ -9,6 +9,11 @@
NewTicket Wizard Module
Support for OTRS 4.0.3, QueuesPanel Module Separation
AlpacaJS adjustment for OTRS 4.0.4
+ Support for specific form per queue
+ Support for fixed field values and IP in created ticket
+ Support to set any field value
+ Support for multi-value fields
+ Support for restricted services
New Ticket Wizard module installed successfully!
?
?
@@ -22,6 +27,7 @@
+
@@ -58,9 +64,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/scripts/test/SchemaTest.t b/scripts/test/SchemaTest.t
new file mode 100644
index 0000000..fabd021
--- /dev/null
+++ b/scripts/test/SchemaTest.t
@@ -0,0 +1,145 @@
+# --
+# Responsibility.t - Responsiblity tests
+# Copyright (C) 2014 OTRS AG, http://otrs.com/
+# --
+# This software comes with ABSOLUTELY NO WARRANTY. For details, see
+# the enclosed file COPYING for license information (AGPL). If you
+# did not receive this file, see http://www.gnu.org/licenses/agpl.txt.
+# --
+# Autor: Rodrigo Gonçalves
+# Data.: 04/08/2014 - versão inicial
+#
+
+#
+# alter table service_form add fixed_values text;
+#
+#
+
+use strict;
+use warnings;
+use vars (qw($Self));
+
+my $schema = '
+"service": {
+ "type": "string",
+ "required": "true"
+ },
+ "DF_unidade": {
+ "type": "string",
+ "enum": [
+ DF_unidade_values
+ ],
+ "required": "true"
+ },
+ "DF_local": {
+ "type": "string",
+ "required": "true"
+ },
+ "DF_telefone": {
+ "type": "string",
+ "required": "true"
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ OTRS_type_values
+ ],
+ "required": "true"
+ }
+ CF_SCHEMA
+ ,
+ "subject": {
+ "type": "string",
+ "required": "true"
+ },
+ "description": {
+ "type": "string",
+ "required": "true"
+ },
+ "attachment": {
+ "type": "string",
+ "format": "uri"
+ },
+ "Action": {
+ "type": "string",
+ "default": "NewTicketWizard"
+ },
+ "Subaction": {
+ "type": "string",
+ "default": "CreateTicket"
+ }
+';
+
+my $key = '("DF_telefone"[^}]+})';
+my $replace = '"DF_telefone {' . "\n" . '"type": "string"' . "\n}";
+
+
+$schema =~ s/$key/$replace/;
+
+print STDOUT $schema . "\n\n\n\n";
+
+
+
+
+my $form = '
+"DF_unidade": {
+ "type": "select",
+ "label": "Unidade:",
+ "optionLabels": [
+ DF_unidade_labels
+ ]
+ },
+ "DF_local": {
+ "type": "text",
+ "label": "Local:"
+ },
+ "DF_telefone": {
+ "type": "text",
+ "label": "Telefone:",
+ "control_width": 100
+ },
+ "type": {
+ "type": "select",
+ "label": "Motivo:",
+ "optionLabels": [
+ OTRS_type_labels
+ ]
+ },
+ "service": {
+ "type": "hidden"
+ }
+ CF_FORM,
+ "subject": {
+ "type": "text",
+ "label": "Assunto:",
+ "size": 80
+ },
+ "description": {
+ "type": "textarea",
+ "label": "Descrição:",
+ "cols": 80
+ },
+ "attachment": {
+ "type": "file",
+ "label": "Anexo:",
+ "helper": "Anexe um arquivo se necessário."
+ },
+ "Action": {
+ "type": "hidden"
+ },
+ "Subaction": {
+ "type": "hidden"
+ }
+
+';
+
+$key = '("DF_telefone"[^}]+})';
+$replace = '"DF_telefone": {' . "\n" . '"type": "hidden"' . "\n}";
+
+
+$form =~ s/$key/$replace/;
+
+print STDOUT $form ;
+
+
+1;
\ No newline at end of file
diff --git a/sqls.sql b/sqls.sql
new file mode 100644
index 0000000..6e0f973
--- /dev/null
+++ b/sqls.sql
@@ -0,0 +1,5 @@
+alter table service_form drop foreign key FK_service_form_service_id_id;
+alter table service_form drop primary key;
+alter table service_form add id int auto_increment not null primary key;
+alter table service_form add fixed_values text;
+alter table service_form add queue_id int;
diff --git a/var/httpd/htdocs/js/NewTicketWizard.js b/var/httpd/htdocs/js/NewTicketWizard.js
index bf62eb0..ce46cfa 100644
--- a/var/httpd/htdocs/js/NewTicketWizard.js
+++ b/var/httpd/htdocs/js/NewTicketWizard.js
@@ -70,6 +70,7 @@ var postRenderCallback = function(form) {
if (form.isFormValid()) {
return true;
} else {
+ alert("Dados inválidos!");
return false;
}
e.stopPropagation();
diff --git a/var/httpd/htdocs/js/thirdparty/alpaca/.alpaca-full.min.js.swp b/var/httpd/htdocs/js/thirdparty/alpaca/.alpaca-full.min.js.swp
new file mode 100644
index 0000000..1ed6558
Binary files /dev/null and b/var/httpd/htdocs/js/thirdparty/alpaca/.alpaca-full.min.js.swp differ
diff --git a/var/httpd/htdocs/js/thirdparty/alpaca/alpaca-full.min.js b/var/httpd/htdocs/js/thirdparty/alpaca/alpaca-full.min.js
index 556650d..b0be7f1 100644
--- a/var/httpd/htdocs/js/thirdparty/alpaca/alpaca-full.min.js
+++ b/var/httpd/htdocs/js/thirdparty/alpaca/alpaca-full.min.js
@@ -728,6 +728,7 @@ if (typeof JSON !== 'object') {
path += path ? typeof i == 'number' ? '[' + i + ']' : typeof i == 'undefined' ? '' : '.' + i : i;
function addError(message) {
errors.push({property:path,message:message});
+ Alpaca.logDebug("Erro: " + message);
}
if ((typeof schema != 'object' || schema instanceof Array) && (path || typeof schema != 'function') && !(schema && schema.type)) {
@@ -2149,6 +2150,8 @@ var equiv = function () {
// Unless we want to load individual fields (other than the templates) using the provided
// loader, this should be good enough. The benefit is saving time on loader format checking.
+
+
var loadAllConnector = connector;
if (notTopLevel) {
@@ -2163,6 +2166,8 @@ var equiv = function () {
if (Alpaca.isUndefined(options.focus)) {
options.focus = false;
}
+
+
var _renderedCallback = function(control)
{
// auto-set the focus?
@@ -2195,6 +2200,9 @@ var equiv = function () {
}
};
+
+
+
loadAllConnector.loadAll({
"data": data,
"schema": schema,
@@ -2242,6 +2250,8 @@ var equiv = function () {
return null;
});
+
+
// hand back the field
return $(el);
};
@@ -4166,7 +4176,7 @@ var equiv = function () {
// by default, logging only shows warnings and above
// to debug, set Alpaca.logLevel = Alpaca.DEBUG
- Alpaca.logLevel = Alpaca.WARN;
+ Alpaca.logLevel = Alpaca.INFO;
Alpaca.logDebug = function(obj) {
Alpaca.log(Alpaca.DEBUG, obj);
@@ -7035,6 +7045,7 @@ var equiv = function () {
}
}
+
// hidden
if (this.options.hidden) {
this.getEl().hide();
@@ -7046,19 +7057,25 @@ var equiv = function () {
var defaultHideInitValidationError = (this.view.type == 'create');
this.hideInitValidationError = Alpaca.isValEmpty(this.options.hideInitValidationError) ? defaultHideInitValidationError : this.options.hideInitValidationError;
+ Alpaca.logDebug("PreRender");
+
// final call to update validation state
if (this.view.type != 'view') {
+ Alpaca.logDebug("PreRender2");
this.renderValidationState();
}
// set to false after first validation (even if in CREATE mode, we only force init validation error false on first render)
this.hideInitValidationError = false;
+ Alpaca.logDebug("PreHiden");
// for create view, hide all readonly fields
if (!this.view.displayReadonly) {
$('.alpaca-field-readonly', this.getEl()).hide();
}
+ ////console.log(this);
+ Alpaca.logDebug("PrePostRender");
// field level post render
if (this.options.postRender) {
this.options.postRender(this);
@@ -7311,7 +7328,6 @@ var equiv = function () {
this._validateCustomValidator();
}
};
-
_rvc.call(this, checkChildren, false);
},
@@ -7447,8 +7463,17 @@ var equiv = function () {
* @returns {Boolean} False if this field value is empty but required, true otherwise.
*/
_validateOptional: function() {
- if (this.schema.required && this.isEmpty()) {
- return false;
+ var id = this.id;
+ var obj = $("span[alpaca-field-id='" + id + "']").css('display');
+ //console.log("Display para" + "span[alpaca-field-id='" + this.id + "'] => " + obj);
+ if (this.schema.required) {
+ if ((obj == "none") || (obj == "undefined")) {
+ console.log("alpaca-field-id='" + id + "' => OK");
+ return true;
+ } else if (this.isEmpty()) {
+ console.log("alpaca-field-id='" + id + "' => NOT OK");
+ return false;
+ }
}
return true;
},
@@ -8367,6 +8392,14 @@ var equiv = function () {
_validateEnum: function() {
if (this.schema["enum"]) {
var val = this.data;
+
+ var id = this.id;
+ var obj = $("span[alpaca-field-id='" + id + "']").css('display');
+ if ((this.schema.required) && ((obj == "none") || (obj == "undefined"))) {
+ console.log("alpaca-field-id='" + id + "' => OK");
+ return true;
+ }
+
/*this.getValue();*/
if (!this.schema.required && Alpaca.isValEmpty(val)) {
return true;
@@ -9986,6 +10019,14 @@ var equiv = function () {
_validatePattern: function() {
if (this.schema.pattern) {
var val = this.getValue();
+
+ var id = this.id;
+ var obj = $("span[alpaca-field-id='" + id + "']").css('display');
+ if ((this.schema.required) && ((obj == "none") || (obj == "undefined"))) {
+ console.log("alpaca-field-id='" + id + "' => OK");
+ return true;
+ }
+
if (val === "" && this.options.allowOptionalEmpty && !this.schema.required) {
return true;
}
@@ -10007,6 +10048,15 @@ var equiv = function () {
*/
_validateMinLength: function() {
if (!Alpaca.isEmpty(this.schema.minLength)) {
+
+
+ var id = this.id;
+ var obj = $("span[alpaca-field-id='" + id + "']").css('display');
+ if ((this.schema.required) && ((obj == "none") || (obj == "undefined"))) {
+ console.log("alpaca-field-id='" + id + "' => OK");
+ return true;
+ }
+
var val = this.getValue();
if (val === "" && this.options.allowOptionalEmpty && !this.schema.required) {
return true;
@@ -10028,6 +10078,15 @@ var equiv = function () {
*/
_validateMaxLength: function() {
if (!Alpaca.isEmpty(this.schema.maxLength)) {
+
+ var id = this.id;
+ var obj = $("span[alpaca-field-id='" + id + "']").css('display');
+ if ((this.schema.required) && ((obj == "none") || (obj == "undefined"))) {
+ console.log("alpaca-field-id='" + id + "' => OK");
+ return true;
+ }
+
+
var val = this.getValue();
if (val === "" && this.options.allowOptionalEmpty && !this.schema.required) {
return true;
@@ -11291,6 +11350,7 @@ var equiv = function () {
var _this = this;
+
if (this.schema["type"] && this.schema["type"] == "array") {
this.options.multiple = true;
}
@@ -11320,7 +11380,6 @@ var equiv = function () {
//$("select",this.field).val("0");
}
-
this.injectField(this.field);
// do this little trick so that if we have a default value, it gets set during first render
@@ -11353,6 +11412,14 @@ var equiv = function () {
_validateEnum: function() {
if (this.schema["enum"]) {
var val = this.data;
+
+ var id = this.id;
+ var obj = $("span[alpaca-field-id='" + id + "']").css('display');
+ if ((this.schema.required) && ((obj == "none") || (obj == "undefined"))) {
+ console.log("alpaca-field-id='" + id + "' => OK");
+ return true;
+ }
+
if (!this.schema.required && Alpaca.isValEmpty(val)) {
return true;
}
@@ -13393,6 +13460,10 @@ var equiv = function () {
}
else if (Alpaca.isArray(def.dependencies))
{
+s
+v
+t
+w
$.each(def.dependencies, function(index, value) {
if (value == propertyId)
{
@@ -13506,7 +13577,9 @@ var equiv = function () {
else
{
// check object value
- if (!Alpaca.isEmpty(conditionalDependencies[dependentOnPropertyId]) && conditionalDependencies[dependentOnPropertyId] != dependentOnData)
+ if (!dependentOnData) {
+ valid = false;
+ } else if (!Alpaca.isEmpty(conditionalDependencies[dependentOnPropertyId]) && dependentOnData.indexOf(conditionalDependencies[dependentOnPropertyId]) == -1)
{
valid = false;
}
diff --git a/var/httpd/htdocs/js/thirdparty/alpaca/alpaca.min.js b/var/httpd/htdocs/js/thirdparty/alpaca/alpaca.min.js
new file mode 100644
index 0000000..5d5c87a
--- /dev/null
+++ b/var/httpd/htdocs/js/thirdparty/alpaca/alpaca.min.js
@@ -0,0 +1,9 @@
+!function(e,t){var i=!0;e&&"undefined"!=typeof e.umd&&(i=e.umd),i&&"object"==typeof exports?module.exports=t(require("jquery"),require("handlebars"),require("jquery-ui")):i&&"function"==typeof define&&define.amd?define("alpaca",["jquery","handlebars","jquery-ui"],t):e.Alpaca=t(e.jQuery,e.Handlebars,e.jQueryUI)}(this,function($,Handlebars,jQueryUI){return this.HandlebarsPrecompiled=this.HandlebarsPrecompiled||{},this.HandlebarsPrecompiled["web-display"]=this.HandlebarsPrecompiled["web-display"]||{},this.HandlebarsPrecompiled["web-display"]["container-array"]=function(e,t,i,a,n){function r(e,t){var a,n,r,o="";return o+="\n\n ",r={hash:{},inverse:c.noop,fn:c.program(2,s,t),data:t},(n=i.item)?a=n.call(e,r):(n=e&&e.item,a=typeof n===d?n.call(e,r):n),i.item||(a=p.call(e,a,{hash:{},inverse:c.noop,fn:c.program(2,s,t),data:t})),(a||0===a)&&(o+=a),o+="\n\n "}function s(){var e="";return e}this.compilerInfo=[4,">= 1.0.0"],i=this.merge(i,e.helpers),n=n||{};var o,l="",c=this,d="function",p=i.blockHelperMissing;return l+='"},this.HandlebarsPrecompiled=this.HandlebarsPrecompiled||{},this.HandlebarsPrecompiled["web-display"]=this.HandlebarsPrecompiled["web-display"]||{},this.HandlebarsPrecompiled["web-display"]["container-object"]=function(e,t,i,a,n){function r(e,t){var a,n,r,o="";return o+="\n\n ",r={hash:{},inverse:c.noop,fn:c.program(2,s,t),data:t},(n=i.item)?a=n.call(e,r):(n=e&&e.item,a=typeof n===d?n.call(e,r):n),i.item||(a=p.call(e,a,{hash:{},inverse:c.noop,fn:c.program(2,s,t),data:t})),(a||0===a)&&(o+=a),o+="\n\n "}function s(){var e="";return e}this.compilerInfo=[4,">= 1.0.0"],i=this.merge(i,e.helpers),n=n||{};var o,l="",c=this,d="function",p=i.blockHelperMissing;return l+='"},this.HandlebarsPrecompiled=this.HandlebarsPrecompiled||{},this.HandlebarsPrecompiled["web-display"]=this.HandlebarsPrecompiled["web-display"]||{},this.HandlebarsPrecompiled["web-display"].container=function(e,t,i,a,n){function r(e,t){var a,n="";return n+='\n
\n "}function s(e){var t;return m((t=e&&e.options,t=null==t||t===!1?t:t.labelClass,typeof t===f?t.apply(e):t))}function o(e,t){var a,n="";return n+='\n
\n \n ',a=e&&e.options,a=null==a||a===!1?a:a.helper,a=typeof a===f?a.apply(e):a,(a||0===a)&&(n+=a),n+="\n
\n "}function l(e){var t;return m((t=e&&e.options,t=null==t||t===!1?t:t.helperClass,typeof t===f?t.apply(e):t))}function c(){var e="";return e}this.compilerInfo=[4,">= 1.0.0"],i=this.merge(i,e.helpers),n=n||{};var d,p,u,h="",f="function",m=this.escapeExpression,g=this,v=i.blockHelperMissing;return h+='"},this.HandlebarsPrecompiled=this.HandlebarsPrecompiled||{},this.HandlebarsPrecompiled["web-display"]=this.HandlebarsPrecompiled["web-display"]||{},this.HandlebarsPrecompiled["web-display"]["control-any"]=function(e,t,i,a,n){this.compilerInfo=[4,">= 1.0.0"],i=this.merge(i,e.helpers),n=n||{};var r,s,o,l="",c=i.helperMissing;return l+='"},this.HandlebarsPrecompiled=this.HandlebarsPrecompiled||{},this.HandlebarsPrecompiled["web-display"]=this.HandlebarsPrecompiled["web-display"]||{},this.HandlebarsPrecompiled["web-display"]["control-checkbox"]=function(e,t,i,a,n){this.compilerInfo=[4,">= 1.0.0"],i=this.merge(i,e.helpers),n=n||{};var r,s,o,l="",c=i.helperMissing;return l+='"},this.HandlebarsPrecompiled=this.HandlebarsPrecompiled||{},this.HandlebarsPrecompiled["web-display"]=this.HandlebarsPrecompiled["web-display"]||{},this.HandlebarsPrecompiled["web-display"]["control-image"]=function(e,t,i,a,n){this.compilerInfo=[4,">= 1.0.0"],i=this.merge(i,e.helpers),n=n||{};var r,s,o="",l="function",c=this.escapeExpression;return o+=''},this.HandlebarsPrecompiled=this.HandlebarsPrecompiled||{},this.HandlebarsPrecompiled["web-display"]=this.HandlebarsPrecompiled["web-display"]||{},this.HandlebarsPrecompiled["web-display"]["control-radio"]=function(e,t,i,a,n){function r(e,t,a){var n,r,o,l="";return l+="\n ",r=i.compare||e&&e.compare,o={hash:{},inverse:d.noop,fn:d.program(2,s,t),data:t},n=r?r.call(e,e&&e.value,a&&a.data,o):p.call(e,"compare",e&&e.value,a&&a.data,o),(n||0===n)&&(l+=n),l+="\n "}function s(e,t){var a,n,r="";return r+="\n ",(n=i.text)?a=n.call(e,{hash:{},data:t}):(n=e&&e.text,a=typeof n===c?n.call(e,{hash:{},data:t}):n),(a||0===a)&&(r+=a),r+="\n "}this.compilerInfo=[4,">= 1.0.0"],i=this.merge(i,e.helpers),n=n||{};var o,l="",c="function",d=this,p=i.helperMissing;return l+='\n"},this.HandlebarsPrecompiled=this.HandlebarsPrecompiled||{},this.HandlebarsPrecompiled["web-display"]=this.HandlebarsPrecompiled["web-display"]||{},this.HandlebarsPrecompiled["web-display"]["control-select"]=function(e,t,i,a,n){function r(e,t,a){var n,r,o,l="";return l+="\n ",r=i.compare||e&&e.compare,o={hash:{},inverse:d.noop,fn:d.program(2,s,t),data:t},n=r?r.call(e,e&&e.value,a&&a.data,o):p.call(e,"compare",e&&e.value,a&&a.data,o),(n||0===n)&&(l+=n),l+="\n "}function s(e,t){var a,n,r="";return r+="\n ",(n=i.text)?a=n.call(e,{hash:{},data:t}):(n=e&&e.text,a=typeof n===c?n.call(e,{hash:{},data:t}):n),(a||0===a)&&(r+=a),r+="\n "}this.compilerInfo=[4,">= 1.0.0"],i=this.merge(i,e.helpers),n=n||{};var o,l="",c="function",d=this,p=i.helperMissing;return l+='\n"},this.HandlebarsPrecompiled=this.HandlebarsPrecompiled||{},this.HandlebarsPrecompiled["web-display"]=this.HandlebarsPrecompiled["web-display"]||{},this.HandlebarsPrecompiled["web-display"]["control-text"]=function(e,t,i,a,n){this.compilerInfo=[4,">= 1.0.0"],i=this.merge(i,e.helpers),n=n||{};var r,s,o="",l="function";return o+='"},this.HandlebarsPrecompiled=this.HandlebarsPrecompiled||{},this.HandlebarsPrecompiled["web-display"]=this.HandlebarsPrecompiled["web-display"]||{},this.HandlebarsPrecompiled["web-display"]["control-textarea"]=function(e,t,i,a,n){this.compilerInfo=[4,">= 1.0.0"],i=this.merge(i,e.helpers),n=n||{};var r,s,o="",l="function";return o+='"},this.HandlebarsPrecompiled=this.HandlebarsPrecompiled||{},this.HandlebarsPrecompiled["web-display"]=this.HandlebarsPrecompiled["web-display"]||{},this.HandlebarsPrecompiled["web-display"]["control-url"]=function(e,t,i,a,n){function r(e){var t,i="";return i+='target="'+f((t=e&&e.options,t=null==t||t===!1?t:t.anchorTarget,typeof t===h?t.apply(e):t))+'"'}function s(e){var t;return f((t=e&&e.options,t=null==t||t===!1?t:t.anchorTitle,typeof t===h?t.apply(e):t))}function o(e,t){var a,n;return(n=i.data)?a=n.call(e,{hash:{},data:t}):(n=e&&e.data,a=typeof n===h?n.call(e,{hash:{},data:t}):n),f(a)}function l(e){var t,i="";return i+="\n "+f((t=e&&e.options,t=null==t||t===!1?t:t.anchorTitle,typeof t===h?t.apply(e):t))+"\n "}function c(e,t){var a,n,r="";return r+="\n ",(n=i.data)?a=n.call(e,{hash:{},data:t}):(n=e&&e.data,a=typeof n===h?n.call(e,{hash:{},data:t}):n),r+=f(a)+"\n "}this.compilerInfo=[4,">= 1.0.0"],i=this.merge(i,e.helpers),n=n||{};var d,p,u="",h="function",f=this.escapeExpression,m=this;return u+='"},this.HandlebarsPrecompiled=this.HandlebarsPrecompiled||{},this.HandlebarsPrecompiled["web-display"]=this.HandlebarsPrecompiled["web-display"]||{},this.HandlebarsPrecompiled["web-display"].control=function(e,t,i,a,n){function r(e,t){var a,n,r="";return r+='\n
\n "}function s(e){var t;return m((t=e&&e.options,t=null==t||t===!1?t:t.labelClass,typeof t===f?t.apply(e):t))}function o(){var e="";return e}function l(e,t){var a,n="";return n+='\n
\n \n ',a=e&&e.options,a=null==a||a===!1?a:a.helper,a=typeof a===f?a.apply(e):a,(a||0===a)&&(n+=a),n+="\n
\n "}function c(e){var t;return m((t=e&&e.options,t=null==t||t===!1?t:t.helperClass,typeof t===f?t.apply(e):t))}this.compilerInfo=[4,">= 1.0.0"],i=this.merge(i,e.helpers),n=n||{};var d,p,u,h="",f="function",m=this.escapeExpression,g=this,v=i.blockHelperMissing;return h+='\n"},this.HandlebarsPrecompiled=this.HandlebarsPrecompiled||{},this.HandlebarsPrecompiled["web-display"]=this.HandlebarsPrecompiled["web-display"]||{},this.HandlebarsPrecompiled["web-display"].form=function(e,t,i,a,n){function r(){var e="";return e}function s(e,t){var a,n="";return n+="\n ",a=i.each.call(e,(a=e&&e.options,null==a||a===!1?a:a.buttons),{hash:{},inverse:v.noop,fn:v.program(4,o,t),data:t}),(a||0===a)&&(n+=a),n+="\n "}function o(e,t){var a,n,r,s="";return s+='\n
\n "}function l(){return'type="submit"'}function c(){return'type="reset"'}function d(e,t){var a,n,r="";return r+=g((a=null==t||t===!1?t:t.key,typeof a===m?a.apply(e):a))+'="',(n=i.value)?a=n.call(e,{hash:{},data:t}):(n=e&&e.value,a=typeof n===m?n.call(e,{hash:{},data:t}):n),r+=g(a)+'"'}this.compilerInfo=[4,">= 1.0.0"],i=this.merge(i,e.helpers),n=n||{};var p,u,h,f="",m="function",g=this.escapeExpression,v=this,y=i.helperMissing,b=i.blockHelperMissing;return f+='"},this.HandlebarsPrecompiled=this.HandlebarsPrecompiled||{},this.HandlebarsPrecompiled["web-edit"]=this.HandlebarsPrecompiled["web-edit"]||{},this.HandlebarsPrecompiled["web-edit"]["container-array-actionbar"]=function(e,t,i,a,n){function r(e,t){var a,n,r="";return r+='\n
\n "}function s(e){var t,i="";return i+='\n
\n '}function o(e,t){var a,n;return(n=i.label)?a=n.call(e,{hash:{},data:t}):(n=e&&e.label,a=typeof n===p?n.call(e,{hash:{},data:t}):n),a||0===a?a:""}this.compilerInfo=[4,">= 1.0.0"],i=this.merge(i,e.helpers),n=n||{};var l,c,d="",p="function",u=this.escapeExpression,h=this;return d+='"},this.HandlebarsPrecompiled=this.HandlebarsPrecompiled||{},this.HandlebarsPrecompiled["web-edit"]=this.HandlebarsPrecompiled["web-edit"]||{},this.HandlebarsPrecompiled["web-edit"]["container-array-toolbar"]=function(e,t,i,a,n){function r(){return" btn-group"}function s(e,t,a){var n,r,s,c="";return c+="\n\n ",r=i.compare||a&&a.compare,s={hash:{},inverse:v.noop,fn:v.program(4,o,t),data:t},n=r?r.call(e,a&&a.toolbarStyle,"link",s):y.call(e,"compare",a&&a.toolbarStyle,"link",s),(n||0===n)&&(c+=n),c+="\n\n ",r=i.compare||a&&a.compare,s={hash:{},inverse:v.noop,fn:v.program(6,l,t),data:t},n=r?r.call(e,a&&a.toolbarStyle,"button",s):y.call(e,"compare",a&&a.toolbarStyle,"button",s),(n||0===n)&&(c+=n),c+="\n\n "}function o(e){var t,i="";return i+='\n
',t=e&&e.label,t=typeof t===m?t.apply(e):t,(t||0===t)&&(i+=t),i+="\n "}function l(e,t){var a,n="";return n+='\n
\n "}function c(e){var t,i="";return i+='\n
\n '}function d(e,t){var a,n;return(n=i.label)?a=n.call(e,{hash:{},data:t}):(n=e&&e.label,a=typeof n===m?n.call(e,{hash:{},data:t}):n),a||0===a?a:""}this.compilerInfo=[4,">= 1.0.0"],i=this.merge(i,e.helpers),n=n||{};var p,u,h,f="",m="function",g=this.escapeExpression,v=this,y=i.helperMissing;return f+='"},this.HandlebarsPrecompiled=this.HandlebarsPrecompiled||{},this.HandlebarsPrecompiled["web-edit"]=this.HandlebarsPrecompiled["web-edit"]||{},this.HandlebarsPrecompiled["web-edit"]["container-array"]=function(e,t,i,a,n){function r(e,t){var a,n,r,o="";return o+="\n\n ",r={hash:{},inverse:c.noop,fn:c.program(2,s,t),data:t},(n=i.item)?a=n.call(e,r):(n=e&&e.item,a=typeof n===d?n.call(e,r):n),i.item||(a=p.call(e,a,{hash:{},inverse:c.noop,fn:c.program(2,s,t),data:t})),(a||0===a)&&(o+=a),o+="\n\n "}function s(){var e="";return e}this.compilerInfo=[4,">= 1.0.0"],i=this.merge(i,e.helpers),n=n||{};var o,l="",c=this,d="function",p=i.blockHelperMissing;return l+='"},this.HandlebarsPrecompiled=this.HandlebarsPrecompiled||{},this.HandlebarsPrecompiled["web-edit"]=this.HandlebarsPrecompiled["web-edit"]||{},this.HandlebarsPrecompiled["web-edit"]["container-object"]=function(e,t,i,a,n){function r(e,t){var a,n,r,o="";return o+="\n\n ",r={hash:{},inverse:c.noop,fn:c.program(2,s,t),data:t},(n=i.item)?a=n.call(e,r):(n=e&&e.item,a=typeof n===d?n.call(e,r):n),i.item||(a=p.call(e,a,{hash:{},inverse:c.noop,fn:c.program(2,s,t),data:t})),(a||0===a)&&(o+=a),o+="\n\n "}function s(){var e="";return e}this.compilerInfo=[4,">= 1.0.0"],i=this.merge(i,e.helpers),n=n||{};var o,l="",c=this,d="function",p=i.blockHelperMissing;return l+='"},this.HandlebarsPrecompiled=this.HandlebarsPrecompiled||{},this.HandlebarsPrecompiled["web-edit"]=this.HandlebarsPrecompiled["web-edit"]||{},this.HandlebarsPrecompiled["web-edit"]["container-table"]=function(e,t,i,a,n){function r(){return" btn-group"}function s(e,t,a){var n,r,s,c="";return c+="\n\n ",r=i.compare||a&&a.compare,s={hash:{},inverse:x.noop,fn:x.program(4,o,t),data:t},n=r?r.call(e,(n=a&&a.options,null==n||n===!1?n:n.toolbarStyle),"link",s):S.call(e,"compare",(n=a&&a.options,null==n||n===!1?n:n.toolbarStyle),"link",s),(n||0===n)&&(c+=n),c+="\n\n ",r=i.compare||a&&a.compare,s={hash:{},inverse:x.noop,fn:x.program(6,l,t),data:t},n=r?r.call(e,(n=a&&a.options,null==n||n===!1?n:n.toolbarStyle),"button",s):S.call(e,"compare",(n=a&&a.options,null==n||n===!1?n:n.toolbarStyle),"button",s),(n||0===n)&&(c+=n),c+="\n\n "}function o(e){var t,i="";return i+='\n
',t=e&&e.label,t=typeof t===w?t.apply(e):t,(t||0===t)&&(i+=t),i+="\n "}function l(e,t){var a,n="";return n+='\n
\n "}function c(e){var t,i="";return i+='\n
\n '}function d(e,t){var a,n;return(n=i.label)?a=n.call(e,{hash:{},data:t}):(n=e&&e.label,a=typeof n===w?n.call(e,{hash:{},data:t}):n),a||0===a?a:""}function p(e,t){var a,n,r="";return r+="\n
",(n=i.label)?a=n.call(e,{hash:{},data:t}):(n=e&&e.label,a=typeof n===w?n.call(e,{hash:{},data:t}):n),(a||0===a)&&(r+=a),r+=" | \n "}function u(e,t,a){var n,r="";return r+="\n
\n ",n=i.each.call(e,e&&e.data,{hash:{},inverse:x.noop,fn:x.program(14,h,t),data:t}),(n||0===n)&&(r+=n),r+='\n\n \n \n \n ',n=i.each.call(e,a&&a.arrayItemActions,{hash:{},inverse:x.noop,fn:x.program(16,f,t),data:t}),(n||0===n)&&(r+=n),r+="\n \n | \n
\n "}function h(e){var t,i="";return i+="\n
",t=typeof e===w?e.apply(e):e,(t||0===t)&&(i+=t),i+=" | \n "}function f(e,t){var a,n,r="";return r+='\n
\n "}function m(e){var t,i="";return i+='\n
\n '}this.compilerInfo=[4,">= 1.0.0"],i=this.merge(i,e.helpers),n=n||{};var g,v,y,b="",w="function",F=this.escapeExpression,x=this,S=i.helperMissing;return b+='"},this.HandlebarsPrecompiled=this.HandlebarsPrecompiled||{},this.HandlebarsPrecompiled["web-edit"]=this.HandlebarsPrecompiled["web-edit"]||{},this.HandlebarsPrecompiled["web-edit"].container=function(e,t,i,a,n){function r(e,t){var a,n="";return n+='\n
\n "}function s(e){var t;return m((t=e&&e.options,t=null==t||t===!1?t:t.labelClass,typeof t===f?t.apply(e):t))}function o(e,t){var a,n="";return n+='\n
\n \n ',a=e&&e.options,a=null==a||a===!1?a:a.helper,a=typeof a===f?a.apply(e):a,(a||0===a)&&(n+=a),n+="\n
\n "}function l(e){var t;return m((t=e&&e.options,t=null==t||t===!1?t:t.helperClass,typeof t===f?t.apply(e):t))}function c(){var e="";return e}this.compilerInfo=[4,">= 1.0.0"],i=this.merge(i,e.helpers),n=n||{};var d,p,u,h="",f="function",m=this.escapeExpression,g=this,v=i.blockHelperMissing;return h+='"},this.HandlebarsPrecompiled=this.HandlebarsPrecompiled||{},this.HandlebarsPrecompiled["web-edit"]=this.HandlebarsPrecompiled["web-edit"]||{},this.HandlebarsPrecompiled["web-edit"]["control-any"]=function(e,t,i,a,n){function r(){return'readonly="readonly"'}function s(e,t){var a,n,r="";return r+='name="',(n=i.name)?a=n.call(e,{hash:{},data:t}):(n=e&&e.name,a=typeof n===p?n.call(e,{hash:{},data:t}):n),r+=u(a)+'"'}function o(e,t){var i,a="";return a+="data-"+u((i=null==t||t===!1?t:t.key,typeof i===p?i.apply(e):i))+'="'+u(typeof e===p?e.apply(e):e)+'"'}this.compilerInfo=[4,">= 1.0.0"],i=this.merge(i,e.helpers),n=n||{};var l,c,d="",p="function",u=this.escapeExpression,h=this;return d+='"},this.HandlebarsPrecompiled=this.HandlebarsPrecompiled||{},this.HandlebarsPrecompiled["web-edit"]=this.HandlebarsPrecompiled["web-edit"]||{},this.HandlebarsPrecompiled["web-edit"]["control-checkbox"]=function(e,t,i,a,n){function r(e,t,a){var n,r="";return r+="\n\n ",n=i.each.call(e,e&&e.checkboxOptions,{hash:{},inverse:m.noop,fn:m.programWithDepth(2,s,t,a),data:t}),(n||0===n)&&(r+=n),r+="\n\n "}function s(e,t,a){var n,r,s="";return s+='\n\n
\n\n \n
\n\n "}function o(){return'readonly="readonly"'}function l(e,t){var a,n,r="";return r+='name="',(n=i.name)?a=n.call(e,{hash:{},data:t}):(n=e&&e.name,a=typeof n===h?n.call(e,{hash:{},data:t}):n),r+=f(a)+'"'}function c(e,t){var a,n,r="";return r+="data-"+f((a=null==t||t===!1?t:t.key,typeof a===h?a.apply(e):a))+'="',(n=i.value)?a=n.call(e,{hash:{},data:t}):(n=e&&e.value,a=typeof n===h?n.call(e,{hash:{},data:t}):n),r+=f(a)+'"'}function d(e,t){var a,n="";return n+='\n\n
\n\n \n\n
\n\n "}this.compilerInfo=[4,">= 1.0.0"],i=this.merge(i,e.helpers),n=n||{};var p,u="",h="function",f=this.escapeExpression,m=this;
+return u+='\n"},this.HandlebarsPrecompiled=this.HandlebarsPrecompiled||{},this.HandlebarsPrecompiled["web-edit"]=this.HandlebarsPrecompiled["web-edit"]||{},this.HandlebarsPrecompiled["web-edit"]["control-ckeditor"]=function(e,t,i,a,n){this.compilerInfo=[4,">= 1.0.0"],i=this.merge(i,e.helpers),n=n||{};var r,s,o="",l="function",c=this.escapeExpression;return o+=''},this.HandlebarsPrecompiled=this.HandlebarsPrecompiled||{},this.HandlebarsPrecompiled["web-edit"]=this.HandlebarsPrecompiled["web-edit"]||{},this.HandlebarsPrecompiled["web-edit"]["control-editor"]=function(e,t,i,a,n){this.compilerInfo=[4,">= 1.0.0"],i=this.merge(i,e.helpers),n=n||{};var r,s,o="",l="function",c=this.escapeExpression;return o+=''},this.HandlebarsPrecompiled=this.HandlebarsPrecompiled||{},this.HandlebarsPrecompiled["web-edit"]=this.HandlebarsPrecompiled["web-edit"]||{},this.HandlebarsPrecompiled["web-edit"]["control-file"]=function(e,t,i,a,n){function r(e){var t,i="";return i+='size="'+h((t=e&&e.options,t=null==t||t===!1?t:t.size,typeof t===u?t.apply(e):t))+'"'}function s(){return'readonly="readonly"'}function o(e,t){var a,n,r="";return r+='name="',(n=i.name)?a=n.call(e,{hash:{},data:t}):(n=e&&e.name,a=typeof n===u?n.call(e,{hash:{},data:t}):n),r+=h(a)+'"'}function l(e,t){var i,a="";return a+="data-"+h((i=null==t||t===!1?t:t.key,typeof i===u?i.apply(e):i))+'="'+h(typeof e===u?e.apply(e):e)+'"'}this.compilerInfo=[4,">= 1.0.0"],i=this.merge(i,e.helpers),n=n||{};var c,d,p="",u="function",h=this.escapeExpression,f=this;return p+='"},this.HandlebarsPrecompiled=this.HandlebarsPrecompiled||{},this.HandlebarsPrecompiled["web-edit"]=this.HandlebarsPrecompiled["web-edit"]||{},this.HandlebarsPrecompiled["web-edit"]["control-hidden"]=function(e,t,i,a,n){function r(e,t){var a,n,r="";return r+='name="',(n=i.name)?a=n.call(e,{hash:{},data:t}):(n=e&&e.name,a=typeof n===d?n.call(e,{hash:{},data:t}):n),r+=p(a)+'"'}function s(e,t){var i,a="";return a+="data-"+p((i=null==t||t===!1?t:t.key,typeof i===d?i.apply(e):i))+'="'+p(typeof e===d?e.apply(e):e)+'"'}this.compilerInfo=[4,">= 1.0.0"],i=this.merge(i,e.helpers),n=n||{};var o,l,c="",d="function",p=this.escapeExpression,u=this;return c+='"},this.HandlebarsPrecompiled=this.HandlebarsPrecompiled||{},this.HandlebarsPrecompiled["web-edit"]=this.HandlebarsPrecompiled["web-edit"]||{},this.HandlebarsPrecompiled["web-edit"]["control-image"]=function(e,t,i,a,n){function r(e){var t,i="";return i+='placeholder="'+f((t=e&&e.options,t=null==t||t===!1?t:t.placeholder,typeof t===h?t.apply(e):t))+'"'}function s(e){var t,i="";return i+='size="'+f((t=e&&e.options,t=null==t||t===!1?t:t.size,typeof t===h?t.apply(e):t))+'"'}function o(){return'readonly="readonly"'}function l(e,t){var a,n,r="";return r+='name="',(n=i.name)?a=n.call(e,{hash:{},data:t}):(n=e&&e.name,a=typeof n===h?n.call(e,{hash:{},data:t}):n),r+=f(a)+'"'}function c(e,t){var i,a="";return a+="data-"+f((i=null==t||t===!1?t:t.key,typeof i===h?i.apply(e):i))+'="'+f(typeof e===h?e.apply(e):e)+'"'}this.compilerInfo=[4,">= 1.0.0"],i=this.merge(i,e.helpers),n=n||{};var d,p,u="",h="function",f=this.escapeExpression,m=this;return u+=''},this.HandlebarsPrecompiled=this.HandlebarsPrecompiled||{},this.HandlebarsPrecompiled["web-edit"]=this.HandlebarsPrecompiled["web-edit"]||{},this.HandlebarsPrecompiled["web-edit"]["control-password"]=function(e,t,i,a,n){function r(e){var t,i="";return i+='placeholder="'+f((t=e&&e.options,t=null==t||t===!1?t:t.placeholder,typeof t===h?t.apply(e):t))+'"'}function s(e){var t,i="";return i+='size="'+f((t=e&&e.options,t=null==t||t===!1?t:t.size,typeof t===h?t.apply(e):t))+'"'}function o(){return'readonly="readonly"'}function l(e,t){var a,n,r="";return r+='name="',(n=i.name)?a=n.call(e,{hash:{},data:t}):(n=e&&e.name,a=typeof n===h?n.call(e,{hash:{},data:t}):n),r+=f(a)+'"'}function c(e,t){var i,a="";return a+="data-"+f((i=null==t||t===!1?t:t.key,typeof i===h?i.apply(e):i))+'="'+f(typeof e===h?e.apply(e):e)+'"'}this.compilerInfo=[4,">= 1.0.0"],i=this.merge(i,e.helpers),n=n||{};var d,p,u="",h="function",f=this.escapeExpression,m=this;return u+='"},this.HandlebarsPrecompiled=this.HandlebarsPrecompiled||{},this.HandlebarsPrecompiled["web-edit"]=this.HandlebarsPrecompiled["web-edit"]||{},this.HandlebarsPrecompiled["web-edit"]["control-radio"]=function(e,t,i,a,n,r){function s(){return"\n "}function o(e,t){var a,n,r="";return r+='\n
\n \n
\n "}function l(){return'readonly="readonly"'}function c(e,t,a){var n,r,s,o="";return o+='\n
\n \n
\n "}function d(){return'checked="checked"'}this.compilerInfo=[4,">= 1.0.0"],i=this.merge(i,e.helpers),n=n||{};var p,u="",h=this,f="function",m=this.escapeExpression,g=i.helperMissing;return u+='"},this.HandlebarsPrecompiled=this.HandlebarsPrecompiled||{},this.HandlebarsPrecompiled["web-edit"]=this.HandlebarsPrecompiled["web-edit"]||{},this.HandlebarsPrecompiled["web-edit"]["control-select"]=function(e,t,i,a,n){function r(){return'readonly="readonly"'}function s(){return'multiple="multiple"'}function o(e){var t,i="";return i+='size="'+F((t=e&&e.options,t=null==t||t===!1?t:t.size,typeof t===w?t.apply(e):t))+'"'}function l(e,t){var a,n,r="";return r+='name="',(n=i.name)?a=n.call(e,{hash:{},data:t}):(n=e&&e.name,a=typeof n===w?n.call(e,{hash:{},data:t}):n),r+=F(a)+'"'}function c(e,t){var a,n="";return n+="\n\n ",a=i["if"].call(e,e&&e.hideNone,{hash:{},inverse:x.program(12,p,t),fn:x.program(10,d,t),data:t}),(a||0===a)&&(n+=a),n+="\n\n ",a=i.each.call(e,e&&e.selectOptions,{hash:{},inverse:x.noop,fn:x.programWithDepth(14,u,t,e),data:t}),(a||0===a)&&(n+=a),n+="\n\n "}function d(){return"\n "}function p(e,t){var a,n,r="";return r+='\n
\n "}function u(e,t,a){var n,r,s="";return s+='\n
\n "}function h(e,t,a){var n,r,s;return r=i.compare||e&&e.compare,s={hash:{},inverse:x.noop,fn:x.program(16,f,t),data:t},n=r?r.call(e,e&&e.value,a&&a.value,s):S.call(e,"compare",e&&e.value,a&&a.value,s),n||0===n?n:""}function f(){return'selected="selected"'}function m(e,t,a){var n,r="";return r+="\n\n ",n=i["if"].call(e,e&&e.hideNone,{hash:{},inverse:x.program(12,p,t),fn:x.program(10,d,t),data:t}),(n||0===n)&&(r+=n),r+="\n\n ",n=i.each.call(e,e&&e.selectOptions,{hash:{},inverse:x.noop,fn:x.programWithDepth(19,g,t,a),data:t}),(n||0===n)&&(r+=n),r+="\n\n "}function g(e,t,a){var n,r,s,o="";return o+='\n
\n "}this.compilerInfo=[4,">= 1.0.0"],i=this.merge(i,e.helpers),n=n||{};var v,y,b="",w="function",F=this.escapeExpression,x=this,S=i.helperMissing;return b+='"},this.HandlebarsPrecompiled=this.HandlebarsPrecompiled||{},this.HandlebarsPrecompiled["web-edit"]=this.HandlebarsPrecompiled["web-edit"]||{},this.HandlebarsPrecompiled["web-edit"]["control-text"]=function(e,t,i,a,n){function r(e){var t,i="";return i+='placeholder="'+m((t=e&&e.options,t=null==t||t===!1?t:t.placeholder,typeof t===f?t.apply(e):t))+'"'}function s(e){var t,i="";return i+='size="'+m((t=e&&e.options,t=null==t||t===!1?t:t.size,typeof t===f?t.apply(e):t))+'"'}function o(){return'readonly="readonly"'}function l(e,t){var a,n,r="";return r+='name="',(n=i.name)?a=n.call(e,{hash:{},data:t}):(n=e&&e.name,a=typeof n===f?n.call(e,{hash:{},data:t}):n),r+=m(a)+'"'}function c(e,t){var i,a="";return a+="data-"+m((i=null==t||t===!1?t:t.key,typeof i===f?i.apply(e):i))+'="'+m(typeof e===f?e.apply(e):e)+'"'}function d(e,t){var i,a="";return a+=m((i=null==t||t===!1?t:t.key,typeof i===f?i.apply(e):i))+'="'+m(typeof e===f?e.apply(e):e)+'"'}this.compilerInfo=[4,">= 1.0.0"],i=this.merge(i,e.helpers),n=n||{};var p,u,h="",f="function",m=this.escapeExpression,g=this;return h+='"},this.HandlebarsPrecompiled=this.HandlebarsPrecompiled||{},this.HandlebarsPrecompiled["web-edit"]=this.HandlebarsPrecompiled["web-edit"]||{},this.HandlebarsPrecompiled["web-edit"]["control-textarea"]=function(e,t,i,a,n){function r(e){var t,i="";return i+='placeholder="'+m((t=e&&e.options,t=null==t||t===!1?t:t.placeholder,typeof t===f?t.apply(e):t))+'"'}function s(e){var t,i="";return i+='rows="'+m((t=e&&e.options,t=null==t||t===!1?t:t.rows,typeof t===f?t.apply(e):t))+'"'}function o(e){var t,i="";return i+='cols="'+m((t=e&&e.options,t=null==t||t===!1?t:t.cols,typeof t===f?t.apply(e):t))+'"'}function l(){return'readonly="readonly"'}function c(e,t){var a,n,r="";return r+='name="',(n=i.name)?a=n.call(e,{hash:{},data:t}):(n=e&&e.name,a=typeof n===f?n.call(e,{hash:{},data:t}):n),r+=m(a)+'"'}function d(e,t){var a,n,r="";return r+="data-",(n=i.fieldId)?a=n.call(e,{hash:{},data:t}):(n=e&&e.fieldId,a=typeof n===f?n.call(e,{hash:{},data:t}):n),r+=m(a)+'="',(n=i.value)?a=n.call(e,{hash:{},data:t}):(n=e&&e.value,a=typeof n===f?n.call(e,{hash:{},data:t}):n),(a||0===a)&&(r+=a),r+='"'}this.compilerInfo=[4,">= 1.0.0"],i=this.merge(i,e.helpers),n=n||{};var p,u,h="",f="function",m=this.escapeExpression,g=this;return h+='"},this.HandlebarsPrecompiled=this.HandlebarsPrecompiled||{},this.HandlebarsPrecompiled["web-edit"]=this.HandlebarsPrecompiled["web-edit"]||{},this.HandlebarsPrecompiled["web-edit"]["control-url"]=function(e,t,i,a,n){function r(e){var t,i="";return i+='placeholder="'+f((t=e&&e.options,t=null==t||t===!1?t:t.placeholder,typeof t===h?t.apply(e):t))+'"'}function s(e){var t,i="";return i+='size="'+f((t=e&&e.options,t=null==t||t===!1?t:t.size,typeof t===h?t.apply(e):t))+'"'}function o(){return'readonly="readonly"'}function l(e,t){var a,n,r="";return r+='name="',(n=i.name)?a=n.call(e,{hash:{},data:t}):(n=e&&e.name,a=typeof n===h?n.call(e,{hash:{},data:t}):n),r+=f(a)+'"'}function c(e,t){var i,a="";return a+="data-"+f((i=null==t||t===!1?t:t.key,typeof i===h?i.apply(e):i))+'="'+f(typeof e===h?e.apply(e):e)+'"'}this.compilerInfo=[4,">= 1.0.0"],i=this.merge(i,e.helpers),n=n||{};var d,p,u="",h="function",f=this.escapeExpression,m=this;return u+='"},this.HandlebarsPrecompiled=this.HandlebarsPrecompiled||{},this.HandlebarsPrecompiled["web-edit"]=this.HandlebarsPrecompiled["web-edit"]||{},this.HandlebarsPrecompiled["web-edit"].control=function(e,t,i,a,n){function r(e,t){var a,n,r="";return r+='\n
\n "}function s(e){var t;return m((t=e&&e.options,t=null==t||t===!1?t:t.labelClass,typeof t===f?t.apply(e):t))}function o(){var e="";return e}function l(e,t){var a,n="";return n+='\n
\n \n ',a=e&&e.options,a=null==a||a===!1?a:a.helper,a=typeof a===f?a.apply(e):a,(a||0===a)&&(n+=a),n+="\n
\n "}function c(e){var t;return m((t=e&&e.options,t=null==t||t===!1?t:t.helperClass,typeof t===f?t.apply(e):t))}this.compilerInfo=[4,">= 1.0.0"],i=this.merge(i,e.helpers),n=n||{};var d,p,u,h="",f="function",m=this.escapeExpression,g=this,v=i.blockHelperMissing;return h+='"},this.HandlebarsPrecompiled=this.HandlebarsPrecompiled||{},this.HandlebarsPrecompiled["web-edit"]=this.HandlebarsPrecompiled["web-edit"]||{},this.HandlebarsPrecompiled["web-edit"].form=function(e,t,i,a,n){function r(){var e="";return e}function s(e,t){var a,n="";return n+="\n ",a=i.each.call(e,(a=e&&e.options,null==a||a===!1?a:a.buttons),{hash:{},inverse:m.noop,fn:m.program(4,o,t),data:t}),(a||0===a)&&(n+=a),n+="\n "}function o(e,t){var a,n,r="";return r+='\n
\n "}function l(e,t){var a,n,r="";return r+=f((a=null==t||t===!1?t:t.key,typeof a===h?a.apply(e):a))+'="',(n=i.value)?a=n.call(e,{hash:{},data:t}):(n=e&&e.value,a=typeof n===h?n.call(e,{hash:{},data:t}):n),r+=f(a)+'"'}this.compilerInfo=[4,">= 1.0.0"],i=this.merge(i,e.helpers),n=n||{};var c,d,p,u="",h="function",f=this.escapeExpression,m=this,g=i.blockHelperMissing;return u+='"},this.HandlebarsPrecompiled=this.HandlebarsPrecompiled||{},this.HandlebarsPrecompiled["web-edit"]=this.HandlebarsPrecompiled["web-edit"]||{},this.HandlebarsPrecompiled["web-edit"].message=function(e,t,i,a,n){this.compilerInfo=[4,">= 1.0.0"],i=this.merge(i,e.helpers),n=n||{};var r,s,o="",l="function";return o+='"},this.HandlebarsPrecompiled=this.HandlebarsPrecompiled||{},this.HandlebarsPrecompiled["web-edit"]=this.HandlebarsPrecompiled["web-edit"]||{},this.HandlebarsPrecompiled["web-edit"].wizard=function(e,t,i,a,n){function r(e,t){var a,n="";return n+='\n
\n
\n
\n "}function s(e,t){var a,n,r="";return r+='\n
\n \n
',(n=i.title)?a=n.call(e,{hash:{},data:t}):(n=e&&e.title,a=typeof n===m?n.call(e,{hash:{},data:t}):n),(a||0===a)&&(r+=a),r+='
\n
',(n=i.description)?a=n.call(e,{hash:{},data:t}):(n=e&&e.description,a=typeof n===m?n.call(e,{hash:{},data:t}):n),(a||0===a)&&(r+=a),r+='
\n
\n \n \n '}function o(){return'\n
\n '}function l(e,t){var a,n,r="";return r+="\n
",(n=i.wizardTitle)?a=n.call(e,{hash:{},data:t}):(n=e&&e.wizardTitle,a=typeof n===m?n.call(e,{hash:{},data:t}):n),(a||0===a)&&(r+=a),r+="
\n "}function c(e,t){var a,n,r="";return r+="\n
",(n=i.wizardDescription)?a=n.call(e,{hash:{},data:t}):(n=e&&e.wizardDescription,a=typeof n===m?n.call(e,{hash:{},data:t}):n),(a||0===a)&&(r+=a),r+="
\n "}function d(e,t){var a,n,r,s="";return s+="\n ",n=i.compare||e&&e.compare,r={hash:{},inverse:v.noop,fn:v.program(11,p,t),data:t},a=n?n.call(e,e&&e.align,"left",r):y.call(e,"compare",e&&e.align,"left",r),(a||0===a)&&(s+=a),s+="\n "}function p(e,t){var a,n,r="";return r+='\n
\n "}function u(e,t){var a,n,r,s="";return s+="\n ",n=i.compare||e&&e.compare,r={hash:{},inverse:v.noop,fn:v.program(11,p,t),data:t},a=n?n.call(e,e&&e.align,"right",r):y.call(e,"compare",e&&e.align,"right",r),(a||0===a)&&(s+=a),s+="\n "}this.compilerInfo=[4,">= 1.0.0"],i=this.merge(i,e.helpers),n=n||{};var h,f="",m="function",g=this.escapeExpression,v=this,y=i.helperMissing;return f+=''},function(e,t,i){t[e]=i()}("Base",this,function(){var e=function(){};return e.extend=function(t,i){var a=e.prototype.extend;e._prototyping=!0;var n=new this;a.call(n,t),n.base=function(){},delete e._prototyping;var r=n.constructor,s=n.constructor=function(){if(!e._prototyping)if(this._constructing||this.constructor===s)this._constructing=!0,r.apply(this,arguments),delete this._constructing;else if(null!==arguments[0])return(arguments[0].extend||a).call(arguments[0],n)};return s.ancestor=this,s.extend=this.extend,s.forEach=this.forEach,s.implement=this.implement,s.prototype=n,s.toString=this.toString,s.valueOf=function(e){return"object"===e?s:r.valueOf()},a.call(s,i),"function"==typeof s.init&&s.init(),s},e.prototype={extend:function(t,i){if(arguments.length>1){var a=this[t];if(a&&"function"==typeof i&&(!a.valueOf||a.valueOf()!==i.valueOf())&&/\bbase\b/.test(i)){var n=i.valueOf();i=function(){var t=this.base||e.prototype.base;this.base=a;var i=n.apply(this,arguments);return this.base=t,i},i.valueOf=function(e){return"object"===e?i:n},i.toString=e.toString}this[t]=i}else if(t){var r=e.prototype.extend;e._prototyping||"function"==typeof this||(r=this.extend||r);for(var s={toSource:null},o=["constructor","toString","valueOf"],l=e._prototyping?0:1;l
=2&&(t.isObject(i[1])?(n=i[1].data,r=i[1].schema,s=i[1].options,o=i[1].view,l=i[1].render,c=i[1].postRender,d=i[1].error,p=i[1].connector,f=i[1].dataSource,m=i[1].schemaSource,g=i[1].optionsSource,v=i[1].viewSource,i[1].ui&&(h.ui=i[1].ui),i[1].type&&(h.type=i[1].type),t.isEmpty(i[1].notTopLevel)||(u=i[1].notTopLevel)):(n=i[1],t.isFunction(n)&&(n=n()))),t.isEmpty(d)&&(d=t.defaultErrorCallback),t.isEmpty(p)){var T=t.getConnectorClass("default");
+p=new T("default")}a&&t.isString(a)&&(a=e("#"+a));var C=p;if(u){var O=t.getConnectorClass("default");C=new O("default")}s||(s={});var I=function(e){e.parent||(e.hideInitValidationError||e.refreshValidationState(!0),"view"!==e.view.type&&t.fieldApplyFieldAndChildren(e,function(e){e.hideInitValidationError=!1}))},k=function(e){e.parent||(e.observableScope=t.generateId()),t.isUndefined(s.focus)&&!e.parent&&(s.focus=t.defaultFocus),s&&s.focus?window.setTimeout(function(){var t=function(e){e.suspendBlurFocus=!0,e.focus(),e.suspendBlurFocus=!1};if(s.focus){if(e.isControlField&&e.isAutoFocusable())t(e);else if(e.isContainerField)if(s.focus===!0){if(e.children&&e.children.length>0)for(var i=0;i"+i+" ",a=e(i).children()}return a}return i},isEmpty:function(e){var i=this;if(t.isUndefined(e))return!0;if(null===e)return!0;if(e&&t.isObject(e)){var a=i.countProperties(e);if(0===a)return!0}return!1},countProperties:function(e){var i=0;if(e&&t.isObject(e))for(var a in e)e.hasOwnProperty(a)&&"function"!=typeof e[a]&&i++;return i},copyOf:function(i){var a=i;if(t.isArray(i)){a=[];for(var n=0;n