1 line
51 KiB
JavaScript
1 line
51 KiB
JavaScript
(self.webpackChunktimetrex=self.webpackChunktimetrex||[]).push([["reports-custom_column-CustomColumnViewController","formula_builder-FormulaBuilder"],{9326:(__unused_webpack_module,__unused_webpack_exports,__webpack_require__)=>{eval("/* provided dependency */ var jQuery = __webpack_require__(9755);\n( function( $ ) {\n\n\t$.fn.FormulaBuilder = function( options ) {\n\t\tvar opts = $.extend( {}, $.fn.FormulaBuilder.defaults, options );\n\t\tvar $this = this;\n\t\tvar field;\n\n\t\tvar text_label = $.i18n._( 'Formula Builder' );\n\n\t\tvar field_type = 'textarea';\n\n\t\tvar error_string = '';\n\t\tvar error_tip_box;\n\n\t\tvar mass_edit_mode = false;\n\t\tvar check_box = null;\n\n\t\tvar enabled = true;\n\n\t\tvar text_input = null;\n\n\t\tthis.getEnabled = function() {\n\t\t\treturn enabled;\n\t\t};\n\n\t\tthis.setEnabled = function( val ) {\n\t\t\tenabled = val;\n\t\t\tif ( val === false || val === '' ) {\n\t\t\t\ttext_input.children().attr( 'disabled', 'true' );\n\t\t\t\ttext_input.addClass( 't-text-area-readonly' );\n\t\t\t} else {\n\t\t\t\ttext_input.children().removeAttr( 'disabled' );\n\t\t\t\ttext_input.removeClass( 't-text-area-readonly' );\n\t\t\t}\n\n\t\t};\n\n\t\tthis.setCheckBox = function( val ) {\n\t\t\tif ( check_box ) {\n\t\t\t\tcheck_box.children().eq( 0 )[0].checked = val;\n\t\t\t}\n\t\t};\n\n\t\tthis.isChecked = function() {\n\t\t\tif ( check_box ) {\n\t\t\t\tif ( check_box.children().eq( 0 )[0].checked === true ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn false;\n\t\t};\n\n\t\tthis.setMassEditMode = function( val ) {\n\t\t\tmass_edit_mode = val;\n\n\t\t\tif ( mass_edit_mode ) {\n\t\t\t\tcheck_box = $( ' <div class=\"mass-edit-checkbox-wrapper\"><input type=\"checkbox\" class=\"mass-edit-checkbox\"></input>' +\n\t\t\t\t\t'<label for=\"checkbox-input-1\" class=\"input-helper input-helper--checkbox\"></label></div>' );\n\t\t\t\tcheck_box.insertBefore( text_input );\n\n\t\t\t\tcheck_box.change( function() {\n\t\t\t\t\t$this.trigger( 'formItemChange', [$this] );\n\t\t\t\t} );\n\n\t\t\t} else {\n\t\t\t\tif ( check_box ) {\n\t\t\t\t\tcheck_box.remove();\n\t\t\t\t\tcheck_box = null;\n\t\t\t\t}\n\t\t\t}\n\n\t\t};\n\n\t\tthis.setValue = function( val ) {\n\n\t\t\tif ( !val ) {\n\t\t\t\tval = '';\n\t\t\t}\n\n\t\t\ttext_input.val( val );\n\n\t\t};\n\n\t\tthis.setErrorStyle = function( errStr, show, isWarning ) {\n\t\t\tif ( isWarning ) {\n\t\t\t\ttext_input.addClass( 'warning-tip' );\n\t\t\t} else {\n\t\t\t\ttext_input.addClass( 'error-tip' );\n\t\t\t}\n\t\t\terror_string = errStr;\n\n\t\t\tif ( show ) {\n\t\t\t\tthis.showErrorTip();\n\t\t\t}\n\t\t};\n\n\t\tthis.showErrorTip = function( sec ) {\n\n\t\t\tif ( !Global.isSet( sec ) ) {\n\t\t\t\tsec = 2;\n\t\t\t}\n\n\t\t\tif ( !error_tip_box ) {\n\t\t\t\terror_tip_box = Global.loadWidgetByName( WidgetNamesDic.ERROR_TOOLTIP );\n\t\t\t\terror_tip_box = error_tip_box.ErrorTipBox();\n\t\t\t}\n\t\t\tif ( text_input.hasClass( 'warning-tip' ) ) {\n\t\t\t\terror_tip_box.show( this, error_string, sec, true );\n\t\t\t} else {\n\t\t\t\terror_tip_box.show( this, error_string, sec );\n\t\t\t}\n\t\t};\n\n\t\tthis.hideErrorTip = function() {\n\n\t\t\tif ( Global.isSet( error_tip_box ) ) {\n\t\t\t\terror_tip_box.remove();\n\t\t\t}\n\n\t\t};\n\n\t\tthis.clearErrorStyle = function() {\n\t\t\ttext_input.removeClass( 'error-tip' );\n\t\t\ttext_input.removeClass( 'warning-tip' );\n\t\t\tthis.hideErrorTip();\n\t\t\terror_string = '';\n\t\t};\n\n\t\tthis.setField = function( val ) {\n\t\t\tfield = val;\n\t\t};\n\n\t\tthis.getField = function() {\n\t\t\treturn field;\n\t\t};\n\n\t\tthis.getValue = function() {\n\t\t\treturn text_input.val();\n\t\t};\n\n\t\tthis.setValue = function( val ) {\n\n\t\t\tif ( !val ) {\n\t\t\t\tval = '';\n\t\t\t}\n\n\t\t\ttext_input.val( val );\n\t\t};\n\n\t\tthis.each( function() {\n\n\t\t\tvar o = $.meta ? $.extend( {}, opts, $( this ).data() ) : opts;\n\t\t\tvar calc_width = true;\n\n\t\t\tif ( o.field_type && o.field_type === 'text_input' ) {\n\t\t\t\t$( this ).html( $.fn.FormulaBuilder.html_template_text_input );\n\t\t\t\tcalc_width = false;\n\t\t\t}\n\n\t\t\tfield = o.field;\n\t\t\ttext_input = $( this ).find( '.formula-input' );\n\n\t\t\tvar formula_btn = $( this ).find( 'button' );\n\n\t\t\tif ( !calc_width ) {\n\t\t\t\tformula_btn.css( 'float', 'right' );\n\t\t\t}\n\n\t\t\tformula_btn.text( o.text_label ? o.text_label : text_label );\n\n\t\t\tformula_btn.unbind( 'click' ).bind( 'click', function() {\n\n\t\t\t\tif ( o.onFormulaBtnClick ) {\n\t\t\t\t\to.onFormulaBtnClick();\n\t\t\t\t}\n\n\t\t\t} );\n\n\t\t\tif ( o.width && ( o.width > 0 || o.width.indexOf( '%' ) > 0 ) ) {\n\t\t\t\tif ( o.width.indexOf( '%' ) > 0 && calc_width) {\n\t\t\t\t\t$this.width( o.width );\n\t\t\t\t\ttext_input.css( 'width', 'calc( 100% - 115px )' );\n\t\t\t\t} else {\n\t\t\t\t\ttext_input.width( o.width );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttext_input.width( 300 );\n\t\t\t}\n\t\t\tif ( o.height > 0 ) {\n\t\t\t\ttext_input.height( o.height );\n\t\t\t}\n\n\t\t\tif ( o.rows > 0 ) {\n\t\t\t\ttext_input.attr( 'rows', o.rows );\n\t\t\t} else {\n\t\t\t\ttext_input.attr( 'rows', 5 );\n\t\t\t}\n\n\t\t\tif ( o.style ) {\n\t\t\t\t$this.css( o.style );\n\t\t\t}\n\n\t\t\ttext_input.change( function() {\n\t\t\t\tif ( check_box ) {\n\t\t\t\t\t$this.setCheckBox( true );\n\t\t\t\t}\n\n\t\t\t\t$this.trigger( 'formItemChange', [$this] );\n\t\t\t} );\n\n\t\t\ttext_input.mouseover( function() {\n\n\t\t\t\tif ( enabled ) {\n\t\t\t\t\tif ( error_string && error_string.length > 0 ) {\n\t\t\t\t\t\t$this.showErrorTip( 20 );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t} );\n\n\t\t\ttext_input.mouseout( function() {\n\t\t\t\tif ( !$( $this ).is( ':focus' ) ) {\n\t\t\t\t\t$this.hideErrorTip();\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\ttext_input.focusin( function() {\n\t\t\t\tif ( !enabled ) {\n\t\t\t\t\tif ( !check_box ) {\n\t\t\t\t\t\tif ( LocalCacheData.current_open_sub_controller &&\n\t\t\t\t\t\t\tLocalCacheData.current_open_sub_controller.edit_view &&\n\t\t\t\t\t\t\tLocalCacheData.current_open_sub_controller.is_viewing ) {\n\t\t\t\t\t\t\terror_string = LocalCacheData.current_open_sub_controller.getViewModeErrorMessage();\n\t\t\t\t\t\t\t$this.showErrorTip( 10 );\n\t\t\t\t\t\t} else if ( LocalCacheData.current_open_primary_controller &&\n\t\t\t\t\t\t\tLocalCacheData.current_open_primary_controller.edit_view &&\n\t\t\t\t\t\t\tLocalCacheData.current_open_primary_controller.is_viewing ) {\n\t\t\t\t\t\t\terror_string = LocalCacheData.current_open_primary_controller.getViewModeErrorMessage();\n\t\t\t\t\t\t\t$this.showErrorTip( 10 );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif ( error_string && error_string.length > 0 ) {\n\t\t\t\t\t\t$this.showErrorTip( 20 );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\ttext_input.focusout( function() {\n\t\t\t\t$this.hideErrorTip();\n\t\t\t} );\n\n\t\t\t//Prevent missing formula input box from appearing during first load.\n\t\t\tTTPromise.wait( null, null, function() {\n\t\t\t\ttext_input.parents( '.formula-builder' ).css( 'opacity', 1 );\n\t\t\t} );\n\n\t\t} );\n\n\t\treturn this;\n\n\t};\n\n\t$.fn.FormulaBuilder.defaults = {};\n\t$.fn.FormulaBuilder.html_template = `\n\t<div class=\"formula-builder\">\n\t\t<textarea type=\"text\" class=\"t-text-area formula-input formula-textarea\"></textarea>\n\t\t<button class=\"t-button formula-btn\"></button>\n\t</div>\n\t`;\n\t$.fn.FormulaBuilder.html_template_text_input = `\n\t<div class=\"formula-builder\">\n\t\t<input type=\"text\" class=\"t-text-input formula-input\" autocomplete=\"timetrex-no-auto-fill\">\n\t\t<button class=\"t-button formula-btn\" style=\"margin-left: 5px; margin-top: -1px;\"></button>\n\t</div>\n\t`;\n\n} )( jQuery );//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiOTMyNi5qcyIsIm1hcHBpbmdzIjoiO0FBQUE7O0FBRUE7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTs7QUFFTixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBLGdDQUFnQztBQUNoQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7O0FBRUw7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTCxJQUFJOztBQUVKOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0VBQWdFLGlCQUFpQjtBQUNqRjtBQUNBOztBQUVBLEVBQUUsR0FBRyxNQUFNIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vaW50ZXJmYWNlL2h0bWw1L2dsb2JhbC93aWRnZXRzL2Zvcm11bGFfYnVpbGRlci9Gb3JtdWxhQnVpbGRlci5qcz9mYjhmIl0sInNvdXJjZXNDb250ZW50IjpbIiggZnVuY3Rpb24oICQgKSB7XG5cblx0JC5mbi5Gb3JtdWxhQnVpbGRlciA9IGZ1bmN0aW9uKCBvcHRpb25zICkge1xuXHRcdHZhciBvcHRzID0gJC5leHRlbmQoIHt9LCAkLmZuLkZvcm11bGFCdWlsZGVyLmRlZmF1bHRzLCBvcHRpb25zICk7XG5cdFx0dmFyICR0aGlzID0gdGhpcztcblx0XHR2YXIgZmllbGQ7XG5cblx0XHR2YXIgdGV4dF9sYWJlbCA9ICQuaTE4bi5fKCAnRm9ybXVsYSBCdWlsZGVyJyApO1xuXG5cdFx0dmFyIGZpZWxkX3R5cGUgPSAndGV4dGFyZWEnO1xuXG5cdFx0dmFyIGVycm9yX3N0cmluZyA9ICcnO1xuXHRcdHZhciBlcnJvcl90aXBfYm94O1xuXG5cdFx0dmFyIG1hc3NfZWRpdF9tb2RlID0gZmFsc2U7XG5cdFx0dmFyIGNoZWNrX2JveCA9IG51bGw7XG5cblx0XHR2YXIgZW5hYmxlZCA9IHRydWU7XG5cblx0XHR2YXIgdGV4dF9pbnB1dCA9IG51bGw7XG5cblx0XHR0aGlzLmdldEVuYWJsZWQgPSBmdW5jdGlvbigpIHtcblx0XHRcdHJldHVybiBlbmFibGVkO1xuXHRcdH07XG5cblx0XHR0aGlzLnNldEVuYWJsZWQgPSBmdW5jdGlvbiggdmFsICkge1xuXHRcdFx0ZW5hYmxlZCA9IHZhbDtcblx0XHRcdGlmICggdmFsID09PSBmYWxzZSB8fCB2YWwgPT09ICcnICkge1xuXHRcdFx0XHR0ZXh0X2lucHV0LmNoaWxkcmVuKCkuYXR0ciggJ2Rpc2FibGVkJywgJ3RydWUnICk7XG5cdFx0XHRcdHRleHRfaW5wdXQuYWRkQ2xhc3MoICd0LXRleHQtYXJlYS1yZWFkb25seScgKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHRleHRfaW5wdXQuY2hpbGRyZW4oKS5yZW1vdmVBdHRyKCAnZGlzYWJsZWQnICk7XG5cdFx0XHRcdHRleHRfaW5wdXQucmVtb3ZlQ2xhc3MoICd0LXRleHQtYXJlYS1yZWFkb25seScgKTtcblx0XHRcdH1cblxuXHRcdH07XG5cblx0XHR0aGlzLnNldENoZWNrQm94ID0gZnVuY3Rpb24oIHZhbCApIHtcblx0XHRcdGlmICggY2hlY2tfYm94ICkge1xuXHRcdFx0XHRjaGVja19ib3guY2hpbGRyZW4oKS5lcSggMCApWzBdLmNoZWNrZWQgPSB2YWw7XG5cdFx0XHR9XG5cdFx0fTtcblxuXHRcdHRoaXMuaXNDaGVja2VkID0gZnVuY3Rpb24oKSB7XG5cdFx0XHRpZiAoIGNoZWNrX2JveCApIHtcblx0XHRcdFx0aWYgKCBjaGVja19ib3guY2hpbGRyZW4oKS5lcSggMCApWzBdLmNoZWNrZWQgPT09IHRydWUgKSB7XG5cdFx0XHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH07XG5cblx0XHR0aGlzLnNldE1hc3NFZGl0TW9kZSA9IGZ1bmN0aW9uKCB2YWwgKSB7XG5cdFx0XHRtYXNzX2VkaXRfbW9kZSA9IHZhbDtcblxuXHRcdFx0aWYgKCBtYXNzX2VkaXRfbW9kZSApIHtcblx0XHRcdFx0Y2hlY2tfYm94ID0gJCggJyA8ZGl2IGNsYXNzPVwibWFzcy1lZGl0LWNoZWNrYm94LXdyYXBwZXJcIj48aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgY2xhc3M9XCJtYXNzLWVkaXQtY2hlY2tib3hcIj48L2lucHV0PicgK1xuXHRcdFx0XHRcdCc8bGFiZWwgZm9yPVwiY2hlY2tib3gtaW5wdXQtMVwiIGNsYXNzPVwiaW5wdXQtaGVscGVyIGlucHV0LWhlbHBlci0tY2hlY2tib3hcIj48L2xhYmVsPjwvZGl2PicgKTtcblx0XHRcdFx0Y2hlY2tfYm94Lmluc2VydEJlZm9yZSggdGV4dF9pbnB1dCApO1xuXG5cdFx0XHRcdGNoZWNrX2JveC5jaGFuZ2UoIGZ1bmN0aW9uKCkge1xuXHRcdFx0XHRcdCR0aGlzLnRyaWdnZXIoICdmb3JtSXRlbUNoYW5nZScsIFskdGhpc10gKTtcblx0XHRcdFx0fSApO1xuXG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRpZiAoIGNoZWNrX2JveCApIHtcblx0XHRcdFx0XHRjaGVja19ib3gucmVtb3ZlKCk7XG5cdFx0XHRcdFx0Y2hlY2tfYm94ID0gbnVsbDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0fTtcblxuXHRcdHRoaXMuc2V0VmFsdWUgPSBmdW5jdGlvbiggdmFsICkge1xuXG5cdFx0XHRpZiAoICF2YWwgKSB7XG5cdFx0XHRcdHZhbCA9ICcnO1xuXHRcdFx0fVxuXG5cdFx0XHR0ZXh0X2lucHV0LnZhbCggdmFsICk7XG5cblx0XHR9O1xuXG5cdFx0dGhpcy5zZXRFcnJvclN0eWxlID0gZnVuY3Rpb24oIGVyclN0ciwgc2hvdywgaXNXYXJuaW5nICkge1xuXHRcdFx0aWYgKCBpc1dhcm5pbmcgKSB7XG5cdFx0XHRcdHRleHRfaW5wdXQuYWRkQ2xhc3MoICd3YXJuaW5nLXRpcCcgKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHRleHRfaW5wdXQuYWRkQ2xhc3MoICdlcnJvci10aXAnICk7XG5cdFx0XHR9XG5cdFx0XHRlcnJvcl9zdHJpbmcgPSBlcnJTdHI7XG5cblx0XHRcdGlmICggc2hvdyApIHtcblx0XHRcdFx0dGhpcy5zaG93RXJyb3JUaXAoKTtcblx0XHRcdH1cblx0XHR9O1xuXG5cdFx0dGhpcy5zaG93RXJyb3JUaXAgPSBmdW5jdGlvbiggc2VjICkge1xuXG5cdFx0XHRpZiAoICFHbG9iYWwuaXNTZXQoIHNlYyApICkge1xuXHRcdFx0XHRzZWMgPSAyO1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAoICFlcnJvcl90aXBfYm94ICkge1xuXHRcdFx0XHRlcnJvcl90aXBfYm94ID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIFdpZGdldE5hbWVzRGljLkVSUk9SX1RPT0xUSVAgKTtcblx0XHRcdFx0ZXJyb3JfdGlwX2JveCA9IGVycm9yX3RpcF9ib3guRXJyb3JUaXBCb3goKTtcblx0XHRcdH1cblx0XHRcdGlmICggdGV4dF9pbnB1dC5oYXNDbGFzcyggJ3dhcm5pbmctdGlwJyApICkge1xuXHRcdFx0XHRlcnJvcl90aXBfYm94LnNob3coIHRoaXMsIGVycm9yX3N0cmluZywgc2VjLCB0cnVlICk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRlcnJvcl90aXBfYm94LnNob3coIHRoaXMsIGVycm9yX3N0cmluZywgc2VjICk7XG5cdFx0XHR9XG5cdFx0fTtcblxuXHRcdHRoaXMuaGlkZUVycm9yVGlwID0gZnVuY3Rpb24oKSB7XG5cblx0XHRcdGlmICggR2xvYmFsLmlzU2V0KCBlcnJvcl90aXBfYm94ICkgKSB7XG5cdFx0XHRcdGVycm9yX3RpcF9ib3gucmVtb3ZlKCk7XG5cdFx0XHR9XG5cblx0XHR9O1xuXG5cdFx0dGhpcy5jbGVhckVycm9yU3R5bGUgPSBmdW5jdGlvbigpIHtcblx0XHRcdHRleHRfaW5wdXQucmVtb3ZlQ2xhc3MoICdlcnJvci10aXAnICk7XG5cdFx0XHR0ZXh0X2lucHV0LnJlbW92ZUNsYXNzKCAnd2FybmluZy10aXAnICk7XG5cdFx0XHR0aGlzLmhpZGVFcnJvclRpcCgpO1xuXHRcdFx0ZXJyb3Jfc3RyaW5nID0gJyc7XG5cdFx0fTtcblxuXHRcdHRoaXMuc2V0RmllbGQgPSBmdW5jdGlvbiggdmFsICkge1xuXHRcdFx0ZmllbGQgPSB2YWw7XG5cdFx0fTtcblxuXHRcdHRoaXMuZ2V0RmllbGQgPSBmdW5jdGlvbigpIHtcblx0XHRcdHJldHVybiBmaWVsZDtcblx0XHR9O1xuXG5cdFx0dGhpcy5nZXRWYWx1ZSA9IGZ1bmN0aW9uKCkge1xuXHRcdFx0cmV0dXJuIHRleHRfaW5wdXQudmFsKCk7XG5cdFx0fTtcblxuXHRcdHRoaXMuc2V0VmFsdWUgPSBmdW5jdGlvbiggdmFsICkge1xuXG5cdFx0XHRpZiAoICF2YWwgKSB7XG5cdFx0XHRcdHZhbCA9ICcnO1xuXHRcdFx0fVxuXG5cdFx0XHR0ZXh0X2lucHV0LnZhbCggdmFsICk7XG5cdFx0fTtcblxuXHRcdHRoaXMuZWFjaCggZnVuY3Rpb24oKSB7XG5cblx0XHRcdHZhciBvID0gJC5tZXRhID8gJC5leHRlbmQoIHt9LCBvcHRzLCAkKCB0aGlzICkuZGF0YSgpICkgOiBvcHRzO1xuXHRcdFx0dmFyIGNhbGNfd2lkdGggPSB0cnVlO1xuXG5cdFx0XHRpZiAoIG8uZmllbGRfdHlwZSAmJiBvLmZpZWxkX3R5cGUgPT09ICd0ZXh0X2lucHV0JyApIHtcblx0XHRcdFx0JCggdGhpcyApLmh0bWwoICQuZm4uRm9ybXVsYUJ1aWxkZXIuaHRtbF90ZW1wbGF0ZV90ZXh0X2lucHV0ICk7XG5cdFx0XHRcdGNhbGNfd2lkdGggPSBmYWxzZTtcblx0XHRcdH1cblxuXHRcdFx0ZmllbGQgPSBvLmZpZWxkO1xuXHRcdFx0dGV4dF9pbnB1dCA9ICQoIHRoaXMgKS5maW5kKCAnLmZvcm11bGEtaW5wdXQnICk7XG5cblx0XHRcdHZhciBmb3JtdWxhX2J0biA9ICQoIHRoaXMgKS5maW5kKCAnYnV0dG9uJyApO1xuXG5cdFx0XHRpZiAoICFjYWxjX3dpZHRoICkge1xuXHRcdFx0XHRmb3JtdWxhX2J0bi5jc3MoICdmbG9hdCcsICdyaWdodCcgKTtcblx0XHRcdH1cblxuXHRcdFx0Zm9ybXVsYV9idG4udGV4dCggby50ZXh0X2xhYmVsID8gby50ZXh0X2xhYmVsIDogdGV4dF9sYWJlbCApO1xuXG5cdFx0XHRmb3JtdWxhX2J0bi51bmJpbmQoICdjbGljaycgKS5iaW5kKCAnY2xpY2snLCBmdW5jdGlvbigpIHtcblxuXHRcdFx0XHRpZiAoIG8ub25Gb3JtdWxhQnRuQ2xpY2sgKSB7XG5cdFx0XHRcdFx0by5vbkZvcm11bGFCdG5DbGljaygpO1xuXHRcdFx0XHR9XG5cblx0XHRcdH0gKTtcblxuXHRcdFx0aWYgKCBvLndpZHRoICYmICggby53aWR0aCA+IDAgfHwgby53aWR0aC5pbmRleE9mKCAnJScgKSA+IDAgKSApIHtcblx0XHRcdFx0aWYgKCBvLndpZHRoLmluZGV4T2YoICclJyApID4gMCAmJiBjYWxjX3dpZHRoKSB7XG5cdFx0XHRcdFx0JHRoaXMud2lkdGgoIG8ud2lkdGggKTtcblx0XHRcdFx0XHR0ZXh0X2lucHV0LmNzcyggJ3dpZHRoJywgJ2NhbGMoIDEwMCUgLSAxMTVweCApJyApO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHRleHRfaW5wdXQud2lkdGgoIG8ud2lkdGggKTtcblx0XHRcdFx0fVxuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0dGV4dF9pbnB1dC53aWR0aCggMzAwICk7XG5cdFx0XHR9XG5cdFx0XHRpZiAoIG8uaGVpZ2h0ID4gMCApIHtcblx0XHRcdFx0dGV4dF9pbnB1dC5oZWlnaHQoIG8uaGVpZ2h0ICk7XG5cdFx0XHR9XG5cblx0XHRcdGlmICggby5yb3dzID4gMCApIHtcblx0XHRcdFx0dGV4dF9pbnB1dC5hdHRyKCAncm93cycsIG8ucm93cyApO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0dGV4dF9pbnB1dC5hdHRyKCAncm93cycsIDUgKTtcblx0XHRcdH1cblxuXHRcdFx0aWYgKCBvLnN0eWxlICkge1xuXHRcdFx0XHQkdGhpcy5jc3MoIG8uc3R5bGUgKTtcblx0XHRcdH1cblxuXHRcdFx0dGV4dF9pbnB1dC5jaGFuZ2UoIGZ1bmN0aW9uKCkge1xuXHRcdFx0XHRpZiAoIGNoZWNrX2JveCApIHtcblx0XHRcdFx0XHQkdGhpcy5zZXRDaGVja0JveCggdHJ1ZSApO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0JHRoaXMudHJpZ2dlciggJ2Zvcm1JdGVtQ2hhbmdlJywgWyR0aGlzXSApO1xuXHRcdFx0fSApO1xuXG5cdFx0XHR0ZXh0X2lucHV0Lm1vdXNlb3ZlciggZnVuY3Rpb24oKSB7XG5cblx0XHRcdFx0aWYgKCBlbmFibGVkICkge1xuXHRcdFx0XHRcdGlmICggZXJyb3Jfc3RyaW5nICYmIGVycm9yX3N0cmluZy5sZW5ndGggPiAwICkge1xuXHRcdFx0XHRcdFx0JHRoaXMuc2hvd0Vycm9yVGlwKCAyMCApO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHR9ICk7XG5cblx0XHRcdHRleHRfaW5wdXQubW91c2VvdXQoIGZ1bmN0aW9uKCkge1xuXHRcdFx0XHRpZiAoICEkKCAkdGhpcyApLmlzKCAnOmZvY3VzJyApICkge1xuXHRcdFx0XHRcdCR0aGlzLmhpZGVFcnJvclRpcCgpO1xuXHRcdFx0XHR9XG5cdFx0XHR9ICk7XG5cblx0XHRcdHRleHRfaW5wdXQuZm9jdXNpbiggZnVuY3Rpb24oKSB7XG5cdFx0XHRcdGlmICggIWVuYWJsZWQgKSB7XG5cdFx0XHRcdFx0aWYgKCAhY2hlY2tfYm94ICkge1xuXHRcdFx0XHRcdFx0aWYgKCBMb2NhbENhY2hlRGF0YS5jdXJyZW50X29wZW5fc3ViX2NvbnRyb2xsZXIgJiZcblx0XHRcdFx0XHRcdFx0TG9jYWxDYWNoZURhdGEuY3VycmVudF9vcGVuX3N1Yl9jb250cm9sbGVyLmVkaXRfdmlldyAmJlxuXHRcdFx0XHRcdFx0XHRMb2NhbENhY2hlRGF0YS5jdXJyZW50X29wZW5fc3ViX2NvbnRyb2xsZXIuaXNfdmlld2luZyApIHtcblx0XHRcdFx0XHRcdFx0ZXJyb3Jfc3RyaW5nID0gTG9jYWxDYWNoZURhdGEuY3VycmVudF9vcGVuX3N1Yl9jb250cm9sbGVyLmdldFZpZXdNb2RlRXJyb3JNZXNzYWdlKCk7XG5cdFx0XHRcdFx0XHRcdCR0aGlzLnNob3dFcnJvclRpcCggMTAgKTtcblx0XHRcdFx0XHRcdH0gZWxzZSBpZiAoIExvY2FsQ2FjaGVEYXRhLmN1cnJlbnRfb3Blbl9wcmltYXJ5X2NvbnRyb2xsZXIgJiZcblx0XHRcdFx0XHRcdFx0TG9jYWxDYWNoZURhdGEuY3VycmVudF9vcGVuX3ByaW1hcnlfY29udHJvbGxlci5lZGl0X3ZpZXcgJiZcblx0XHRcdFx0XHRcdFx0TG9jYWxDYWNoZURhdGEuY3VycmVudF9vcGVuX3ByaW1hcnlfY29udHJvbGxlci5pc192aWV3aW5nICkge1xuXHRcdFx0XHRcdFx0XHRlcnJvcl9zdHJpbmcgPSBMb2NhbENhY2hlRGF0YS5jdXJyZW50X29wZW5fcHJpbWFyeV9jb250cm9sbGVyLmdldFZpZXdNb2RlRXJyb3JNZXNzYWdlKCk7XG5cdFx0XHRcdFx0XHRcdCR0aGlzLnNob3dFcnJvclRpcCggMTAgKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0aWYgKCBlcnJvcl9zdHJpbmcgJiYgZXJyb3Jfc3RyaW5nLmxlbmd0aCA+IDAgKSB7XG5cdFx0XHRcdFx0XHQkdGhpcy5zaG93RXJyb3JUaXAoIDIwICk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9ICk7XG5cblx0XHRcdHRleHRfaW5wdXQuZm9jdXNvdXQoIGZ1bmN0aW9uKCkge1xuXHRcdFx0XHQkdGhpcy5oaWRlRXJyb3JUaXAoKTtcblx0XHRcdH0gKTtcblxuXHRcdFx0Ly9QcmV2ZW50IG1pc3NpbmcgZm9ybXVsYSBpbnB1dCBib3ggZnJvbSBhcHBlYXJpbmcgZHVyaW5nIGZpcnN0IGxvYWQuXG5cdFx0XHRUVFByb21pc2Uud2FpdCggbnVsbCwgbnVsbCwgZnVuY3Rpb24oKSB7XG5cdFx0XHRcdHRleHRfaW5wdXQucGFyZW50cyggJy5mb3JtdWxhLWJ1aWxkZXInICkuY3NzKCAnb3BhY2l0eScsIDEgKTtcblx0XHRcdH0gKTtcblxuXHRcdH0gKTtcblxuXHRcdHJldHVybiB0aGlzO1xuXG5cdH07XG5cblx0JC5mbi5Gb3JtdWxhQnVpbGRlci5kZWZhdWx0cyA9IHt9O1xuXHQkLmZuLkZvcm11bGFCdWlsZGVyLmh0bWxfdGVtcGxhdGUgPSBgXG5cdDxkaXYgY2xhc3M9XCJmb3JtdWxhLWJ1aWxkZXJcIj5cblx0XHQ8dGV4dGFyZWEgdHlwZT1cInRleHRcIiBjbGFzcz1cInQtdGV4dC1hcmVhIGZvcm11bGEtaW5wdXQgZm9ybXVsYS10ZXh0YXJlYVwiPjwvdGV4dGFyZWE+XG5cdFx0PGJ1dHRvbiBjbGFzcz1cInQtYnV0dG9uIGZvcm11bGEtYnRuXCI+PC9idXR0b24+XG5cdDwvZGl2PlxuXHRgO1xuXHQkLmZuLkZvcm11bGFCdWlsZGVyLmh0bWxfdGVtcGxhdGVfdGV4dF9pbnB1dCA9IGBcblx0PGRpdiBjbGFzcz1cImZvcm11bGEtYnVpbGRlclwiPlxuXHRcdDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwidC10ZXh0LWlucHV0IGZvcm11bGEtaW5wdXRcIiBhdXRvY29tcGxldGU9XCJ0aW1ldHJleC1uby1hdXRvLWZpbGxcIj5cblx0XHQ8YnV0dG9uIGNsYXNzPVwidC1idXR0b24gZm9ybXVsYS1idG5cIiBzdHlsZT1cIm1hcmdpbi1sZWZ0OiA1cHg7IG1hcmdpbi10b3A6IC0xcHg7XCI+PC9idXR0b24+XG5cdDwvZGl2PlxuXHRgO1xuXG59ICkoIGpRdWVyeSApOyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///9326\n")},6729:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"CustomColumnViewController\": () => (/* binding */ CustomColumnViewController)\n/* harmony export */ });\n/* harmony import */ var _global_widgets_formula_builder_FormulaBuilder_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9326);\n/* harmony import */ var _global_widgets_formula_builder_FormulaBuilder_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_global_widgets_formula_builder_FormulaBuilder_js__WEBPACK_IMPORTED_MODULE_0__);\n/* provided dependency */ var _ = __webpack_require__(9050);\n/* provided dependency */ var $ = __webpack_require__(9755);\n // imported unnamed as it self executes on to the jQuery object as a jQuery plugin.\n\nclass CustomColumnViewController extends BaseViewController {\n\tconstructor( options = {} ) {\n\t\t_.defaults( options, {\n\t\t\tel: '#custom_column_view_container',\n\n\t\t\tsub_report_schedule_view_controller: null,\n\n\t\t\ttype_array: null,\n\t\t\tformat_array: null,\n\t\t\texclude_columns_array: null,\n\t\t\tinclude_columns_array: null\n\t\t} );\n\n\t\tsuper( options );\n\t}\n\n\tinit( options ) {\n\t\tthis.edit_view_tpl = 'CustomColumnEditView.html';\n\t\tthis.permission_id = 'report';\n\t\tthis.viewId = 'CustomColumn';\n\t\tthis.script_name = 'CustomColumnView';\n\t\tthis.context_menu_name = $.i18n._( 'Custom Column' );\n\t\tthis.navigation_label = $.i18n._( 'Custom Column' );\n\t\tthis.table_name_key = 'report_custom_column';\n\t\tthis.api = TTAPI.APIReportCustomColumn;\n\n\t\tthis.render();\n\t\tif ( this.sub_view_mode ) {\n\t\t\tthis.buildContextMenu( true );\n\n\t\t\t//call init data in parent view, don't call initData\n\t\t} else {\n\t\t\tthis.buildContextMenu();\n\t\t\tif ( !this.sub_view_mode ) {\n\t\t\t\tthis.initData();\n\t\t\t}\n\t\t}\n\t}\n\n\tgetCustomContextMenuModel() {\n\t\tvar context_menu_model = {\n\t\t\texclude: ['mass_edit'],\n\t\t\tinclude: []\n\t\t};\n\n\t\tif ( this.sub_view_mode ) {\n\t\t\tcontext_menu_model.exclude.push( 'view' );\n\t\t}\n\n\t\treturn context_menu_model;\n\t}\n\n\tbuildEditViewUI() {\n\n\t\tsuper.buildEditViewUI();\n\t\tvar $this = this;\n\n\t\tvar tab_model = {\n\t\t\t'tab_custom_column': { 'label': $.i18n._( 'Custom Column' ) },\n\t\t\t'tab_audit': true,\n\t\t};\n\t\tthis.setTabModel( tab_model );\n\n\t\tif ( !this.edit_only_mode ) {\n\t\t\tthis.navigation.AComboBox( {\n\t\t\t\tapi_class: TTAPI.APIUserReportData,\n\t\t\t\tid: this.script_name + '_navigation',\n\t\t\t\tallow_multiple_selection: false,\n\t\t\t\tlayout_name: 'global_branch',\n\t\t\t\tnavigation_mode: true,\n\t\t\t\tshow_search_inputs: true\n\t\t\t} );\n\n\t\t\tthis.setNavigation();\n\t\t}\n\n\t\t//Tab 0 start\n\n\t\tvar tab_custom_column = this.edit_view_tab.find( '#tab_custom_column' );\n\n\t\tvar tab_custom_column_column1 = tab_custom_column.find( '.first-column' );\n\n\t\tthis.edit_view_tabs[0] = [];\n\n\t\tthis.edit_view_tabs[0].push( tab_custom_column_column1 );\n\n\t\t// Name\n\n\t\tvar form_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\n\t\tform_item_input.TTextInput( { field: 'name', width: '100%' } );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Name' ), form_item_input, tab_custom_column_column1, '' );\n\n\t\tform_item_input.parent().width( '45%' );\n\n\t\t// Description\n\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.TEXT_AREA );\n\n\t\tform_item_input.TTextInput( { field: 'description', width: '100%' } );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Description' ), form_item_input, tab_custom_column_column1, '', null, null, true );\n\n\t\tform_item_input.parent().width( '45%' );\n\n\t\t//Type\n\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.COMBO_BOX );\n\t\tform_item_input.TComboBox( { field: 'type_id', set_empty: false } );\n\t\tform_item_input.setSourceData( $this.type_array );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Type' ), form_item_input, tab_custom_column_column1 );\n\n\t\t//Format\n\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.COMBO_BOX );\n\t\tform_item_input.TComboBox( { field: 'format_id' } );\n\t\tform_item_input.setSourceData( $this.format_array );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Format' ), form_item_input, tab_custom_column_column1 );\n\n\t\t//Include Columns\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input = form_item_input.AComboBox( {\n\t\t\tfield: 'include_columns',\n\t\t\tset_empty: true,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_option_column',\n\t\t\tkey: 'value'\n\t\t} );\n\n\t\tform_item_input.setSourceData( $this.include_columns_array );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Include Columns' ), form_item_input, tab_custom_column_column1, '', null, true );\n\n\t\t//exclude Columns\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.AWESOME_BOX );\n\n\t\tform_item_input = form_item_input.AComboBox( {\n\t\t\tfield: 'exclude_columns',\n\t\t\tset_empty: true,\n\t\t\tallow_multiple_selection: true,\n\t\t\tlayout_name: 'global_option_column',\n\t\t\tkey: 'value'\n\t\t} );\n\n\t\tform_item_input.setSourceData( $this.exclude_columns_array );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Exclude Columns' ), form_item_input, tab_custom_column_column1, '', null, true );\n\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.FORMULA_BUILDER );\n\t\tform_item_input.FormulaBuilder( {\n\t\t\tfield: 'formula', width: '100%', onFormulaBtnClick: function() {\n\t\t\t\tvar report_api = LocalCacheData.current_open_report_controller.api;\n\t\t\t\t$this.api.getOptions( 'formula_functions', {\n\t\t\t\t\tonResult: function( fun_result ) {\n\t\t\t\t\t\tvar fun_res_data = fun_result.getResult();\n\n\t\t\t\t\t\tif ( $this.current_edit_record.type_id == 30 || $this.current_edit_record.type_id == 31 ) {\n\t\t\t\t\t\t\treport_api.getOptions( 'filter_columns', { onResult: onColumnsResult } );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treport_api.getOptions( 'formula_columns', { onResult: onColumnsResult } );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tfunction onColumnsResult( col_result ) {\n\t\t\t\t\t\t\tvar col_res_data = col_result.getResult();\n\n\t\t\t\t\t\t\tvar default_args = {};\n\t\t\t\t\t\t\tdefault_args.functions = Global.buildRecordArray( fun_res_data );\n\t\t\t\t\t\t\tdefault_args.variables = Global.buildRecordArray( col_res_data );\n\t\t\t\t\t\t\tdefault_args.formula = $this.current_edit_record.formula;\n\t\t\t\t\t\t\tdefault_args.current_edit_record = Global.clone( $this.current_edit_record );\n\t\t\t\t\t\t\tdefault_args.api = $this.api;\n\n\t\t\t\t\t\t\tIndexViewController.openWizard( 'FormulaBuilderWizard', default_args, function( val ) {\n\t\t\t\t\t\t\t\t$this.current_edit_record.formula = val;\n\t\t\t\t\t\t\t\t$this.edit_view_ui_dic.formula.setValue( val );\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\n\t\t$this.addEditFieldToColumn( $.i18n._( 'Formula' ), form_item_input, tab_custom_column_column1, '', null, true, true );\n\t\tform_item_input.parent().width( '45%' );\n\t\t$this.detachElement( 'formula' );\n\t}\n\n\tonFormItemChange( target, doNotValidate ) {\n\t\tthis.setIsChanged( target );\n\t\tthis.setMassEditingFieldsWhenFormChange( target );\n\n\t\tvar key = target.getField();\n\t\tvar c_value = target.getValue();\n\n\t\tthis.current_edit_record[key] = c_value;\n\n\t\tswitch ( key ) {\n\t\t\tcase 'type_id':\n\t\t\t\tthis.onTypeChange();\n\t\t\t\tbreak;\n\n\t\t}\n\n\t\tif ( !doNotValidate ) {\n\t\t\tthis.validate();\n\t\t}\n\t}\n\n\tonAddClick() {\n\t\tsuper.onAddClick();\n\t\tvar $this = this;\n\t\tTTPromise.wait( null, null, function() {\n\t\t\t$this.collectUIDataToCurrentEditRecord();\n\t\t\t$this.onTypeChange();\n\t\t} );\n\t}\n\n\tonTypeChange() {\n\t\tif ( this.current_edit_record.type_id == 10 ) {\n\t\t\tthis.detachElement( 'formula' );\n\t\t\tthis.attachElement( 'exclude_columns' );\n\t\t\tthis.attachElement( 'include_columns' );\n\t\t} else {\n\t\t\tthis.attachElement( 'formula' );\n\t\t\tthis.detachElement( 'exclude_columns' );\n\t\t\tthis.detachElement( 'include_columns' );\n\t\t}\n\t}\n\n\tsetEditViewDataDone() {\n\t\tvar $this = this;\n\t\tsuper.setEditViewDataDone();\n\t\tthis.onTypeChange();\n\t}\n\n\tbuildSearchFields() {\n\n\t\tsuper.buildSearchFields();\n\t\tthis.search_fields = [\n\t\t\tnew SearchField( {\n\t\t\t\tlabel: $.i18n._( 'Name' ),\n\t\t\t\tin_column: 1,\n\t\t\t\tfield: 'name',\n\t\t\t\tmultiple: true,\n\t\t\t\tbasic_search: true,\n\t\t\t\tadv_search: false,\n\t\t\t\tform_item_type: FormItemType.TEXT_INPUT\n\t\t\t} ),\n\t\t\tnew SearchField( {\n\t\t\t\tlabel: $.i18n._( 'Description' ),\n\t\t\t\tfield: 'description',\n\t\t\t\tbasic_search: true,\n\t\t\t\tadv_search: false,\n\t\t\t\tin_column: 1,\n\t\t\t\tform_item_type: FormItemType.TEXT_INPUT\n\t\t\t} ),\n\t\t\tnew SearchField( {\n\t\t\t\tlabel: $.i18n._( 'Created By' ),\n\t\t\t\tin_column: 2,\n\t\t\t\tfield: 'created_by',\n\t\t\t\tlayout_name: 'global_user',\n\t\t\t\tapi_class: TTAPI.APIUser,\n\t\t\t\tmultiple: true,\n\t\t\t\tbasic_search: true,\n\t\t\t\tadv_search: false,\n\t\t\t\tscript_name: 'EmployeeView',\n\t\t\t\tform_item_type: FormItemType.AWESOME_BOX\n\t\t\t} ),\n\t\t\tnew SearchField( {\n\t\t\t\tlabel: $.i18n._( 'Updated By' ),\n\t\t\t\tin_column: 2,\n\t\t\t\tfield: 'updated_by',\n\t\t\t\tlayout_name: 'global_user',\n\t\t\t\tapi_class: TTAPI.APIUser,\n\t\t\t\tmultiple: true,\n\t\t\t\tbasic_search: true,\n\t\t\t\tadv_search: false,\n\t\t\t\tscript_name: 'EmployeeView',\n\t\t\t\tform_item_type: FormItemType.AWESOME_BOX\n\t\t\t} )\n\n\t\t];\n\t}\n\n\tgetGridSetup() {\n\t\tvar $this = this;\n\n\t\tvar grid_setup = {\n\t\t\tcontainer_selector: this.sub_view_mode ? '#tab_custom_columns' : 'body',\n\t\t\tsub_grid_mode: this.sub_view_mode,\n\t\t\tonSelectRow: function() {\n\t\t\t\t$this.onGridSelectRow();\n\t\t\t},\n\t\t\tonCellSelect: function() {\n\t\t\t\t$this.onGridSelectRow();\n\t\t\t},\n\t\t\tonSelectAll: function() {\n\t\t\t\t$this.onGridSelectAll();\n\t\t\t},\n\t\t\tondblClickRow: function( e ) {\n\t\t\t\t$this.onGridDblClickRow( e );\n\t\t\t},\n\t\t\tonRightClickRow: function( rowId ) {\n\t\t\t\tvar id_array = $this.getGridSelectIdArray();\n\t\t\t\tif ( id_array.indexOf( rowId ) < 0 ) {\n\t\t\t\t\t$this.grid.grid.resetSelection();\n\t\t\t\t\t$this.grid.grid.setSelection( rowId );\n\t\t\t\t\t$this.onGridSelectRow();\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\n\t\t//Only use custom grid sizing when in sub_view_mode, since we need to use the BaseViewController grid sizing otherwise.\n\t\tif ( this.sub_view_mode ) {\n\t\t\tgrid_setup.setGridSize = function() {\n\t\t\t\tif ( $this.sub_view_mode ) {\n\t\t\t\t\t$this.baseViewSubTabGridResize( '#tab_custom_columns' );\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tgrid_setup.onResizeGrid = function() {\n\t\t\t\tif ( $this.sub_view_mode ) {\n\t\t\t\t\t$this.baseViewSubTabGridResize( '#tab_custom_columns' );\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\n\t\treturn grid_setup;\n\t}\n\n\topenEditView() {\n\t\tif ( !this.edit_view ) {\n\t\t\tthis.initEditViewUI( this.viewId, this.edit_view_tpl );\n\t\t}\n\n\t\tif ( this.sub_view_mode ) {\n\t\t\tthis.parent_view_controller.need_refresh_display_columns = true;\n\t\t}\n\t}\n\n\tinitOptions( callBack ) {\n\n\t\tvar $this = this;\n\n\t\tthis.initDropDownOption( 'type' );\n\t\tthis.initDropDownOption( 'format' );\n\t\tthis.initDropDownOption( 'dynamic_columns', 'dynamic_columns', this.parent_view_controller.api, function( result ) {\n\t\t\tvar result_data = result.getResult();\n\n\t\t\t$this.include_columns_array = Global.buildRecordArray( result_data );\n\t\t\t$this.exclude_columns_array = Global.buildRecordArray( result_data );\n\t\t} );\n\t}\n\n\tonDeleteDone( result ) {\n\t\tthis.parent_view_controller.need_refresh_display_columns = true;\n\t\tthis.removeDeletedRows();\n\t}\n\n\tonDeleteAndNextDone( result ) {\n\t\tthis.parent_view_controller.need_refresh_display_columns = true;\n\t}\n\n\tsearchDone() {\n\t\t$( 'window' ).trigger( 'resize' );\n\t\tif ( this.sub_view_mode ) {\n\t\t\tTTPromise.resolve( 'SubCustomColumnView', 'init' );\n\t\t}\n\t\tsuper.searchDone();\n\t}\n}\n\nCustomColumnViewController.loadSubView = function( container, beforeViewLoadedFun, afterViewLoadedFun ) {\n\n\tGlobal.loadViewSource( 'CustomColumn', 'SubCustomColumnView.html', function( result ) {\n\t\tvar args = {};\n\t\tvar template = _.template( result );\n\t\tif ( Global.isSet( beforeViewLoadedFun ) ) {\n\t\t\tbeforeViewLoadedFun();\n\t\t}\n\t\tif ( Global.isSet( container ) ) {\n\t\t\tcontainer.html( template( args ) );\n\t\t\tif ( Global.isSet( afterViewLoadedFun ) ) {\n\t\t\t\tTTPromise.wait( 'BaseViewController', 'initialize', function() {\n\t\t\t\t\tafterViewLoadedFun( window.sub_custom_column_view_controller ); // previously sub_custom_column_controller\n\t\t\t\t} );\n\t\t\t}\n\n\t\t}\n\n\t} );\n\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsRUFBRSxDQUFDO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxpQkFBaUIsQ0FBQztBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFFQUFxRTtBQUNyRSxNQUFNO0FBQ047O0FBRUE7O0FBRUEsR0FBRzs7QUFFSCIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL2ludGVyZmFjZS9odG1sNS92aWV3cy9yZXBvcnRzL2N1c3RvbV9jb2x1bW4vQ3VzdG9tQ29sdW1uVmlld0NvbnRyb2xsZXIuanM/NTNhMyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ0AvZ2xvYmFsL3dpZGdldHMvZm9ybXVsYV9idWlsZGVyL0Zvcm11bGFCdWlsZGVyLmpzJzsgLy8gaW1wb3J0ZWQgdW5uYW1lZCBhcyBpdCBzZWxmIGV4ZWN1dGVzIG9uIHRvIHRoZSBqUXVlcnkgb2JqZWN0IGFzIGEgalF1ZXJ5IHBsdWdpbi5cblxuZXhwb3J0IGNsYXNzIEN1c3RvbUNvbHVtblZpZXdDb250cm9sbGVyIGV4dGVuZHMgQmFzZVZpZXdDb250cm9sbGVyIHtcblx0Y29uc3RydWN0b3IoIG9wdGlvbnMgPSB7fSApIHtcblx0XHRfLmRlZmF1bHRzKCBvcHRpb25zLCB7XG5cdFx0XHRlbDogJyNjdXN0b21fY29sdW1uX3ZpZXdfY29udGFpbmVyJyxcblxuXHRcdFx0c3ViX3JlcG9ydF9zY2hlZHVsZV92aWV3X2NvbnRyb2xsZXI6IG51bGwsXG5cblx0XHRcdHR5cGVfYXJyYXk6IG51bGwsXG5cdFx0XHRmb3JtYXRfYXJyYXk6IG51bGwsXG5cdFx0XHRleGNsdWRlX2NvbHVtbnNfYXJyYXk6IG51bGwsXG5cdFx0XHRpbmNsdWRlX2NvbHVtbnNfYXJyYXk6IG51bGxcblx0XHR9ICk7XG5cblx0XHRzdXBlciggb3B0aW9ucyApO1xuXHR9XG5cblx0aW5pdCggb3B0aW9ucyApIHtcblx0XHR0aGlzLmVkaXRfdmlld190cGwgPSAnQ3VzdG9tQ29sdW1uRWRpdFZpZXcuaHRtbCc7XG5cdFx0dGhpcy5wZXJtaXNzaW9uX2lkID0gJ3JlcG9ydCc7XG5cdFx0dGhpcy52aWV3SWQgPSAnQ3VzdG9tQ29sdW1uJztcblx0XHR0aGlzLnNjcmlwdF9uYW1lID0gJ0N1c3RvbUNvbHVtblZpZXcnO1xuXHRcdHRoaXMuY29udGV4dF9tZW51X25hbWUgPSAkLmkxOG4uXyggJ0N1c3RvbSBDb2x1bW4nICk7XG5cdFx0dGhpcy5uYXZpZ2F0aW9uX2xhYmVsID0gJC5pMThuLl8oICdDdXN0b20gQ29sdW1uJyApO1xuXHRcdHRoaXMudGFibGVfbmFtZV9rZXkgPSAncmVwb3J0X2N1c3RvbV9jb2x1bW4nO1xuXHRcdHRoaXMuYXBpID0gVFRBUEkuQVBJUmVwb3J0Q3VzdG9tQ29sdW1uO1xuXG5cdFx0dGhpcy5yZW5kZXIoKTtcblx0XHRpZiAoIHRoaXMuc3ViX3ZpZXdfbW9kZSApIHtcblx0XHRcdHRoaXMuYnVpbGRDb250ZXh0TWVudSggdHJ1ZSApO1xuXG5cdFx0XHQvL2NhbGwgaW5pdCBkYXRhIGluIHBhcmVudCB2aWV3LCBkb24ndCBjYWxsIGluaXREYXRhXG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuYnVpbGRDb250ZXh0TWVudSgpO1xuXHRcdFx0aWYgKCAhdGhpcy5zdWJfdmlld19tb2RlICkge1xuXHRcdFx0XHR0aGlzLmluaXREYXRhKCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Z2V0Q3VzdG9tQ29udGV4dE1lbnVNb2RlbCgpIHtcblx0XHR2YXIgY29udGV4dF9tZW51X21vZGVsID0ge1xuXHRcdFx0ZXhjbHVkZTogWydtYXNzX2VkaXQnXSxcblx0XHRcdGluY2x1ZGU6IFtdXG5cdFx0fTtcblxuXHRcdGlmICggdGhpcy5zdWJfdmlld19tb2RlICkge1xuXHRcdFx0Y29udGV4dF9tZW51X21vZGVsLmV4Y2x1ZGUucHVzaCggJ3ZpZXcnICk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIGNvbnRleHRfbWVudV9tb2RlbDtcblx0fVxuXG5cdGJ1aWxkRWRpdFZpZXdVSSgpIHtcblxuXHRcdHN1cGVyLmJ1aWxkRWRpdFZpZXdVSSgpO1xuXHRcdHZhciAkdGhpcyA9IHRoaXM7XG5cblx0XHR2YXIgdGFiX21vZGVsID0ge1xuXHRcdFx0J3RhYl9jdXN0b21fY29sdW1uJzogeyAnbGFiZWwnOiAkLmkxOG4uXyggJ0N1c3RvbSBDb2x1bW4nICkgfSxcblx0XHRcdCd0YWJfYXVkaXQnOiB0cnVlLFxuXHRcdH07XG5cdFx0dGhpcy5zZXRUYWJNb2RlbCggdGFiX21vZGVsICk7XG5cblx0XHRpZiAoICF0aGlzLmVkaXRfb25seV9tb2RlICkge1xuXHRcdFx0dGhpcy5uYXZpZ2F0aW9uLkFDb21ib0JveCgge1xuXHRcdFx0XHRhcGlfY2xhc3M6IFRUQVBJLkFQSVVzZXJSZXBvcnREYXRhLFxuXHRcdFx0XHRpZDogdGhpcy5zY3JpcHRfbmFtZSArICdfbmF2aWdhdGlvbicsXG5cdFx0XHRcdGFsbG93X211bHRpcGxlX3NlbGVjdGlvbjogZmFsc2UsXG5cdFx0XHRcdGxheW91dF9uYW1lOiAnZ2xvYmFsX2JyYW5jaCcsXG5cdFx0XHRcdG5hdmlnYXRpb25fbW9kZTogdHJ1ZSxcblx0XHRcdFx0c2hvd19zZWFyY2hfaW5wdXRzOiB0cnVlXG5cdFx0XHR9ICk7XG5cblx0XHRcdHRoaXMuc2V0TmF2aWdhdGlvbigpO1xuXHRcdH1cblxuXHRcdC8vVGFiIDAgc3RhcnRcblxuXHRcdHZhciB0YWJfY3VzdG9tX2NvbHVtbiA9IHRoaXMuZWRpdF92aWV3X3RhYi5maW5kKCAnI3RhYl9jdXN0b21fY29sdW1uJyApO1xuXG5cdFx0dmFyIHRhYl9jdXN0b21fY29sdW1uX2NvbHVtbjEgPSB0YWJfY3VzdG9tX2NvbHVtbi5maW5kKCAnLmZpcnN0LWNvbHVtbicgKTtcblxuXHRcdHRoaXMuZWRpdF92aWV3X3RhYnNbMF0gPSBbXTtcblxuXHRcdHRoaXMuZWRpdF92aWV3X3RhYnNbMF0ucHVzaCggdGFiX2N1c3RvbV9jb2x1bW5fY29sdW1uMSApO1xuXG5cdFx0Ly8gTmFtZVxuXG5cdFx0dmFyIGZvcm1faXRlbV9pbnB1dCA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuVEVYVF9JTlBVVCApO1xuXG5cdFx0Zm9ybV9pdGVtX2lucHV0LlRUZXh0SW5wdXQoIHsgZmllbGQ6ICduYW1lJywgd2lkdGg6ICcxMDAlJyB9ICk7XG5cdFx0dGhpcy5hZGRFZGl0RmllbGRUb0NvbHVtbiggJC5pMThuLl8oICdOYW1lJyApLCBmb3JtX2l0ZW1faW5wdXQsIHRhYl9jdXN0b21fY29sdW1uX2NvbHVtbjEsICcnICk7XG5cblx0XHRmb3JtX2l0ZW1faW5wdXQucGFyZW50KCkud2lkdGgoICc0NSUnICk7XG5cblx0XHQvLyBEZXNjcmlwdGlvblxuXG5cdFx0Zm9ybV9pdGVtX2lucHV0ID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5URVhUX0FSRUEgKTtcblxuXHRcdGZvcm1faXRlbV9pbnB1dC5UVGV4dElucHV0KCB7IGZpZWxkOiAnZGVzY3JpcHRpb24nLCB3aWR0aDogJzEwMCUnIH0gKTtcblx0XHR0aGlzLmFkZEVkaXRGaWVsZFRvQ29sdW1uKCAkLmkxOG4uXyggJ0Rlc2NyaXB0aW9uJyApLCBmb3JtX2l0ZW1faW5wdXQsIHRhYl9jdXN0b21fY29sdW1uX2NvbHVtbjEsICcnLCBudWxsLCBudWxsLCB0cnVlICk7XG5cblx0XHRmb3JtX2l0ZW1faW5wdXQucGFyZW50KCkud2lkdGgoICc0NSUnICk7XG5cblx0XHQvL1R5cGVcblxuXHRcdGZvcm1faXRlbV9pbnB1dCA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuQ09NQk9fQk9YICk7XG5cdFx0Zm9ybV9pdGVtX2lucHV0LlRDb21ib0JveCggeyBmaWVsZDogJ3R5cGVfaWQnLCBzZXRfZW1wdHk6IGZhbHNlIH0gKTtcblx0XHRmb3JtX2l0ZW1faW5wdXQuc2V0U291cmNlRGF0YSggJHRoaXMudHlwZV9hcnJheSApO1xuXHRcdHRoaXMuYWRkRWRpdEZpZWxkVG9Db2x1bW4oICQuaTE4bi5fKCAnVHlwZScgKSwgZm9ybV9pdGVtX2lucHV0LCB0YWJfY3VzdG9tX2NvbHVtbl9jb2x1bW4xICk7XG5cblx0XHQvL0Zvcm1hdFxuXG5cdFx0Zm9ybV9pdGVtX2lucHV0ID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5DT01CT19CT1ggKTtcblx0XHRmb3JtX2l0ZW1faW5wdXQuVENvbWJvQm94KCB7IGZpZWxkOiAnZm9ybWF0X2lkJyB9ICk7XG5cdFx0Zm9ybV9pdGVtX2lucHV0LnNldFNvdXJjZURhdGEoICR0aGlzLmZvcm1hdF9hcnJheSApO1xuXHRcdHRoaXMuYWRkRWRpdEZpZWxkVG9Db2x1bW4oICQuaTE4bi5fKCAnRm9ybWF0JyApLCBmb3JtX2l0ZW1faW5wdXQsIHRhYl9jdXN0b21fY29sdW1uX2NvbHVtbjEgKTtcblxuXHRcdC8vSW5jbHVkZSBDb2x1bW5zXG5cdFx0Zm9ybV9pdGVtX2lucHV0ID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5BV0VTT01FX0JPWCApO1xuXG5cdFx0Zm9ybV9pdGVtX2lucHV0ID0gZm9ybV9pdGVtX2lucHV0LkFDb21ib0JveCgge1xuXHRcdFx0ZmllbGQ6ICdpbmNsdWRlX2NvbHVtbnMnLFxuXHRcdFx0c2V0X2VtcHR5OiB0cnVlLFxuXHRcdFx0YWxsb3dfbXVsdGlwbGVfc2VsZWN0aW9uOiB0cnVlLFxuXHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfb3B0aW9uX2NvbHVtbicsXG5cdFx0XHRrZXk6ICd2YWx1ZSdcblx0XHR9ICk7XG5cblx0XHRmb3JtX2l0ZW1faW5wdXQuc2V0U291cmNlRGF0YSggJHRoaXMuaW5jbHVkZV9jb2x1bW5zX2FycmF5ICk7XG5cdFx0dGhpcy5hZGRFZGl0RmllbGRUb0NvbHVtbiggJC5pMThuLl8oICdJbmNsdWRlIENvbHVtbnMnICksIGZvcm1faXRlbV9pbnB1dCwgdGFiX2N1c3RvbV9jb2x1bW5fY29sdW1uMSwgJycsIG51bGwsIHRydWUgKTtcblxuXHRcdC8vZXhjbHVkZSBDb2x1bW5zXG5cdFx0Zm9ybV9pdGVtX2lucHV0ID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5BV0VTT01FX0JPWCApO1xuXG5cdFx0Zm9ybV9pdGVtX2lucHV0ID0gZm9ybV9pdGVtX2lucHV0LkFDb21ib0JveCgge1xuXHRcdFx0ZmllbGQ6ICdleGNsdWRlX2NvbHVtbnMnLFxuXHRcdFx0c2V0X2VtcHR5OiB0cnVlLFxuXHRcdFx0YWxsb3dfbXVsdGlwbGVfc2VsZWN0aW9uOiB0cnVlLFxuXHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfb3B0aW9uX2NvbHVtbicsXG5cdFx0XHRrZXk6ICd2YWx1ZSdcblx0XHR9ICk7XG5cblx0XHRmb3JtX2l0ZW1faW5wdXQuc2V0U291cmNlRGF0YSggJHRoaXMuZXhjbHVkZV9jb2x1bW5zX2FycmF5ICk7XG5cdFx0dGhpcy5hZGRFZGl0RmllbGRUb0NvbHVtbiggJC5pMThuLl8oICdFeGNsdWRlIENvbHVtbnMnICksIGZvcm1faXRlbV9pbnB1dCwgdGFiX2N1c3RvbV9jb2x1bW5fY29sdW1uMSwgJycsIG51bGwsIHRydWUgKTtcblxuXHRcdGZvcm1faXRlbV9pbnB1dCA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuRk9STVVMQV9CVUlMREVSICk7XG5cdFx0Zm9ybV9pdGVtX2lucHV0LkZvcm11bGFCdWlsZGVyKCB7XG5cdFx0XHRmaWVsZDogJ2Zvcm11bGEnLCB3aWR0aDogJzEwMCUnLCBvbkZvcm11bGFCdG5DbGljazogZnVuY3Rpb24oKSB7XG5cdFx0XHRcdHZhciByZXBvcnRfYXBpID0gTG9jYWxDYWNoZURhdGEuY3VycmVudF9vcGVuX3JlcG9ydF9jb250cm9sbGVyLmFwaTtcblx0XHRcdFx0JHRoaXMuYXBpLmdldE9wdGlvbnMoICdmb3JtdWxhX2Z1bmN0aW9ucycsIHtcblx0XHRcdFx0XHRvblJlc3VsdDogZnVuY3Rpb24oIGZ1bl9yZXN1bHQgKSB7XG5cdFx0XHRcdFx0XHR2YXIgZnVuX3Jlc19kYXRhID0gZnVuX3Jlc3VsdC5nZXRSZXN1bHQoKTtcblxuXHRcdFx0XHRcdFx0aWYgKCAkdGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkLnR5cGVfaWQgPT0gMzAgfHwgJHRoaXMuY3VycmVudF9lZGl0X3JlY29yZC50eXBlX2lkID09IDMxICkge1xuXHRcdFx0XHRcdFx0XHRyZXBvcnRfYXBpLmdldE9wdGlvbnMoICdmaWx0ZXJfY29sdW1ucycsIHsgb25SZXN1bHQ6IG9uQ29sdW1uc1Jlc3VsdCB9ICk7XG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRyZXBvcnRfYXBpLmdldE9wdGlvbnMoICdmb3JtdWxhX2NvbHVtbnMnLCB7IG9uUmVzdWx0OiBvbkNvbHVtbnNSZXN1bHQgfSApO1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRmdW5jdGlvbiBvbkNvbHVtbnNSZXN1bHQoIGNvbF9yZXN1bHQgKSB7XG5cdFx0XHRcdFx0XHRcdHZhciBjb2xfcmVzX2RhdGEgPSBjb2xfcmVzdWx0LmdldFJlc3VsdCgpO1xuXG5cdFx0XHRcdFx0XHRcdHZhciBkZWZhdWx0X2FyZ3MgPSB7fTtcblx0XHRcdFx0XHRcdFx0ZGVmYXVsdF9hcmdzLmZ1bmN0aW9ucyA9IEdsb2JhbC5idWlsZFJlY29yZEFycmF5KCBmdW5fcmVzX2RhdGEgKTtcblx0XHRcdFx0XHRcdFx0ZGVmYXVsdF9hcmdzLnZhcmlhYmxlcyA9IEdsb2JhbC5idWlsZFJlY29yZEFycmF5KCBjb2xfcmVzX2RhdGEgKTtcblx0XHRcdFx0XHRcdFx0ZGVmYXVsdF9hcmdzLmZvcm11bGEgPSAkdGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkLmZvcm11bGE7XG5cdFx0XHRcdFx0XHRcdGRlZmF1bHRfYXJncy5jdXJyZW50X2VkaXRfcmVjb3JkID0gR2xvYmFsLmNsb25lKCAkdGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkICk7XG5cdFx0XHRcdFx0XHRcdGRlZmF1bHRfYXJncy5hcGkgPSAkdGhpcy5hcGk7XG5cblx0XHRcdFx0XHRcdFx0SW5kZXhWaWV3Q29udHJvbGxlci5vcGVuV2l6YXJkKCAnRm9ybXVsYUJ1aWxkZXJXaXphcmQnLCBkZWZhdWx0X2FyZ3MsIGZ1bmN0aW9uKCB2YWwgKSB7XG5cdFx0XHRcdFx0XHRcdFx0JHRoaXMuY3VycmVudF9lZGl0X3JlY29yZC5mb3JtdWxhID0gdmFsO1xuXHRcdFx0XHRcdFx0XHRcdCR0aGlzLmVkaXRfdmlld191aV9kaWMuZm9ybXVsYS5zZXRWYWx1ZSggdmFsICk7XG5cdFx0XHRcdFx0XHRcdH0gKTtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSApO1xuXHRcdFx0fVxuXHRcdH0gKTtcblxuXHRcdCR0aGlzLmFkZEVkaXRGaWVsZFRvQ29sdW1uKCAkLmkxOG4uXyggJ0Zvcm11bGEnICksIGZvcm1faXRlbV9pbnB1dCwgdGFiX2N1c3RvbV9jb2x1bW5fY29sdW1uMSwgJycsIG51bGwsIHRydWUsIHRydWUgKTtcblx0XHRmb3JtX2l0ZW1faW5wdXQucGFyZW50KCkud2lkdGgoICc0NSUnICk7XG5cdFx0JHRoaXMuZGV0YWNoRWxlbWVudCggJ2Zvcm11bGEnICk7XG5cdH1cblxuXHRvbkZvcm1JdGVtQ2hhbmdlKCB0YXJnZXQsIGRvTm90VmFsaWRhdGUgKSB7XG5cdFx0dGhpcy5zZXRJc0NoYW5nZWQoIHRhcmdldCApO1xuXHRcdHRoaXMuc2V0TWFzc0VkaXRpbmdGaWVsZHNXaGVuRm9ybUNoYW5nZSggdGFyZ2V0ICk7XG5cblx0XHR2YXIga2V5ID0gdGFyZ2V0LmdldEZpZWxkKCk7XG5cdFx0dmFyIGNfdmFsdWUgPSB0YXJnZXQuZ2V0VmFsdWUoKTtcblxuXHRcdHRoaXMuY3VycmVudF9lZGl0X3JlY29yZFtrZXldID0gY192YWx1ZTtcblxuXHRcdHN3aXRjaCAoIGtleSApIHtcblx0XHRcdGNhc2UgJ3R5cGVfaWQnOlxuXHRcdFx0XHR0aGlzLm9uVHlwZUNoYW5nZSgpO1xuXHRcdFx0XHRicmVhaztcblxuXHRcdH1cblxuXHRcdGlmICggIWRvTm90VmFsaWRhdGUgKSB7XG5cdFx0XHR0aGlzLnZhbGlkYXRlKCk7XG5cdFx0fVxuXHR9XG5cblx0b25BZGRDbGljaygpIHtcblx0XHRzdXBlci5vbkFkZENsaWNrKCk7XG5cdFx0dmFyICR0aGlzID0gdGhpcztcblx0XHRUVFByb21pc2Uud2FpdCggbnVsbCwgbnVsbCwgZnVuY3Rpb24oKSB7XG5cdFx0XHQkdGhpcy5jb2xsZWN0VUlEYXRhVG9DdXJyZW50RWRpdFJlY29yZCgpO1xuXHRcdFx0JHRoaXMub25UeXBlQ2hhbmdlKCk7XG5cdFx0fSApO1xuXHR9XG5cblx0b25UeXBlQ2hhbmdlKCkge1xuXHRcdGlmICggdGhpcy5jdXJyZW50X2VkaXRfcmVjb3JkLnR5cGVfaWQgPT0gMTAgKSB7XG5cdFx0XHR0aGlzLmRldGFjaEVsZW1lbnQoICdmb3JtdWxhJyApO1xuXHRcdFx0dGhpcy5hdHRhY2hFbGVtZW50KCAnZXhjbHVkZV9jb2x1bW5zJyApO1xuXHRcdFx0dGhpcy5hdHRhY2hFbGVtZW50KCAnaW5jbHVkZV9jb2x1bW5zJyApO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLmF0dGFjaEVsZW1lbnQoICdmb3JtdWxhJyApO1xuXHRcdFx0dGhpcy5kZXRhY2hFbGVtZW50KCAnZXhjbHVkZV9jb2x1bW5zJyApO1xuXHRcdFx0dGhpcy5kZXRhY2hFbGVtZW50KCAnaW5jbHVkZV9jb2x1bW5zJyApO1xuXHRcdH1cblx0fVxuXG5cdHNldEVkaXRWaWV3RGF0YURvbmUoKSB7XG5cdFx0dmFyICR0aGlzID0gdGhpcztcblx0XHRzdXBlci5zZXRFZGl0Vmlld0RhdGFEb25lKCk7XG5cdFx0dGhpcy5vblR5cGVDaGFuZ2UoKTtcblx0fVxuXG5cdGJ1aWxkU2VhcmNoRmllbGRzKCkge1xuXG5cdFx0c3VwZXIuYnVpbGRTZWFyY2hGaWVsZHMoKTtcblx0XHR0aGlzLnNlYXJjaF9maWVsZHMgPSBbXG5cdFx0XHRuZXcgU2VhcmNoRmllbGQoIHtcblx0XHRcdFx0bGFiZWw6ICQuaTE4bi5fKCAnTmFtZScgKSxcblx0XHRcdFx0aW5fY29sdW1uOiAxLFxuXHRcdFx0XHRmaWVsZDogJ25hbWUnLFxuXHRcdFx0XHRtdWx0aXBsZTogdHJ1ZSxcblx0XHRcdFx0YmFzaWNfc2VhcmNoOiB0cnVlLFxuXHRcdFx0XHRhZHZfc2VhcmNoOiBmYWxzZSxcblx0XHRcdFx0Zm9ybV9pdGVtX3R5cGU6IEZvcm1JdGVtVHlwZS5URVhUX0lOUFVUXG5cdFx0XHR9ICksXG5cdFx0XHRuZXcgU2VhcmNoRmllbGQoIHtcblx0XHRcdFx0bGFiZWw6ICQuaTE4bi5fKCAnRGVzY3JpcHRpb24nICksXG5cdFx0XHRcdGZpZWxkOiAnZGVzY3JpcHRpb24nLFxuXHRcdFx0XHRiYXNpY19zZWFyY2g6IHRydWUsXG5cdFx0XHRcdGFkdl9zZWFyY2g6IGZhbHNlLFxuXHRcdFx0XHRpbl9jb2x1bW46IDEsXG5cdFx0XHRcdGZvcm1faXRlbV90eXBlOiBGb3JtSXRlbVR5cGUuVEVYVF9JTlBVVFxuXHRcdFx0fSApLFxuXHRcdFx0bmV3IFNlYXJjaEZpZWxkKCB7XG5cdFx0XHRcdGxhYmVsOiAkLmkxOG4uXyggJ0NyZWF0ZWQgQnknICksXG5cdFx0XHRcdGluX2NvbHVtbjogMixcblx0XHRcdFx0ZmllbGQ6ICdjcmVhdGVkX2J5Jyxcblx0XHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfdXNlcicsXG5cdFx0XHRcdGFwaV9jbGFzczogVFRBUEkuQVBJVXNlcixcblx0XHRcdFx0bXVsdGlwbGU6IHRydWUsXG5cdFx0XHRcdGJhc2ljX3NlYXJjaDogdHJ1ZSxcblx0XHRcdFx0YWR2X3NlYXJjaDogZmFsc2UsXG5cdFx0XHRcdHNjcmlwdF9uYW1lOiAnRW1wbG95ZWVWaWV3Jyxcblx0XHRcdFx0Zm9ybV9pdGVtX3R5cGU6IEZvcm1JdGVtVHlwZS5BV0VTT01FX0JPWFxuXHRcdFx0fSApLFxuXHRcdFx0bmV3IFNlYXJjaEZpZWxkKCB7XG5cdFx0XHRcdGxhYmVsOiAkLmkxOG4uXyggJ1VwZGF0ZWQgQnknICksXG5cdFx0XHRcdGluX2NvbHVtbjogMixcblx0XHRcdFx0ZmllbGQ6ICd1cGRhdGVkX2J5Jyxcblx0XHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfdXNlcicsXG5cdFx0XHRcdGFwaV9jbGFzczogVFRBUEkuQVBJVXNlcixcblx0XHRcdFx0bXVsdGlwbGU6IHRydWUsXG5cdFx0XHRcdGJhc2ljX3NlYXJjaDogdHJ1ZSxcblx0XHRcdFx0YWR2X3NlYXJjaDogZmFsc2UsXG5cdFx0XHRcdHNjcmlwdF9uYW1lOiAnRW1wbG95ZWVWaWV3Jyxcblx0XHRcdFx0Zm9ybV9pdGVtX3R5cGU6IEZvcm1JdGVtVHlwZS5BV0VTT01FX0JPWFxuXHRcdFx0fSApXG5cblx0XHRdO1xuXHR9XG5cblx0Z2V0R3JpZFNldHVwKCkge1xuXHRcdHZhciAkdGhpcyA9IHRoaXM7XG5cblx0XHR2YXIgZ3JpZF9zZXR1cCA9IHtcblx0XHRcdGNvbnRhaW5lcl9zZWxlY3RvcjogdGhpcy5zdWJfdmlld19tb2RlID8gJyN0YWJfY3VzdG9tX2NvbHVtbnMnIDogJ2JvZHknLFxuXHRcdFx0c3ViX2dyaWRfbW9kZTogdGhpcy5zdWJfdmlld19tb2RlLFxuXHRcdFx0b25TZWxlY3RSb3c6IGZ1bmN0aW9uKCkge1xuXHRcdFx0XHQkdGhpcy5vbkdyaWRTZWxlY3RSb3coKTtcblx0XHRcdH0sXG5cdFx0XHRvbkNlbGxTZWxlY3Q6IGZ1bmN0aW9uKCkge1xuXHRcdFx0XHQkdGhpcy5vbkdyaWRTZWxlY3RSb3coKTtcblx0XHRcdH0sXG5cdFx0XHRvblNlbGVjdEFsbDogZnVuY3Rpb24oKSB7XG5cdFx0XHRcdCR0aGlzLm9uR3JpZFNlbGVjdEFsbCgpO1xuXHRcdFx0fSxcblx0XHRcdG9uZGJsQ2xpY2tSb3c6IGZ1bmN0aW9uKCBlICkge1xuXHRcdFx0XHQkdGhpcy5vbkdyaWREYmxDbGlja1JvdyggZSApO1xuXHRcdFx0fSxcblx0XHRcdG9uUmlnaHRDbGlja1JvdzogZnVuY3Rpb24oIHJvd0lkICkge1xuXHRcdFx0XHR2YXIgaWRfYXJyYXkgPSAkdGhpcy5nZXRHcmlkU2VsZWN0SWRBcnJheSgpO1xuXHRcdFx0XHRpZiAoIGlkX2FycmF5LmluZGV4T2YoIHJvd0lkICkgPCAwICkge1xuXHRcdFx0XHRcdCR0aGlzLmdyaWQuZ3JpZC5yZXNldFNlbGVjdGlvbigpO1xuXHRcdFx0XHRcdCR0aGlzLmdyaWQuZ3JpZC5zZXRTZWxlY3Rpb24oIHJvd0lkICk7XG5cdFx0XHRcdFx0JHRoaXMub25HcmlkU2VsZWN0Um93KCk7XG5cdFx0XHRcdH1cblx0XHRcdH0sXG5cdFx0fTtcblxuXHRcdC8vT25seSB1c2UgY3VzdG9tIGdyaWQgc2l6aW5nIHdoZW4gaW4gc3ViX3ZpZXdfbW9kZSwgc2luY2Ugd2UgbmVlZCB0byB1c2UgdGhlIEJhc2VWaWV3Q29udHJvbGxlciBncmlkIHNpemluZyBvdGhlcndpc2UuXG5cdFx0aWYgKCB0aGlzLnN1Yl92aWV3X21vZGUgKSB7XG5cdFx0XHRncmlkX3NldHVwLnNldEdyaWRTaXplID0gZnVuY3Rpb24oKSB7XG5cdFx0XHRcdGlmICggJHRoaXMuc3ViX3ZpZXdfbW9kZSApIHtcblx0XHRcdFx0XHQkdGhpcy5iYXNlVmlld1N1YlRhYkdyaWRSZXNpemUoICcjdGFiX2N1c3RvbV9jb2x1bW5zJyApO1xuXHRcdFx0XHR9XG5cdFx0XHR9O1xuXG5cdFx0XHRncmlkX3NldHVwLm9uUmVzaXplR3JpZCA9IGZ1bmN0aW9uKCkge1xuXHRcdFx0XHRpZiAoICR0aGlzLnN1Yl92aWV3X21vZGUgKSB7XG5cdFx0XHRcdFx0JHRoaXMuYmFzZVZpZXdTdWJUYWJHcmlkUmVzaXplKCAnI3RhYl9jdXN0b21fY29sdW1ucycgKTtcblx0XHRcdFx0fVxuXHRcdFx0fTtcblx0XHR9XG5cblx0XHRyZXR1cm4gZ3JpZF9zZXR1cDtcblx0fVxuXG5cdG9wZW5FZGl0VmlldygpIHtcblx0XHRpZiAoICF0aGlzLmVkaXRfdmlldyApIHtcblx0XHRcdHRoaXMuaW5pdEVkaXRWaWV3VUkoIHRoaXMudmlld0lkLCB0aGlzLmVkaXRfdmlld190cGwgKTtcblx0XHR9XG5cblx0XHRpZiAoIHRoaXMuc3ViX3ZpZXdfbW9kZSApIHtcblx0XHRcdHRoaXMucGFyZW50X3ZpZXdfY29udHJvbGxlci5uZWVkX3JlZnJlc2hfZGlzcGxheV9jb2x1bW5zID0gdHJ1ZTtcblx0XHR9XG5cdH1cblxuXHRpbml0T3B0aW9ucyggY2FsbEJhY2sgKSB7XG5cblx0XHR2YXIgJHRoaXMgPSB0aGlzO1xuXG5cdFx0dGhpcy5pbml0RHJvcERvd25PcHRpb24oICd0eXBlJyApO1xuXHRcdHRoaXMuaW5pdERyb3BEb3duT3B0aW9uKCAnZm9ybWF0JyApO1xuXHRcdHRoaXMuaW5pdERyb3BEb3duT3B0aW9uKCAnZHluYW1pY19jb2x1bW5zJywgJ2R5bmFtaWNfY29sdW1ucycsIHRoaXMucGFyZW50X3ZpZXdfY29udHJvbGxlci5hcGksIGZ1bmN0aW9uKCByZXN1bHQgKSB7XG5cdFx0XHR2YXIgcmVzdWx0X2RhdGEgPSByZXN1bHQuZ2V0UmVzdWx0KCk7XG5cblx0XHRcdCR0aGlzLmluY2x1ZGVfY29sdW1uc19hcnJheSA9IEdsb2JhbC5idWlsZFJlY29yZEFycmF5KCByZXN1bHRfZGF0YSApO1xuXHRcdFx0JHRoaXMuZXhjbHVkZV9jb2x1bW5zX2FycmF5ID0gR2xvYmFsLmJ1aWxkUmVjb3JkQXJyYXkoIHJlc3VsdF9kYXRhICk7XG5cdFx0fSApO1xuXHR9XG5cblx0b25EZWxldGVEb25lKCByZXN1bHQgKSB7XG5cdFx0dGhpcy5wYXJlbnRfdmlld19jb250cm9sbGVyLm5lZWRfcmVmcmVzaF9kaXNwbGF5X2NvbHVtbnMgPSB0cnVlO1xuXHRcdHRoaXMucmVtb3ZlRGVsZXRlZFJvd3MoKTtcblx0fVxuXG5cdG9uRGVsZXRlQW5kTmV4dERvbmUoIHJlc3VsdCApIHtcblx0XHR0aGlzLnBhcmVudF92aWV3X2NvbnRyb2xsZXIubmVlZF9yZWZyZXNoX2Rpc3BsYXlfY29sdW1ucyA9IHRydWU7XG5cdH1cblxuXHRzZWFyY2hEb25lKCkge1xuXHRcdCQoICd3aW5kb3cnICkudHJpZ2dlciggJ3Jlc2l6ZScgKTtcblx0XHRpZiAoIHRoaXMuc3ViX3ZpZXdfbW9kZSApIHtcblx0XHRcdFRUUHJvbWlzZS5yZXNvbHZlKCAnU3ViQ3VzdG9tQ29sdW1uVmlldycsICdpbml0JyApO1xuXHRcdH1cblx0XHRzdXBlci5zZWFyY2hEb25lKCk7XG5cdH1cbn1cblxuQ3VzdG9tQ29sdW1uVmlld0NvbnRyb2xsZXIubG9hZFN1YlZpZXcgPSBmdW5jdGlvbiggY29udGFpbmVyLCBiZWZvcmVWaWV3TG9hZGVkRnVuLCBhZnRlclZpZXdMb2FkZWRGdW4gKSB7XG5cblx0R2xvYmFsLmxvYWRWaWV3U291cmNlKCAnQ3VzdG9tQ29sdW1uJywgJ1N1YkN1c3RvbUNvbHVtblZpZXcuaHRtbCcsIGZ1bmN0aW9uKCByZXN1bHQgKSB7XG5cdFx0dmFyIGFyZ3MgPSB7fTtcblx0XHR2YXIgdGVtcGxhdGUgPSBfLnRlbXBsYXRlKCByZXN1bHQgKTtcblx0XHRpZiAoIEdsb2JhbC5pc1NldCggYmVmb3JlVmlld0xvYWRlZEZ1biApICkge1xuXHRcdFx0YmVmb3JlVmlld0xvYWRlZEZ1bigpO1xuXHRcdH1cblx0XHRpZiAoIEdsb2JhbC5pc1NldCggY29udGFpbmVyICkgKSB7XG5cdFx0XHRjb250YWluZXIuaHRtbCggdGVtcGxhdGUoIGFyZ3MgKSApO1xuXHRcdFx0aWYgKCBHbG9iYWwuaXNTZXQoIGFmdGVyVmlld0xvYWRlZEZ1biApICkge1xuXHRcdFx0XHRUVFByb21pc2Uud2FpdCggJ0Jhc2VWaWV3Q29udHJvbGxlcicsICdpbml0aWFsaXplJywgZnVuY3Rpb24oKSB7XG5cdFx0XHRcdFx0YWZ0ZXJWaWV3TG9hZGVkRnVuKCB3aW5kb3cuc3ViX2N1c3RvbV9jb2x1bW5fdmlld19jb250cm9sbGVyICk7IC8vIHByZXZpb3VzbHkgc3ViX2N1c3RvbV9jb2x1bW5fY29udHJvbGxlclxuXHRcdFx0XHR9ICk7XG5cdFx0XHR9XG5cblx0XHR9XG5cblx0fSApO1xuXG59OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///6729\n")}}]); |