(function($){ var getScript = $.getScript; $.extend({ getScript: function( resources, callback ) { var length = resources.length, handler = function() { counter++; }, deferreds = [], counter = 0, idx = 0; for ( ; idx < length; idx++ ) { deferreds.push( getScript( resources[ idx ], handler ) ); } jQuery.when.apply( null, deferreds ).then(function() { callback && callback(); }); }, getCss: function(resources, callback, location = null) { $.when.apply($, $.map(resources, function(resource) { if ($('head').children('link[href="' + resource + '"]').length) { console.warn('Bu CSS dosyası daha önce addnmiş: ' + resource); } return $.get(resource, function() { if(location){ var insertLocation = location; }else{ var insertLocation = 'link[href="' + THEME_DIR + 'plugins/css/ilter.css"]'; } $('').insertBefore(insertLocation); }); }) ).then(function() { $.when.apply( null ).then(function() { callback && callback(); }); }); } }); $.fn.insertText = function (text) { return this.each(function () { if (document.selection && this.tagName == 'TEXTAREA') { //IE textarea support this.focus(); sel = document.selection.createRange(); sel.text = text; this.focus(); } else if (this.selectionStart || this.selectionStart == '0') { //MOZILLA/NETSCAPE support startPos = this.selectionStart; endPos = this.selectionEnd; scrollTop = this.scrollTop; this.value = this.value.substring(0, startPos) + text + this.value.substring(endPos, this.value.length); this.focus(); this.selectionStart = startPos + text.length; this.selectionEnd = startPos + text.length; this.scrollTop = scrollTop; } else { // IE input[type=text] and other browsers this.value += text; this.focus(); this.value = this.value; // forces cursor to end } }); }; $.fn.focusToEnd = function() { return this.each(function() { var v = $(this).val(); $(this).focus().val("").val(v); }); }; $.fn.iPopover = function (options, ipop) { var _this = $(this); _this.popover(options); _this.on('show.bs.popover', function(e){ $(e.target).attr('popover-opened', 'true'); $('[data-plugin-popover][popover-opened="true"]').not(e.target).popover('hide'); }); _this.on('hide.bs.popover', function(e){ if(ipop.scroll==true){ $(_this.data('bs.popover').tip.lastChild).find('.mCustomScrollbar').each(function () { $(this).mCustomScrollbar('destroy'); }); } $(_this.data('bs.popover').tip.lastChild).find('input, select, textarea').each(function () { if ($(this).is('[type="radio"]') || $(this).is('[type="checkbox"]')) { if ($(this).prop('checked')) { $(this).attr('checked', 'checked'); } else { $(this).removeAttr('checked'); } } else { if ($(this).is('select')) { $(this).find(':selected').attr('selected', 'selected'); } else { $(this).attr('value', $(this).val()); } } }); $(_this.data('content-id')).html($(_this.data('bs.popover').tip.lastChild).html()); $(e.target).removeAttr('popover-opened'); }); if(ipop.closeButton==true){ $('html').on('click', '[data-dismiss="popover"]', function (e) { $(e.target).closest('div.popover').popover('hide'); }); } return this; }; $.fn.nval = function() { return Number(this.val()) }; ($.vsprintf = function (e, t) { if (null == e) throw "Not enough arguments for vsprintf"; function n(e, t, n) { if (null == t) return "s" == e ? "" : "0"; var r, s = "", o = "", a = " "; if (n.short || n.long || n.long_long) switch (e) { case "e": case "f": case "G": case "E": case "G": case "d": n.short ? t >= 32767 ? (t = 32767) : t <= -32768 && (t = -32768) : n.long ? t >= 2147483647 ? (t = 2147483647) : t <= -2147483648 && (t = -2147483648) : t >= 0x8000000000000000 ? (t = 0x8000000000000000) : t <= -0x8000000000000000 && (t = -0x8000000000000000); break; case "X": case "B": case "u": case "o": case "x": case "b": t < 0 && (t = Math.abs(t) - 1), n.short ? t >= 65535 && (t = 65535) : n.long ? t >= 4294967295 && (t = 4294967295) : t >= 0x10000000000000000 && (t = 0x10000000000000000); } switch (e) { case "c": r = String.fromCharCode(parseInt(t)); break; case "s": r = t.toString(); break; case "d": case "u": r = new Number(parseInt(t)).toString(); break; case "o": r = new Number(parseInt(t)).toString(8); break; case "x": r = new Number(parseInt(t)).toString(16); break; case "B": case "b": r = new Number(parseInt(t)).toString(2); break; case "e": var i = n.precision ? n.precision : 6; r = new Number(t).toExponential(i).toString(); break; case "f": i = n.precision ? n.precision : 6; r = new Number(t).toFixed(i).toString(); break; case "g": i = n.precision ? n.precision : 6; r = new Number(t).toPrecision(i).toString(); break; case "X": r = new Number(parseInt(t)).toString(16).toUpperCase(); break; case "E": i = n.precision ? n.precision : 6; r = new Number(t).toExponential(i).toString().toUpperCase(); break; case "G": i = n.precision ? n.precision : 6; r = new Number(t).toPrecision(i).toString().toUpperCase(); } if ((n["+"] && parseFloat(t) > 0 && -1 != ["d", "e", "f", "g", "E", "G"].indexOf(e) && (s = "+"), n[" "] && parseFloat(t) > 0 && -1 != ["d", "e", "f", "g", "E", "G"].indexOf(e) && (s = " "), n["#"] && 0 != parseInt(t))) switch (e) { case "o": s = "0"; break; case "x": case "X": s = "0x"; break; case "b": s = "0b"; break; case "B": s = "0B"; } if ((n[0] && !n["-"] && (a = "0"), n.width && n.width > r.length + s.length)) for (var c = n.width - r.length - s.length, f = 0; f < c; ++f) o += a; return n["-"] && !n[0] ? (r += o) : (r = o + r), s + r; } null == t && (t = []); for (var r = "", s = 0, o = 0, a = { long: !1, short: !1, long_long: !1 }, i = !1, c = !1, f = !1, l = !1, h = !1, g = !1, p = ".", u = 0; u < e.length; ++u) { var b = e.charAt(u); if (i) { switch (b) { case "i": b = "d"; break; case "D": (a.long = !0), (b = "d"); break; case "U": (a.long = !0), (b = "u"); break; case "O": (a.long = !0), (b = "o"); break; case "F": b = "f"; } switch (b) { case "c": case "s": case "d": case "u": case "o": case "x": case "e": case "f": case "g": case "X": case "E": case "G": case "b": case "B": var w = t[o]; if (h) { var d = w; if (w instanceof Array) d = w; else if ("string" == typeof w || w instanceof String) d = w.split("").map(function (e) { return e.charCodeAt(); }); else if (("number" == typeof w || w instanceof Number) && a.bitwidth) { d = []; do { d.unshift(w & ~(-1 << a.bitwidth)); } while ((w >>>= a.bitwidth)); } else d = w .toString() .split("") .map(function (e) { return e.charCodeAt(); }); r += d .map(function (e) { return n(b, e, a); }) .join(p); } else r += n(b, w, a); l || ++s, (o = s), (a = {}), (c = !1), (i = !1), (f = !1), (l = !1), (h = !1), (g = !1), (p = "."); break; case "v": h = !0; break; case " ": case "0": case "-": case "+": case "#": a[b] = !0; break; case "*": c = !0; break; case ".": f = !0; break; case "@": g = !0; break; case "l": a.long ? ((a.long_long = !0), (a.long = !1)) : ((a.long = !0), (a.long_long = !1)), (a.short = !1); break; case "q": case "L": (a.long_long = !0), (a.long = !1), (a.short = !1); break; case "h": (a.short = !0), (a.long = !1), (a.long_long = !1); } if (/\d/.test(b)) { var m = parseInt(e.substr(u)); if (((u += m.toString().length - 1), "$" == e.charAt(u + 1))) { if (m < 0 || m > t.length) throw "out of bound"; c ? (f ? ((a.precision = t[m - 1]), (f = !1)) : "v" == e.charAt(u + 2) ? (p = t[m - 1]) : (a.width = t[m - 1]), (c = !1)) : ((l = !0), (o = m - 1)), ++u; } else f ? ((a.precision = m), (f = !1)) : g ? ((a.bitwidth = m), (g = !1)) : (a.width = m); } else c && !/\d/.test(e.charAt(u + 1)) && (f ? ((a.precision = t[o]), (f = !1)) : "v" == e.charAt(u + 1) ? (p = t[o]) : (a.width = t[o]), ++s, l || o++, (c = !1)); } else { if ("%" == b) { if ("%" == e.charAt(u + 1)) { (r += "%"), ++u; continue; } i = !0; continue; } r += b; } } return r; }), ($.sprintf = function () { if (0 == arguments.length) throw "Not enough arguments for sprintf"; var e = Array.prototype.slice.call(arguments), t = e.shift(); return $.vsprintf(t, e); }), ($.fn.printf = function () { if (0 == arguments.length) throw "Not enough arguments for sprintf"; var e = Array.prototype.slice.call(arguments), t = e.shift(); return this.append($.vsprintf(t, e)); }), ($.fn.vprintf = function (e, t) { if (0 == arguments.length) throw "Not enough arguments for sprintf"; return this.append($.vsprintf(e, t)); }), ($.fn.vformat = function (e) { if (0 == arguments.length) throw "Not enough arguments for sprintf"; return this.each(function () { (self = jQuery(this)), self.html($.vsprintf(self.html(), e)); }); }), ($.fn.format = function () { if (0 == arguments.length) throw "Not enough arguments for sprintf"; var e = Array.prototype.slice.call(arguments); return this.each(function () { (self = jQuery(this)), self.html($.vsprintf(self.html(), e)); }); }), ($.printf = function () { if (0 == arguments.length) throw "Not enough arguments for sprintf"; var e = Array.prototype.slice.call(arguments), t = e.shift(), n = $.vsprintf(t, e); window.console ? window.console.info(n) : window.dump(n); }), ($.vprintf = function (e, t) { if (0 == arguments.length) throw "Not enough arguments for sprintf"; var n = $.vsprintf(e, t); window.console ? window.console.info(n) : window.dump(n); }); })(jQuery); (function ($) { 'use strict'; $.md5 = function (string, key, raw) { function safe_add(x, y) { var lsw = (x & 0xFFFF) + (y & 0xFFFF), msw = (x >> 16) + (y >> 16) + (lsw >> 16); return (msw << 16) | (lsw & 0xFFFF); } function bit_rol(num, cnt) { return (num << cnt) | (num >>> (32 - cnt)); } function md5_cmn(q, a, b, x, s, t) { return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s), b); } function md5_ff(a, b, c, d, x, s, t) { return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t); } function md5_gg(a, b, c, d, x, s, t) { return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t); } function md5_hh(a, b, c, d, x, s, t) { return md5_cmn(b ^ c ^ d, a, b, x, s, t); } function md5_ii(a, b, c, d, x, s, t) { return md5_cmn(c ^ (b | (~d)), a, b, x, s, t); } function binl_md5(x, len) { x[len >> 5] |= 0x80 << ((len) % 32); x[(((len + 64) >>> 9) << 4) + 14] = len; var i, olda, oldb, oldc, oldd, a = 1732584193, b = -271733879, c = -1732584194, d = 271733878; for (i = 0; i < x.length; i += 16) { olda = a; oldb = b; oldc = c; oldd = d; a = md5_ff(a, b, c, d, x[i], 7, -680876936); d = md5_ff(d, a, b, c, x[i + 1], 12, -389564586); c = md5_ff(c, d, a, b, x[i + 2], 17, 606105819); b = md5_ff(b, c, d, a, x[i + 3], 22, -1044525330); a = md5_ff(a, b, c, d, x[i + 4], 7, -176418897); d = md5_ff(d, a, b, c, x[i + 5], 12, 1200080426); c = md5_ff(c, d, a, b, x[i + 6], 17, -1473231341); b = md5_ff(b, c, d, a, x[i + 7], 22, -45705983); a = md5_ff(a, b, c, d, x[i + 8], 7, 1770035416); d = md5_ff(d, a, b, c, x[i + 9], 12, -1958414417); c = md5_ff(c, d, a, b, x[i + 10], 17, -42063); b = md5_ff(b, c, d, a, x[i + 11], 22, -1990404162); a = md5_ff(a, b, c, d, x[i + 12], 7, 1804603682); d = md5_ff(d, a, b, c, x[i + 13], 12, -40341101); c = md5_ff(c, d, a, b, x[i + 14], 17, -1502002290); b = md5_ff(b, c, d, a, x[i + 15], 22, 1236535329); a = md5_gg(a, b, c, d, x[i + 1], 5, -165796510); d = md5_gg(d, a, b, c, x[i + 6], 9, -1069501632); c = md5_gg(c, d, a, b, x[i + 11], 14, 643717713); b = md5_gg(b, c, d, a, x[i], 20, -373897302); a = md5_gg(a, b, c, d, x[i + 5], 5, -701558691); d = md5_gg(d, a, b, c, x[i + 10], 9, 38016083); c = md5_gg(c, d, a, b, x[i + 15], 14, -660478335); b = md5_gg(b, c, d, a, x[i + 4], 20, -405537848); a = md5_gg(a, b, c, d, x[i + 9], 5, 568446438); d = md5_gg(d, a, b, c, x[i + 14], 9, -1019803690); c = md5_gg(c, d, a, b, x[i + 3], 14, -187363961); b = md5_gg(b, c, d, a, x[i + 8], 20, 1163531501); a = md5_gg(a, b, c, d, x[i + 13], 5, -1444681467); d = md5_gg(d, a, b, c, x[i + 2], 9, -51403784); c = md5_gg(c, d, a, b, x[i + 7], 14, 1735328473); b = md5_gg(b, c, d, a, x[i + 12], 20, -1926607734); a = md5_hh(a, b, c, d, x[i + 5], 4, -378558); d = md5_hh(d, a, b, c, x[i + 8], 11, -2022574463); c = md5_hh(c, d, a, b, x[i + 11], 16, 1839030562); b = md5_hh(b, c, d, a, x[i + 14], 23, -35309556); a = md5_hh(a, b, c, d, x[i + 1], 4, -1530992060); d = md5_hh(d, a, b, c, x[i + 4], 11, 1272893353); c = md5_hh(c, d, a, b, x[i + 7], 16, -155497632); b = md5_hh(b, c, d, a, x[i + 10], 23, -1094730640); a = md5_hh(a, b, c, d, x[i + 13], 4, 681279174); d = md5_hh(d, a, b, c, x[i], 11, -358537222); c = md5_hh(c, d, a, b, x[i + 3], 16, -722521979); b = md5_hh(b, c, d, a, x[i + 6], 23, 76029189); a = md5_hh(a, b, c, d, x[i + 9], 4, -640364487); d = md5_hh(d, a, b, c, x[i + 12], 11, -421815835); c = md5_hh(c, d, a, b, x[i + 15], 16, 530742520); b = md5_hh(b, c, d, a, x[i + 2], 23, -995338651); a = md5_ii(a, b, c, d, x[i], 6, -198630844); d = md5_ii(d, a, b, c, x[i + 7], 10, 1126891415); c = md5_ii(c, d, a, b, x[i + 14], 15, -1416354905); b = md5_ii(b, c, d, a, x[i + 5], 21, -57434055); a = md5_ii(a, b, c, d, x[i + 12], 6, 1700485571); d = md5_ii(d, a, b, c, x[i + 3], 10, -1894986606); c = md5_ii(c, d, a, b, x[i + 10], 15, -1051523); b = md5_ii(b, c, d, a, x[i + 1], 21, -2054922799); a = md5_ii(a, b, c, d, x[i + 8], 6, 1873313359); d = md5_ii(d, a, b, c, x[i + 15], 10, -30611744); c = md5_ii(c, d, a, b, x[i + 6], 15, -1560198380); b = md5_ii(b, c, d, a, x[i + 13], 21, 1309151649); a = md5_ii(a, b, c, d, x[i + 4], 6, -145523070); d = md5_ii(d, a, b, c, x[i + 11], 10, -1120210379); c = md5_ii(c, d, a, b, x[i + 2], 15, 718787259); b = md5_ii(b, c, d, a, x[i + 9], 21, -343485551); a = safe_add(a, olda); b = safe_add(b, oldb); c = safe_add(c, oldc); d = safe_add(d, oldd); } return [a, b, c, d]; } function binl2rstr(input) { var i, output = ''; for (i = 0; i < input.length * 32; i += 8) { output += String.fromCharCode((input[i >> 5] >>> (i % 32)) & 0xFF); } return output; } function rstr2binl(input) { var i, output = []; output[(input.length >> 2) - 1] = undefined; for (i = 0; i < output.length; i += 1) { output[i] = 0; } for (i = 0; i < input.length * 8; i += 8) { output[i >> 5] |= (input.charCodeAt(i / 8) & 0xFF) << (i % 32); } return output; } function rstr_md5(s) { return binl2rstr(binl_md5(rstr2binl(s), s.length * 8)); } function rstr_hmac_md5(key, data) { var i, bkey = rstr2binl(key), ipad = [], opad = [], hash; ipad[15] = opad[15] = undefined; if (bkey.length > 16) { bkey = binl_md5(bkey, key.length * 8); } for (i = 0; i < 16; i += 1) { ipad[i] = bkey[i] ^ 0x36363636; opad[i] = bkey[i] ^ 0x5C5C5C5C; } hash = binl_md5(ipad.concat(rstr2binl(data)), 512 + data.length * 8); return binl2rstr(binl_md5(opad.concat(hash), 512 + 128)); } function rstr2hex(input) { var hex_tab = '0123456789abcdef', output = '', x, i; for (i = 0; i < input.length; i += 1) { x = input.charCodeAt(i); output += hex_tab.charAt((x >>> 4) & 0x0F) + hex_tab.charAt(x & 0x0F); } return output; } function str2rstr_utf8(input) { return unescape(encodeURIComponent(input)); } function raw_md5(s) { return rstr_md5(str2rstr_utf8(s)); } function hex_md5(s) { return rstr2hex(raw_md5(s)); } function raw_hmac_md5(k, d) { return rstr_hmac_md5(str2rstr_utf8(k), str2rstr_utf8(d)); } function hex_hmac_md5(k, d) { return rstr2hex(raw_hmac_md5(k, d)); } return (function($){ if (!key) { if (!raw) { return hex_md5(string); } else { return raw_md5(string); } } if (!raw) { return hex_hmac_md5(key, string); } else { return raw_hmac_md5(key, string); } }).apply(this, [jQuery]); }; }(typeof jQuery === 'function' ? jQuery : this)); // Datepicker (function(theme, $){ theme = theme || {}; var instanceName = '__datepicker'; var PluginDatePicker = function(_el, opts){ return this.initialize(_el, opts); }; PluginDatePicker.defaults = {}; PluginDatePicker.prototype = { initialize: function(_el, opts){ if(_el.data(instanceName)){ return this; } this._el = _el; this .setVars() .setData() .setOptions(opts) .build(); return this; }, setVars: function(){ this.skin = this._el.data('plugin-skin'); return this; }, setData: function(){ this._el.data(instanceName, this); return this; }, setOptions: function(opts){ this.options = $.extend(true,{}, PluginDatePicker.defaults, opts); return this; }, build: function(){ this._el.bootstrapDP(this.options); if(!!this.skin && typeof(this._el.data('datepicker').picker) != 'undefined'){ this._el.data('datepicker').picker.addClass('datepicker-' + this.skin); } return this; } }; // expose to scope $.extend(theme,{ PluginDatePicker: PluginDatePicker }); // jquery plugin $.fn.pluginDatePicker = function(opts){ return this.each(function(){ var _this = $(this); if(_this.data(instanceName)){ return _this.data(instanceName); }else{ return new PluginDatePicker(_this, opts); } }); } }).apply(this, [window.theme, jQuery]); (function($){ 'use strict'; if($('[data-plugin-datepicker]').length>0){ $.getScript([ THEME_DIR + 'plugins/bootstrap-datepicker/js/bootstrap-datepicker.js' ], function(){ $.getCss([ THEME_DIR + 'plugins/bootstrap-datepicker/css/bootstrap-datepicker3.css' ], function(){ if(typeof($.fn.datepicker) != 'undefined'){ $.fn.bootstrapDP = $.fn.datepicker.noConflict(); } if($.isFunction($.fn['bootstrapDP'])){ $(function(){ $('[data-plugin-datepicker]').each(function(){ var _this = $(this), pluginOptions = _this.data('plugin-options'), startDate = new RegExp('^[+]+[0-9]+[a-z]$'), opts ={ format: 'dd/mm/yyyy', language: 'tr', autoclose: true, todayHighlight: (startDate.test(pluginOptions && pluginOptions.startDate ? pluginOptions.startDate : '') ? false : true),//true zIndexOffset: 1001 }; if(pluginOptions) opts = $.extend(true,{}, opts, pluginOptions); _this.pluginDatePicker(opts); }); }); } }); }); } }).apply(this, [jQuery]); // TimePicker (function(theme, $){ theme = theme || {}; var instanceName = '__timepicker'; var PluginTimePicker = function(_el, opts){ return this.initialize(_el, opts); }; PluginTimePicker.defaults ={ disableMousewheel: true, icons:{ up: 'fa fa-chevron-up', down: 'fa fa-chevron-down' } }; PluginTimePicker.prototype ={ initialize: function(_el, opts){ if(_el.data(instanceName)){ return this; } this._el = _el; this .setData() .setOptions(opts) .build(); return this; }, setData: function(){ this._el.data(instanceName, this); return this; }, setOptions: function(opts){ this.options = $.extend(true,{}, PluginTimePicker.defaults, opts); return this; }, build: function(){ this._el.timepicker(this.options); return this; } }; // expose to scope $.extend(theme,{ PluginTimePicker: PluginTimePicker }); // jquery plugin $.fn.pluginTimePicker = function(opts){ return this.each(function(){ var _this = $(this); if(_this.data(instanceName)){ return _this.data(instanceName); }else{ return new PluginTimePicker(_this, opts); } }); } }).apply(this, [window.theme, jQuery]); (function($){ 'use strict'; if($('[data-plugin-timepicker]').length>0){ $.getScript([ THEME_DIR + 'plugins/bootstrap-timepicker/bootstrap-timepicker.js' ], function(){ $.getCss([ THEME_DIR + 'plugins/bootstrap-timepicker/css/bootstrap-timepicker.css' ], function(){ if($.isFunction($.fn['timepicker'])){ $(function(){ $('[data-plugin-timepicker]').each(function(){ var _this = $(this), opts ={}; var pluginOptions = _this.data('plugin-options'); if(pluginOptions) opts = pluginOptions; _this.pluginTimePicker(opts); }); }); } }); }); } }).apply(this, [jQuery]); (function($){ 'use strict'; if($.isFunction($.fn['mCustomScrollbar'])){ $(function(){ $('[data-plugin-scroll-table]').each(function(){ var _this = $(this); var pluginOptions = _this.data('plugin-options'); var table = _this.find('table.table'); var tbody = table.find('tbody'); table.mCustomScrollbar({ axis: 'x', theme: 'dark', mouseWheel:{ preventDefault: true }, advanced:{ updateOnContentResize: true }, mouseWheelPixels: 100, scrollInertia: 250 }); if(pluginOptions.tbody==true){ tbody.css('max-height', pluginOptions.maxHeight).mCustomScrollbar({ axis: 'y', theme: 'minimal', mouseWheel:{ preventDefault: true }, advanced:{ updateOnContentResize: true }, mouseWheelPixels: 100, scrollInertia: 250 }); } }); }); } }).apply(this, [jQuery]); // Options Creator Plugin (function(theme, $){ theme = theme || {}; var PluginOptionsCreator = function(_el){ return this.init(_el); }, _this; PluginOptionsCreator.prototype = { init: function(_el){ this._el = _el; this.selector(this._el).create(); return this; }, selector: function(_this){ this.selectors = { 'class': '.plugin-optionList', 'table': _this.find('.table-responsive'), 'title': _this.find('.table-responsive .option-list thead'), 'body': _this.find('.table-responsive .option-list tbody'), 'list': _this.find('.table-responsive .option-list tbody .mCustomScrollBox .mCSB_container'), 'list_class': '.table-responsive .option-list', 'template': _this.find('.table-responsive .option-template tbody'), 'move_class': '.option-move', 'delete': _this.find('.table-responsive .option-delete'), 'delete_class': '.option-delete', 'add': _this.find('.option-add'), 'add_class': '.option-add', 'data_class': '.option-data', 'output': _this.find('.option-output') }; return this; }, getList: function(){ _this = this; var options_data = new Array(); _this.selectors.list.find('tr:not(.bos)').each(function(){ var data ={}, val = ''; $(this).find(".option-data").each(function(){ if($(this).prop('tagName')=='SELECT'){ val = $(this).val(); }else if($(this).prop('tagName')=='INPUT'){ if($(this).attr('type') !== 'checkbox'){ val = $(this).val(); }else{ if($(this).attr('checked')){ val = $(this).val(); } } }else if($(this).prop('tagName')=='TEXTAREA'){ val = $(this).val(); } data[$(this).attr('name')] = val.replace(/"/g, '"');; }); data['ol_sort'] = ($(this).index() + 1); options_data.push(data); }); var option_datas = window.JSON.stringify(options_data); _this.selectors.output.val(option_datas); return this; }, create: function(){ _this = this; _this.selectors.list.sortable({ axis:"y", handle: _this.selectors.move_class, cancel: '', opacity: '0.7', group: _this.selectors.list_class, delay: 0, connectWith: _this.selectors.list_class, placeholder: 'btn-outline-dark', start: function(event, ui){ _this.getList(); ui.placeholder.html(_this.selectors.template.find('tr')); _this.stylePlaceholder(ui.placeholder); }, stop: function(event, ui){ _this.getList(); }, update: function(){ _this.getList(); } }).disableSelection(); _this.getList(); _this.styleFunc(); if(_this.selectors.list.find('tr').length<='1'){ _this.selectors.list.sortable('disable'); } _this.selectors.add.click(function(e){ var $new = $(e.currentTarget).parents(_this.selectors.class); _this.addFunc($new); }); $(_this.selectors.list_class).on('click', _this.selectors.delete_class, function(e){ var $new = $(e.currentTarget).parents(_this.selectors.class); _this.deleteFunc(e, $new); }); $(_this.selectors.list_class).on('change click keypress keyup focus focusout blur', _this.selectors.data_class, function(e){ var $new = $(e.currentTarget).parents(_this.selectors.class); _this.selector($new); _this.getList(); }); return this; }, addFunc: function($new){ _this = this; _this.selector($new); let template = $.parseHTML(_this.selectors.template.html()); _this.selectors.list.append(template).sortable('refresh'); if(_this.selectors.list.find('.bos').length=='1'){ _this.selectors.list.find('.bos').remove(); } if(_this.selectors.list.find('tr').length>='2'){ _this.selectors.list.sortable('enable').sortable('refresh'); } $(_this.selector.body).mCustomScrollbar('scrollTo', 'bottom'); _this.getList(); return this; }, deleteFunc: function(e, $new){ _this = this; _this.selector($new); $(e.currentTarget).parents('tr').remove(); _this.selectors.list.sortable('refresh'); if(_this.selectors.list.find('tr').length=='0'){ _this.selectors.list.append('