summaryrefslogtreecommitdiff
path: root/plugins/forms/dialogs/select.js
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/forms/dialogs/select.js')
-rwxr-xr-xplugins/forms/dialogs/select.js85
1 files changed, 85 insertions, 0 deletions
diff --git a/plugins/forms/dialogs/select.js b/plugins/forms/dialogs/select.js
new file mode 100755
index 0000000..22afbb7
--- /dev/null
+++ b/plugins/forms/dialogs/select.js
@@ -0,0 +1,85 @@
+/*
+ Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
+ For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.dialog.add("select", function(c) {
+ function h(a, b, e, d, c) { a = f(a); d = d ? d.createElement("OPTION") : document.createElement("OPTION"); if (a && d && "option" == d.getName()) CKEDITOR.env.ie ? (isNaN(parseInt(c, 10)) ? a.$.options.add(d.$) : a.$.options.add(d.$, c), d.$.innerHTML = 0 < b.length ? b : "", d.$.value = e) : (null !== c && c < a.getChildCount() ? a.getChild(0 > c ? 0 : c).insertBeforeMe(d) : a.append(d), d.setText(0 < b.length ? b : ""), d.setValue(e)); else return !1; return d } function p(a) {
+ a = f(a); for (var b = g(a), e = a.getChildren().count() - 1; 0 <=
+ e; e--)a.getChild(e).$.selected && a.getChild(e).remove(); k(a, b)
+ } function q(a, b, e, d) { a = f(a); if (0 > b) return !1; a = a.getChild(b); a.setText(e); a.setValue(d); return a } function m(a) { for (a = f(a); a.getChild(0) && a.getChild(0).remove();); } function l(a, b, e) { a = f(a); var d = g(a); if (0 > d) return !1; b = d + b; b = 0 > b ? 0 : b; b = b >= a.getChildCount() ? a.getChildCount() - 1 : b; if (d == b) return !1; var d = a.getChild(d), c = d.getText(), r = d.getValue(); d.remove(); d = h(a, c, r, e ? e : null, b); k(a, b); return d } function g(a) { return (a = f(a)) ? a.$.selectedIndex : -1 }
+ function k(a, b) { a = f(a); if (0 > b) return null; var e = a.getChildren().count(); a.$.selectedIndex = b >= e ? e - 1 : b; return a } function n(a) { return (a = f(a)) ? a.getChildren() : !1 } function f(a) { return a && a.domId && a.getInputElement().$ ? a.getInputElement() : a && a.$ ? a : !1 } return {
+ title: c.lang.forms.select.title, minWidth: CKEDITOR.env.ie ? 460 : 395, minHeight: CKEDITOR.env.ie ? 320 : 300, onShow: function() {
+ delete this.selectBox; this.setupContent("clear"); var a = this.getParentEditor().getSelection().getSelectedElement(); if (a && "select" == a.getName()) {
+ this.selectBox =
+ a; this.setupContent(a.getName(), a); for (var a = n(a), b = 0; b < a.count(); b++)this.setupContent("option", a.getItem(b))
+ }
+ }, onOk: function() { var a = this.getParentEditor(), b = this.selectBox, e = !b; e && (b = a.document.createElement("select")); this.commitContent(b); if (e && (a.insertElement(b), CKEDITOR.env.ie)) { var d = a.getSelection(), c = d.createBookmarks(); setTimeout(function() { d.selectBookmarks(c) }, 0) } }, contents: [{
+ id: "info", label: c.lang.forms.select.selectInfo, title: c.lang.forms.select.selectInfo, accessKey: "", elements: [{
+ id: "txtName",
+ type: "text", widths: ["25%", "75%"], labelLayout: "horizontal", label: c.lang.common.name, "default": "", accessKey: "N", style: "width:350px", setup: function(a, b) { "clear" == a ? this.setValue(this["default"] || "") : "select" == a && this.setValue(b.data("cke-saved-name") || b.getAttribute("name") || "") }, commit: function(a) { this.getValue() ? a.data("cke-saved-name", this.getValue()) : (a.data("cke-saved-name", !1), a.removeAttribute("name")) }
+ }, {
+ id: "txtValue", type: "text", widths: ["25%", "75%"], labelLayout: "horizontal", label: c.lang.forms.select.value,
+ style: "width:350px", "default": "", className: "cke_disabled", onLoad: function() { this.getInputElement().setAttribute("readOnly", !0) }, setup: function(a, b) { "clear" == a ? this.setValue("") : "option" == a && b.getAttribute("selected") && this.setValue(b.$.value) }
+ }, {
+ type: "hbox", className: "cke_dialog_forms_select_order_txtsize", widths: ["175px", "170px"], children: [{
+ id: "txtSize", type: "text", labelLayout: "horizontal", label: c.lang.forms.select.size, "default": "", accessKey: "S", style: "width:175px", validate: function() {
+ var a = CKEDITOR.dialog.validate.integer(c.lang.common.validateNumberFailed);
+ return "" === this.getValue() || a.apply(this)
+ }, setup: function(a, b) { "select" == a && this.setValue(b.getAttribute("size") || ""); CKEDITOR.env.webkit && this.getInputElement().setStyle("width", "86px") }, commit: function(a) { this.getValue() ? a.setAttribute("size", this.getValue()) : a.removeAttribute("size") }
+ }, { type: "html", html: "\x3cspan\x3e" + CKEDITOR.tools.htmlEncode(c.lang.forms.select.lines) + "\x3c/span\x3e" }]
+ }, { type: "html", html: "\x3cspan\x3e" + CKEDITOR.tools.htmlEncode(c.lang.forms.select.opAvail) + "\x3c/span\x3e" }, {
+ type: "hbox",
+ widths: ["115px", "115px", "100px"], className: "cke_dialog_forms_select_order", children: [{
+ type: "vbox", children: [{ id: "txtOptName", type: "text", label: c.lang.forms.select.opText, style: "width:115px", setup: function(a) { "clear" == a && this.setValue("") } }, {
+ type: "select", id: "cmbName", label: "", title: "", size: 5, style: "width:115px;height:75px", items: [], onChange: function() {
+ var a = this.getDialog(), b = a.getContentElement("info", "cmbValue"), e = a.getContentElement("info", "txtOptName"), a = a.getContentElement("info", "txtOptValue"),
+ d = g(this); k(b, d); e.setValue(this.getValue()); a.setValue(b.getValue())
+ }, setup: function(a, b) { "clear" == a ? m(this) : "option" == a && h(this, b.getText(), b.getText(), this.getDialog().getParentEditor().document) }, commit: function(a) {
+ var b = this.getDialog(), e = n(this), d = n(b.getContentElement("info", "cmbValue")), c = b.getContentElement("info", "txtValue").getValue(); m(a); for (var f = 0; f < e.count(); f++) {
+ var g = h(a, e.getItem(f).getValue(), d.getItem(f).getValue(), b.getParentEditor().document); d.getItem(f).getValue() == c && (g.setAttribute("selected",
+ "selected"), g.selected = !0)
+ }
+ }
+ }]
+ }, {
+ type: "vbox", children: [{ id: "txtOptValue", type: "text", label: c.lang.forms.select.opValue, style: "width:115px", setup: function(a) { "clear" == a && this.setValue("") } }, {
+ type: "select", id: "cmbValue", label: "", size: 5, style: "width:115px;height:75px", items: [], onChange: function() { var a = this.getDialog(), b = a.getContentElement("info", "cmbName"), e = a.getContentElement("info", "txtOptName"), a = a.getContentElement("info", "txtOptValue"), d = g(this); k(b, d); e.setValue(b.getValue()); a.setValue(this.getValue()) },
+ setup: function(a, b) { if ("clear" == a) m(this); else if ("option" == a) { var e = b.getValue(); h(this, e, e, this.getDialog().getParentEditor().document); "selected" == b.getAttribute("selected") && this.getDialog().getContentElement("info", "txtValue").setValue(e) } }
+ }]
+ }, {
+ type: "vbox", padding: 5, children: [{
+ type: "button", id: "btnAdd", label: c.lang.forms.select.btnAdd, title: c.lang.forms.select.btnAdd, style: "width:100%;", onClick: function() {
+ var a = this.getDialog(), b = a.getContentElement("info", "txtOptName"), e = a.getContentElement("info",
+ "txtOptValue"), d = a.getContentElement("info", "cmbName"), c = a.getContentElement("info", "cmbValue"); h(d, b.getValue(), b.getValue(), a.getParentEditor().document); h(c, e.getValue(), e.getValue(), a.getParentEditor().document); b.setValue(""); e.setValue("")
+ }
+ }, {
+ type: "button", id: "btnModify", label: c.lang.forms.select.btnModify, title: c.lang.forms.select.btnModify, style: "width:100%;", onClick: function() {
+ var a = this.getDialog(), b = a.getContentElement("info", "txtOptName"), e = a.getContentElement("info", "txtOptValue"), d =
+ a.getContentElement("info", "cmbName"), a = a.getContentElement("info", "cmbValue"), c = g(d); 0 <= c && (q(d, c, b.getValue(), b.getValue()), q(a, c, e.getValue(), e.getValue()))
+ }
+ }, { type: "button", id: "btnUp", style: "width:100%;", label: c.lang.forms.select.btnUp, title: c.lang.forms.select.btnUp, onClick: function() { var a = this.getDialog(), b = a.getContentElement("info", "cmbName"), c = a.getContentElement("info", "cmbValue"); l(b, -1, a.getParentEditor().document); l(c, -1, a.getParentEditor().document) } }, {
+ type: "button", id: "btnDown", style: "width:100%;",
+ label: c.lang.forms.select.btnDown, title: c.lang.forms.select.btnDown, onClick: function() { var a = this.getDialog(), b = a.getContentElement("info", "cmbName"), c = a.getContentElement("info", "cmbValue"); l(b, 1, a.getParentEditor().document); l(c, 1, a.getParentEditor().document) }
+ }]
+ }]
+ }, {
+ type: "hbox", widths: ["40%", "20%", "40%"], children: [{
+ type: "button", id: "btnSetValue", label: c.lang.forms.select.btnSetValue, title: c.lang.forms.select.btnSetValue, onClick: function() {
+ var a = this.getDialog(), b = a.getContentElement("info", "cmbValue");
+ a.getContentElement("info", "txtValue").setValue(b.getValue())
+ }
+ }, { type: "button", id: "btnDelete", label: c.lang.forms.select.btnDelete, title: c.lang.forms.select.btnDelete, onClick: function() { var a = this.getDialog(), b = a.getContentElement("info", "cmbName"), c = a.getContentElement("info", "cmbValue"), d = a.getContentElement("info", "txtOptName"), a = a.getContentElement("info", "txtOptValue"); p(b); p(c); d.setValue(""); a.setValue("") } }, {
+ type: "vbox", children: [{
+ id: "chkMulti", type: "checkbox", label: c.lang.forms.select.chkMulti,
+ "default": "", accessKey: "M", value: "checked", setup: function(a, b) { "select" == a && this.setValue(b.getAttribute("multiple")) }, commit: function(a) { this.getValue() ? a.setAttribute("multiple", this.getValue()) : a.removeAttribute("multiple") }
+ }, {
+ id: "required", type: "checkbox", label: c.lang.forms.select.required, "default": "", accessKey: "Q", value: "checked", setup: function(a, b) { "select" == a && CKEDITOR.plugins.forms._setupRequiredAttribute.call(this, b) }, commit: function(a) {
+ this.getValue() ? a.setAttribute("required", "required") :
+ a.removeAttribute("required")
+ }
+ }]
+ }]
+ }]
+ }]
+ }
+}); \ No newline at end of file