\",\n\n\toptions: {\n\t\tclasses: {},\n\t\tdisabled: false,\n\n\t\t// Callbacks\n\t\tcreate: null\n\t},\n\n\t_createWidget: function( options, element ) {\n\t\telement = $( element || this.defaultElement || this )[ 0 ];\n\t\tthis.element = $( element );\n\t\tthis.uuid = widgetUuid++;\n\t\tthis.eventNamespace = \".\" + this.widgetName + this.uuid;\n\n\t\tthis.bindings = $();\n\t\tthis.hoverable = $();\n\t\tthis.focusable = $();\n\t\tthis.classesElementLookup = {};\n\n\t\tif ( element !== this ) {\n\t\t\t$.data( element, this.widgetFullName, this );\n\t\t\tthis._on( true, this.element, {\n\t\t\t\tremove: function( event ) {\n\t\t\t\t\tif ( event.target === element ) {\n\t\t\t\t\t\tthis.destroy();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t\tthis.document = $( element.style ?\n\n\t\t\t\t// Element within the document\n\t\t\t\telement.ownerDocument :\n\n\t\t\t\t// Element is window or document\n\t\t\t\telement.document || element );\n\t\t\tthis.window = $( this.document[ 0 ].defaultView || this.document[ 0 ].parentWindow );\n\t\t}\n\n\t\tthis.options = $.widget.extend( {},\n\t\t\tthis.options,\n\t\t\tthis._getCreateOptions(),\n\t\t\toptions );\n\n\t\tthis._create();\n\n\t\tif ( this.options.disabled ) {\n\t\t\tthis._setOptionDisabled( this.options.disabled );\n\t\t}\n\n\t\tthis._trigger( \"create\", null, this._getCreateEventData() );\n\t\tthis._init();\n\t},\n\n\t_getCreateOptions: function() {\n\t\treturn {};\n\t},\n\n\t_getCreateEventData: $.noop,\n\n\t_create: $.noop,\n\n\t_init: $.noop,\n\n\tdestroy: function() {\n\t\tvar that = this;\n\n\t\tthis._destroy();\n\t\t$.each( this.classesElementLookup, function( key, value ) {\n\t\t\tthat._removeClass( value, key );\n\t\t} );\n\n\t\t// We can probably remove the unbind calls in 2.0\n\t\t// all event bindings should go through this._on()\n\t\tthis.element\n\t\t\t.off( this.eventNamespace )\n\t\t\t.removeData( this.widgetFullName );\n\t\tthis.widget()\n\t\t\t.off( this.eventNamespace )\n\t\t\t.removeAttr( \"aria-disabled\" );\n\n\t\t// Clean up events and states\n\t\tthis.bindings.off( this.eventNamespace );\n\t},\n\n\t_destroy: $.noop,\n\n\twidget: function() {\n\t\treturn this.element;\n\t},\n\n\toption: function( key, value ) {\n\t\tvar options = key;\n\t\tvar parts;\n\t\tvar curOption;\n\t\tvar i;\n\n\t\tif ( arguments.length === 0 ) {\n\n\t\t\t// Don't return a reference to the internal hash\n\t\t\treturn $.widget.extend( {}, this.options );\n\t\t}\n\n\t\tif ( typeof key === \"string\" ) {\n\n\t\t\t// Handle nested keys, e.g., \"foo.bar\" => { foo: { bar: ___ } }\n\t\t\toptions = {};\n\t\t\tparts = key.split( \".\" );\n\t\t\tkey = parts.shift();\n\t\t\tif ( parts.length ) {\n\t\t\t\tcurOption = options[ key ] = $.widget.extend( {}, this.options[ key ] );\n\t\t\t\tfor ( i = 0; i < parts.length - 1; i++ ) {\n\t\t\t\t\tcurOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {};\n\t\t\t\t\tcurOption = curOption[ parts[ i ] ];\n\t\t\t\t}\n\t\t\t\tkey = parts.pop();\n\t\t\t\tif ( arguments.length === 1 ) {\n\t\t\t\t\treturn curOption[ key ] === undefined ? null : curOption[ key ];\n\t\t\t\t}\n\t\t\t\tcurOption[ key ] = value;\n\t\t\t} else {\n\t\t\t\tif ( arguments.length === 1 ) {\n\t\t\t\t\treturn this.options[ key ] === undefined ? null : this.options[ key ];\n\t\t\t\t}\n\t\t\t\toptions[ key ] = value;\n\t\t\t}\n\t\t}\n\n\t\tthis._setOptions( options );\n\n\t\treturn this;\n\t},\n\n\t_setOptions: function( options ) {\n\t\tvar key;\n\n\t\tfor ( key in options ) {\n\t\t\tthis._setOption( key, options[ key ] );\n\t\t}\n\n\t\treturn this;\n\t},\n\n\t_setOption: function( key, value ) {\n\t\tif ( key === \"classes\" ) {\n\t\t\tthis._setOptionClasses( value );\n\t\t}\n\n\t\tthis.options[ key ] = value;\n\n\t\tif ( key === \"disabled\" ) {\n\t\t\tthis._setOptionDisabled( value );\n\t\t}\n\n\t\treturn this;\n\t},\n\n\t_setOptionClasses: function( value ) {\n\t\tvar classKey, elements, currentElements;\n\n\t\tfor ( classKey in value ) {\n\t\t\tcurrentElements = this.classesElementLookup[ classKey ];\n\t\t\tif ( value[ classKey ] === this.options.classes[ classKey ] ||\n\t\t\t\t\t!currentElements ||\n\t\t\t\t\t!currentElements.length ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// We are doing this to create a new jQuery object because the _removeClass() call\n\t\t\t// on the next line is going to destroy the reference to the current elements being\n\t\t\t// tracked. We need to save a copy of this collection so that we can add the new classes\n\t\t\t// below.\n\t\t\telements = $( currentElements.get() );\n\t\t\tthis._removeClass( currentElements, classKey );\n\n\t\t\t// We don't use _addClass() here, because that uses this.options.classes\n\t\t\t// for generating the string of classes. We want to use the value passed in from\n\t\t\t// _setOption(), this is the new value of the classes option which was passed to\n\t\t\t// _setOption(). We pass this value directly to _classes().\n\t\t\telements.addClass( this._classes( {\n\t\t\t\telement: elements,\n\t\t\t\tkeys: classKey,\n\t\t\t\tclasses: value,\n\t\t\t\tadd: true\n\t\t\t} ) );\n\t\t}\n\t},\n\n\t_setOptionDisabled: function( value ) {\n\t\tthis._toggleClass( this.widget(), this.widgetFullName + \"-disabled\", null, !!value );\n\n\t\t// If the widget is becoming disabled, then nothing is interactive\n\t\tif ( value ) {\n\t\t\tthis._removeClass( this.hoverable, null, \"ui-state-hover\" );\n\t\t\tthis._removeClass( this.focusable, null, \"ui-state-focus\" );\n\t\t}\n\t},\n\n\tenable: function() {\n\t\treturn this._setOptions( { disabled: false } );\n\t},\n\n\tdisable: function() {\n\t\treturn this._setOptions( { disabled: true } );\n\t},\n\n\t_classes: function( options ) {\n\t\tvar full = [];\n\t\tvar that = this;\n\n\t\toptions = $.extend( {\n\t\t\telement: this.element,\n\t\t\tclasses: this.options.classes || {}\n\t\t}, options );\n\n\t\tfunction bindRemoveEvent() {\n\t\t\tvar nodesToBind = [];\n\n\t\t\toptions.element.each( function( _, element ) {\n\t\t\t\tvar isTracked = $.map( that.classesElementLookup, function( elements ) {\n\t\t\t\t\treturn elements;\n\t\t\t\t} )\n\t\t\t\t\t.some( function( elements ) {\n\t\t\t\t\t\treturn elements.is( element );\n\t\t\t\t\t} );\n\n\t\t\t\tif ( !isTracked ) {\n\t\t\t\t\tnodesToBind.push( element );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tthat._on( $( nodesToBind ), {\n\t\t\t\tremove: \"_untrackClassesElement\"\n\t\t\t} );\n\t\t}\n\n\t\tfunction processClassString( classes, checkOption ) {\n\t\t\tvar current, i;\n\t\t\tfor ( i = 0; i < classes.length; i++ ) {\n\t\t\t\tcurrent = that.classesElementLookup[ classes[ i ] ] || $();\n\t\t\t\tif ( options.add ) {\n\t\t\t\t\tbindRemoveEvent();\n\t\t\t\t\tcurrent = $( $.uniqueSort( current.get().concat( options.element.get() ) ) );\n\t\t\t\t} else {\n\t\t\t\t\tcurrent = $( current.not( options.element ).get() );\n\t\t\t\t}\n\t\t\t\tthat.classesElementLookup[ classes[ i ] ] = current;\n\t\t\t\tfull.push( classes[ i ] );\n\t\t\t\tif ( checkOption && options.classes[ classes[ i ] ] ) {\n\t\t\t\t\tfull.push( options.classes[ classes[ i ] ] );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( options.keys ) {\n\t\t\tprocessClassString( options.keys.match( /\\S+/g ) || [], true );\n\t\t}\n\t\tif ( options.extra ) {\n\t\t\tprocessClassString( options.extra.match( /\\S+/g ) || [] );\n\t\t}\n\n\t\treturn full.join( \" \" );\n\t},\n\n\t_untrackClassesElement: function( event ) {\n\t\tvar that = this;\n\t\t$.each( that.classesElementLookup, function( key, value ) {\n\t\t\tif ( $.inArray( event.target, value ) !== -1 ) {\n\t\t\t\tthat.classesElementLookup[ key ] = $( value.not( event.target ).get() );\n\t\t\t}\n\t\t} );\n\n\t\tthis._off( $( event.target ) );\n\t},\n\n\t_removeClass: function( element, keys, extra ) {\n\t\treturn this._toggleClass( element, keys, extra, false );\n\t},\n\n\t_addClass: function( element, keys, extra ) {\n\t\treturn this._toggleClass( element, keys, extra, true );\n\t},\n\n\t_toggleClass: function( element, keys, extra, add ) {\n\t\tadd = ( typeof add === \"boolean\" ) ? add : extra;\n\t\tvar shift = ( typeof element === \"string\" || element === null ),\n\t\t\toptions = {\n\t\t\t\textra: shift ? keys : extra,\n\t\t\t\tkeys: shift ? element : keys,\n\t\t\t\telement: shift ? this.element : element,\n\t\t\t\tadd: add\n\t\t\t};\n\t\toptions.element.toggleClass( this._classes( options ), add );\n\t\treturn this;\n\t},\n\n\t_on: function( suppressDisabledCheck, element, handlers ) {\n\t\tvar delegateElement;\n\t\tvar instance = this;\n\n\t\t// No suppressDisabledCheck flag, shuffle arguments\n\t\tif ( typeof suppressDisabledCheck !== \"boolean\" ) {\n\t\t\thandlers = element;\n\t\t\telement = suppressDisabledCheck;\n\t\t\tsuppressDisabledCheck = false;\n\t\t}\n\n\t\t// No element argument, shuffle and use this.element\n\t\tif ( !handlers ) {\n\t\t\thandlers = element;\n\t\t\telement = this.element;\n\t\t\tdelegateElement = this.widget();\n\t\t} else {\n\t\t\telement = delegateElement = $( element );\n\t\t\tthis.bindings = this.bindings.add( element );\n\t\t}\n\n\t\t$.each( handlers, function( event, handler ) {\n\t\t\tfunction handlerProxy() {\n\n\t\t\t\t// Allow widgets to customize the disabled handling\n\t\t\t\t// - disabled as an array instead of boolean\n\t\t\t\t// - disabled class as method for disabling individual parts\n\t\t\t\tif ( !suppressDisabledCheck &&\n\t\t\t\t\t\t( instance.options.disabled === true ||\n\t\t\t\t\t\t$( this ).hasClass( \"ui-state-disabled\" ) ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\treturn ( typeof handler === \"string\" ? instance[ handler ] : handler )\n\t\t\t\t\t.apply( instance, arguments );\n\t\t\t}\n\n\t\t\t// Copy the guid so direct unbinding works\n\t\t\tif ( typeof handler !== \"string\" ) {\n\t\t\t\thandlerProxy.guid = handler.guid =\n\t\t\t\t\thandler.guid || handlerProxy.guid || $.guid++;\n\t\t\t}\n\n\t\t\tvar match = event.match( /^([\\w:-]*)\\s*(.*)$/ );\n\t\t\tvar eventName = match[ 1 ] + instance.eventNamespace;\n\t\t\tvar selector = match[ 2 ];\n\n\t\t\tif ( selector ) {\n\t\t\t\tdelegateElement.on( eventName, selector, handlerProxy );\n\t\t\t} else {\n\t\t\t\telement.on( eventName, handlerProxy );\n\t\t\t}\n\t\t} );\n\t},\n\n\t_off: function( element, eventName ) {\n\t\teventName = ( eventName || \"\" ).split( \" \" ).join( this.eventNamespace + \" \" ) +\n\t\t\tthis.eventNamespace;\n\t\telement.off( eventName );\n\n\t\t// Clear the stack to avoid memory leaks (#10056)\n\t\tthis.bindings = $( this.bindings.not( element ).get() );\n\t\tthis.focusable = $( this.focusable.not( element ).get() );\n\t\tthis.hoverable = $( this.hoverable.not( element ).get() );\n\t},\n\n\t_delay: function( handler, delay ) {\n\t\tfunction handlerProxy() {\n\t\t\treturn ( typeof handler === \"string\" ? instance[ handler ] : handler )\n\t\t\t\t.apply( instance, arguments );\n\t\t}\n\t\tvar instance = this;\n\t\treturn setTimeout( handlerProxy, delay || 0 );\n\t},\n\n\t_hoverable: function( element ) {\n\t\tthis.hoverable = this.hoverable.add( element );\n\t\tthis._on( element, {\n\t\t\tmouseenter: function( event ) {\n\t\t\t\tthis._addClass( $( event.currentTarget ), null, \"ui-state-hover\" );\n\t\t\t},\n\t\t\tmouseleave: function( event ) {\n\t\t\t\tthis._removeClass( $( event.currentTarget ), null, \"ui-state-hover\" );\n\t\t\t}\n\t\t} );\n\t},\n\n\t_focusable: function( element ) {\n\t\tthis.focusable = this.focusable.add( element );\n\t\tthis._on( element, {\n\t\t\tfocusin: function( event ) {\n\t\t\t\tthis._addClass( $( event.currentTarget ), null, \"ui-state-focus\" );\n\t\t\t},\n\t\t\tfocusout: function( event ) {\n\t\t\t\tthis._removeClass( $( event.currentTarget ), null, \"ui-state-focus\" );\n\t\t\t}\n\t\t} );\n\t},\n\n\t_trigger: function( type, event, data ) {\n\t\tvar prop, orig;\n\t\tvar callback = this.options[ type ];\n\n\t\tdata = data || {};\n\t\tevent = $.Event( event );\n\t\tevent.type = ( type === this.widgetEventPrefix ?\n\t\t\ttype :\n\t\t\tthis.widgetEventPrefix + type ).toLowerCase();\n\n\t\t// The original event may come from any element\n\t\t// so we need to reset the target on the new event\n\t\tevent.target = this.element[ 0 ];\n\n\t\t// Copy original event properties over to the new event\n\t\torig = event.originalEvent;\n\t\tif ( orig ) {\n\t\t\tfor ( prop in orig ) {\n\t\t\t\tif ( !( prop in event ) ) {\n\t\t\t\t\tevent[ prop ] = orig[ prop ];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.element.trigger( event, data );\n\t\treturn !( typeof callback === \"function\" &&\n\t\t\tcallback.apply( this.element[ 0 ], [ event ].concat( data ) ) === false ||\n\t\t\tevent.isDefaultPrevented() );\n\t}\n};\n\n$.each( { show: \"fadeIn\", hide: \"fadeOut\" }, function( method, defaultEffect ) {\n\t$.Widget.prototype[ \"_\" + method ] = function( element, options, callback ) {\n\t\tif ( typeof options === \"string\" ) {\n\t\t\toptions = { effect: options };\n\t\t}\n\n\t\tvar hasOptions;\n\t\tvar effectName = !options ?\n\t\t\tmethod :\n\t\t\toptions === true || typeof options === \"number\" ?\n\t\t\t\tdefaultEffect :\n\t\t\t\toptions.effect || defaultEffect;\n\n\t\toptions = options || {};\n\t\tif ( typeof options === \"number\" ) {\n\t\t\toptions = { duration: options };\n\t\t} else if ( options === true ) {\n\t\t\toptions = {};\n\t\t}\n\n\t\thasOptions = !$.isEmptyObject( options );\n\t\toptions.complete = callback;\n\n\t\tif ( options.delay ) {\n\t\t\telement.delay( options.delay );\n\t\t}\n\n\t\tif ( hasOptions && $.effects && $.effects.effect[ effectName ] ) {\n\t\t\telement[ method ]( options );\n\t\t} else if ( effectName !== method && element[ effectName ] ) {\n\t\t\telement[ effectName ]( options.duration, options.easing, callback );\n\t\t} else {\n\t\t\telement.queue( function( next ) {\n\t\t\t\t$( this )[ method ]();\n\t\t\t\tif ( callback ) {\n\t\t\t\t\tcallback.call( element[ 0 ] );\n\t\t\t\t}\n\t\t\t\tnext();\n\t\t\t} );\n\t\t}\n\t};\n} );\n\nreturn $.widget;\n\n} );\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","( function( factory ) {\n\t\"use strict\";\n\n\tif ( typeof define === \"function\" && define.amd ) {\n\n\t\t// AMD. Register as an anonymous module.\n\t\tdefine( [ \"jquery\", \"./version\" ], factory );\n\t} else {\n\n\t\t// Browser globals\n\t\tfactory( jQuery );\n\t}\n} )( function( $ ) {\n\"use strict\";\n\n// This file is deprecated\nreturn $.ui.ie = !!/msie [\\w.]+/.exec( navigator.userAgent.toLowerCase() );\n} );\n","var Stack = require('./_Stack'),\n arrayEach = require('./_arrayEach'),\n assignValue = require('./_assignValue'),\n baseAssign = require('./_baseAssign'),\n baseAssignIn = require('./_baseAssignIn'),\n cloneBuffer = require('./_cloneBuffer'),\n copyArray = require('./_copyArray'),\n copySymbols = require('./_copySymbols'),\n copySymbolsIn = require('./_copySymbolsIn'),\n getAllKeys = require('./_getAllKeys'),\n getAllKeysIn = require('./_getAllKeysIn'),\n getTag = require('./_getTag'),\n initCloneArray = require('./_initCloneArray'),\n initCloneByTag = require('./_initCloneByTag'),\n initCloneObject = require('./_initCloneObject'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isMap = require('./isMap'),\n isObject = require('./isObject'),\n isSet = require('./isSet'),\n keys = require('./keys'),\n keysIn = require('./keysIn');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n}\n\nmodule.exports = baseClone;\n","import { NAME_COLLAPSE } from '../../constants/components';\nimport { IS_BROWSER } from '../../constants/env';\nimport { EVENT_OPTIONS_PASSIVE } from '../../constants/events';\nimport { CODE_ENTER, CODE_SPACE } from '../../constants/key-codes';\nimport { RX_HASH, RX_HASH_ID, RX_SPACE_SPLIT } from '../../constants/regex';\nimport { arrayIncludes, concat } from '../../utils/array';\nimport { getInstanceFromDirective } from '../../utils/get-instance-from-directive';\nimport { addClass, getAttr, hasAttr, isDisabled, isTag, removeAttr, removeClass, removeStyle, requestAF, setAttr, setStyle } from '../../utils/dom';\nimport { getRootActionEventName, getRootEventName, eventOn, eventOff } from '../../utils/events';\nimport { isString } from '../../utils/inspect';\nimport { looseEqual } from '../../utils/loose-equal';\nimport { keys } from '../../utils/object';\nimport { getEventRoot } from '../../utils/get-event-root'; // --- Constants ---\n// Classes to apply to trigger element\n\nvar CLASS_BV_TOGGLE_COLLAPSED = 'collapsed';\nvar CLASS_BV_TOGGLE_NOT_COLLAPSED = 'not-collapsed'; // Property key for handler storage\n\nvar BV_BASE = '__BV_toggle'; // Root event listener property (Function)\n\nvar BV_TOGGLE_ROOT_HANDLER = \"\".concat(BV_BASE, \"_HANDLER__\"); // Trigger element click handler property (Function)\n\nvar BV_TOGGLE_CLICK_HANDLER = \"\".concat(BV_BASE, \"_CLICK__\"); // Target visibility state property (Boolean)\n\nvar BV_TOGGLE_STATE = \"\".concat(BV_BASE, \"_STATE__\"); // Target ID list property (Array)\n\nvar BV_TOGGLE_TARGETS = \"\".concat(BV_BASE, \"_TARGETS__\"); // Commonly used strings\n\nvar STRING_FALSE = 'false';\nvar STRING_TRUE = 'true'; // Commonly used attribute names\n\nvar ATTR_ARIA_CONTROLS = 'aria-controls';\nvar ATTR_ARIA_EXPANDED = 'aria-expanded';\nvar ATTR_ROLE = 'role';\nvar ATTR_TABINDEX = 'tabindex'; // Commonly used style properties\n\nvar STYLE_OVERFLOW_ANCHOR = 'overflow-anchor'; // Emitted control event for collapse (emitted to collapse)\n\nvar ROOT_ACTION_EVENT_NAME_TOGGLE = getRootActionEventName(NAME_COLLAPSE, 'toggle'); // Listen to event for toggle state update (emitted by collapse)\n\nvar ROOT_EVENT_NAME_STATE = getRootEventName(NAME_COLLAPSE, 'state'); // Private event emitted on `$root` to ensure the toggle state is always synced\n// Gets emitted even if the state of b-collapse has not changed\n// This event is NOT to be documented as people should not be using it\n\nvar ROOT_EVENT_NAME_SYNC_STATE = getRootEventName(NAME_COLLAPSE, 'sync-state'); // Private event we send to collapse to request state update sync event\n\nvar ROOT_ACTION_EVENT_NAME_REQUEST_STATE = getRootActionEventName(NAME_COLLAPSE, 'request-state');\nvar KEYDOWN_KEY_CODES = [CODE_ENTER, CODE_SPACE]; // --- Helper methods ---\n\nvar isNonStandardTag = function isNonStandardTag(el) {\n return !arrayIncludes(['button', 'a'], el.tagName.toLowerCase());\n};\n\nvar getTargets = function getTargets(_ref, el) {\n var modifiers = _ref.modifiers,\n arg = _ref.arg,\n value = _ref.value;\n // Any modifiers are considered target IDs\n var targets = keys(modifiers || {}); // If value is a string, split out individual targets (if space delimited)\n\n value = isString(value) ? value.split(RX_SPACE_SPLIT) : value; // Support target ID as link href (`href=\"#id\"`)\n\n if (isTag(el.tagName, 'a')) {\n var href = getAttr(el, 'href') || '';\n\n if (RX_HASH_ID.test(href)) {\n targets.push(href.replace(RX_HASH, ''));\n }\n } // Add ID from `arg` (if provided), and support value\n // as a single string ID or an array of string IDs\n // If `value` is not an array or string, then it gets filtered out\n\n\n concat(arg, value).forEach(function (t) {\n return isString(t) && targets.push(t);\n }); // Return only unique and truthy target IDs\n\n return targets.filter(function (t, index, arr) {\n return t && arr.indexOf(t) === index;\n });\n};\n\nvar removeClickListener = function removeClickListener(el) {\n var handler = el[BV_TOGGLE_CLICK_HANDLER];\n\n if (handler) {\n eventOff(el, 'click', handler, EVENT_OPTIONS_PASSIVE);\n eventOff(el, 'keydown', handler, EVENT_OPTIONS_PASSIVE);\n }\n\n el[BV_TOGGLE_CLICK_HANDLER] = null;\n};\n\nvar addClickListener = function addClickListener(el, instance) {\n removeClickListener(el);\n\n if (instance) {\n var handler = function handler(event) {\n if (!(event.type === 'keydown' && !arrayIncludes(KEYDOWN_KEY_CODES, event.keyCode)) && !isDisabled(el)) {\n var targets = el[BV_TOGGLE_TARGETS] || [];\n targets.forEach(function (target) {\n getEventRoot(instance).$emit(ROOT_ACTION_EVENT_NAME_TOGGLE, target);\n });\n }\n };\n\n el[BV_TOGGLE_CLICK_HANDLER] = handler;\n eventOn(el, 'click', handler, EVENT_OPTIONS_PASSIVE);\n\n if (isNonStandardTag(el)) {\n eventOn(el, 'keydown', handler, EVENT_OPTIONS_PASSIVE);\n }\n }\n};\n\nvar removeRootListeners = function removeRootListeners(el, instance) {\n if (el[BV_TOGGLE_ROOT_HANDLER] && instance) {\n getEventRoot(instance).$off([ROOT_EVENT_NAME_STATE, ROOT_EVENT_NAME_SYNC_STATE], el[BV_TOGGLE_ROOT_HANDLER]);\n }\n\n el[BV_TOGGLE_ROOT_HANDLER] = null;\n};\n\nvar addRootListeners = function addRootListeners(el, instance) {\n removeRootListeners(el, instance);\n\n if (instance) {\n var handler = function handler(id, state) {\n // `state` will be `true` if target is expanded\n if (arrayIncludes(el[BV_TOGGLE_TARGETS] || [], id)) {\n // Set/Clear 'collapsed' visibility class state\n el[BV_TOGGLE_STATE] = state; // Set `aria-expanded` and class state on trigger element\n\n setToggleState(el, state);\n }\n };\n\n el[BV_TOGGLE_ROOT_HANDLER] = handler; // Listen for toggle state changes (public) and sync (private)\n\n getEventRoot(instance).$on([ROOT_EVENT_NAME_STATE, ROOT_EVENT_NAME_SYNC_STATE], handler);\n }\n};\n\nvar setToggleState = function setToggleState(el, state) {\n // State refers to the visibility of the collapse/sidebar\n if (state) {\n removeClass(el, CLASS_BV_TOGGLE_COLLAPSED);\n addClass(el, CLASS_BV_TOGGLE_NOT_COLLAPSED);\n setAttr(el, ATTR_ARIA_EXPANDED, STRING_TRUE);\n } else {\n removeClass(el, CLASS_BV_TOGGLE_NOT_COLLAPSED);\n addClass(el, CLASS_BV_TOGGLE_COLLAPSED);\n setAttr(el, ATTR_ARIA_EXPANDED, STRING_FALSE);\n }\n}; // Reset and remove a property from the provided element\n\n\nvar resetProp = function resetProp(el, prop) {\n el[prop] = null;\n delete el[prop];\n}; // Handle directive updates\n\n\nvar handleUpdate = function handleUpdate(el, binding, vnode) {\n /* istanbul ignore next: should never happen */\n if (!IS_BROWSER || !getInstanceFromDirective(vnode, binding)) {\n return;\n } // If element is not a button or link, we add `role=\"button\"`\n // and `tabindex=\"0\"` for accessibility reasons\n\n\n if (isNonStandardTag(el)) {\n if (!hasAttr(el, ATTR_ROLE)) {\n setAttr(el, ATTR_ROLE, 'button');\n }\n\n if (!hasAttr(el, ATTR_TABINDEX)) {\n setAttr(el, ATTR_TABINDEX, '0');\n }\n } // Ensure the collapse class and `aria-*` attributes persist\n // after element is updated (either by parent re-rendering\n // or changes to this element or its contents)\n\n\n setToggleState(el, el[BV_TOGGLE_STATE]); // Parse list of target IDs\n\n var targets = getTargets(binding, el); // Ensure the `aria-controls` hasn't been overwritten\n // or removed when vnode updates\n // Also ensure to set `overflow-anchor` to `none` to prevent\n // the browser's scroll anchoring behavior\n\n /* istanbul ignore else */\n\n if (targets.length > 0) {\n setAttr(el, ATTR_ARIA_CONTROLS, targets.join(' '));\n setStyle(el, STYLE_OVERFLOW_ANCHOR, 'none');\n } else {\n removeAttr(el, ATTR_ARIA_CONTROLS);\n removeStyle(el, STYLE_OVERFLOW_ANCHOR);\n } // Add/Update our click listener(s)\n // Wrap in a `requestAF()` to allow any previous\n // click handling to occur first\n\n\n requestAF(function () {\n addClickListener(el, getInstanceFromDirective(vnode, binding));\n }); // If targets array has changed, update\n\n if (!looseEqual(targets, el[BV_TOGGLE_TARGETS])) {\n // Update targets array to element storage\n el[BV_TOGGLE_TARGETS] = targets; // Ensure `aria-controls` is up to date\n // Request a state update from targets so that we can\n // ensure expanded state is correct (in most cases)\n\n targets.forEach(function (target) {\n getEventRoot(getInstanceFromDirective(vnode, binding)).$emit(ROOT_ACTION_EVENT_NAME_REQUEST_STATE, target);\n });\n }\n};\n/*\n * Export our directive\n */\n\n\nexport var VBToggle = {\n bind: function bind(el, binding, vnode) {\n // State is initially collapsed until we receive a state event\n el[BV_TOGGLE_STATE] = false; // Assume no targets initially\n\n el[BV_TOGGLE_TARGETS] = []; // Add our root listeners\n\n addRootListeners(el, getInstanceFromDirective(vnode, binding)); // Initial update of trigger\n\n handleUpdate(el, binding, vnode);\n },\n componentUpdated: handleUpdate,\n updated: handleUpdate,\n unbind: function unbind(el, binding, vnode) {\n removeClickListener(el); // Remove our $root listener\n\n removeRootListeners(el, getInstanceFromDirective(vnode, binding)); // Reset custom props\n\n resetProp(el, BV_TOGGLE_ROOT_HANDLER);\n resetProp(el, BV_TOGGLE_CLICK_HANDLER);\n resetProp(el, BV_TOGGLE_STATE);\n resetProp(el, BV_TOGGLE_TARGETS); // Reset classes/attrs/styles\n\n removeClass(el, CLASS_BV_TOGGLE_COLLAPSED);\n removeClass(el, CLASS_BV_TOGGLE_NOT_COLLAPSED);\n removeAttr(el, ATTR_ARIA_EXPANDED);\n removeAttr(el, ATTR_ARIA_CONTROLS);\n removeAttr(el, ATTR_ROLE);\n removeStyle(el, STYLE_OVERFLOW_ANCHOR);\n }\n};","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n","( function( factory ) {\n\t\"use strict\";\n\n\tif ( typeof define === \"function\" && define.amd ) {\n\n\t\t// AMD. Register as an anonymous module.\n\t\tdefine( [ \"jquery\" ], factory );\n\t} else {\n\n\t\t// Browser globals\n\t\tfactory( jQuery );\n\t}\n} )( function( $ ) {\n\"use strict\";\n\n$.ui = $.ui || {};\n\nreturn $.ui.version = \"1.13.2\";\n\n} );\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActionBtn.vue?vue&type=style&index=0&id=3871d83e&prod&lang=scss&scoped=true&\"","var baseForOwn = require('./_baseForOwn'),\n createBaseEach = require('./_createBaseEach');\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\nmodule.exports = baseEach;\n","module.exports = __webpack_public_path__ + \"img/upload.39cf039e.svg\";","module.exports = __webpack_public_path__ + \"img/remove.87092346.svg\";","const addCssSematic = {\r\n created() {\r\n this.loadScripts()\r\n },\r\n methods: {\r\n loadScripts() {\r\n this.renderExternalScript('/assets/workflow/js/jquery.js').onload = () => {}\r\n this.renderExternalScript('/assets/workflow/js/semantic.min.js').onload = () => {}\r\n this.renderExternalLink('/assets/workflow/css/semantic.min.css').onload = () => {}\r\n },\r\n renderExternalLink(href) {\r\n const link = document.createElement('link')\r\n link.type = 'text/css'\r\n link.href = href\r\n link.rel = 'stylesheet'\r\n document.body.appendChild(link)\r\n return link\r\n },\r\n renderExternalScript(src) {\r\n const script = document.createElement('script')\r\n script.type = 'text/javascript'\r\n script.src = src\r\n script.async = true\r\n script.defer = true\r\n document.body.appendChild(script)\r\n return script\r\n },\r\n },\r\n}\r\n\r\nexport default addCssSematic\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('them-moi-thu-tuc-hanh-chinh')}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',[_c('div',{staticClass:\"mb-1\"},[_c('div',{staticClass:\"mb-1 padding-4px border-bottom d-flex justify-content-between\"},[_c('span',[_c('span',{staticClass:\"css-step\"},[_vm._v(\"Bước 1\")]),_c('span',{staticClass:\"ml-1 font-weight-700\"},[_vm._v(\"Thông tin thủ tục hành chính\")]),_c('span',{staticClass:\"text-red-cor\"},[_vm._v(\" *\")])]),_c('span',{staticClass:\"d-none\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.step1),expression:\"step1\"}],staticClass:\"d-none\",attrs:{\"id\":\"radio1\",\"type\":\"radio\",\"name\":\"step_1\"},domProps:{\"value\":true,\"checked\":_vm._q(_vm.step1,true)},on:{\"change\":function($event){_vm.step1=true}}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.step1),expression:\"step1\"}],staticClass:\"d-none\",attrs:{\"id\":\"radio2\",\"type\":\"radio\",\"name\":\"step_1\"},domProps:{\"value\":false,\"checked\":_vm._q(_vm.step1,false)},on:{\"change\":function($event){_vm.step1=false}}}),_c('label',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.step1),expression:\"!step1\"}],staticClass:\"cursor-pointer\",attrs:{\"for\":\"radio1\"}},[_c('chevrons-down-icon',{attrs:{\"size\":\"14\"}}),_vm._v(\" Mở rộng \")],1),_c('label',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.step1),expression:\"step1\"}],staticClass:\"cursor-pointer\",attrs:{\"for\":\"radio2\"}},[_c('chevrons-up-icon',{attrs:{\"size\":\"14\"}}),_vm._v(\" Thu gọn \")],1)])]),_c('div',{staticClass:\"mb-1\"},[(_vm.rowsThuTucHanhChinh && _vm.rowsThuTucHanhChinh.length > 0)?_c('good-table',{ref:\"vgTable\",staticClass:\"mt-1 fixed-column\",attrs:{\"columns\":_vm.columnsThuTucHanhChinh,\"rows\":_vm.rowsThuTucHanhChinh,\"pagination\":false,\"selectable\":false},scopedSlots:_vm._u([{key:\"actions\",fn:function(ref){\nvar props = ref.props;\nreturn _c('div',{},[_c('edit-icon',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.v-secondary\",modifiers:{\"hover\":true,\"v-secondary\":true}}],staticClass:\"custom-class cursor-pointer mr-1\",attrs:{\"title\":\"Sửa\",\"size\":\"16\"},on:{\"click\":function($event){return _vm.updateCommom(props.row)}}})],1)}}],null,false,526644609)}):_c('div',{staticClass:\"padding-10px border-grey-cor background-grey-cor text-center text-primary-cor\"},[_vm._v(\" Vui lòng nhấn Thêm mới để khởi tạo thủ tục hành chính \")])],1),(!(_vm.rowsThuTucHanhChinh.length > 0))?_c('div',{staticClass:\"d-sm-flex justify-content-end\"},[_c('button',{staticClass:\"compact ui button btn-primary\",on:{\"click\":function($event){return _vm.addThuTucHanhChinh()}}},[_vm._v(\" Thêm mới \")])]):_vm._e()]),_c('div',{staticClass:\"mb-1\"},[_c('div',{staticClass:\"mb-1 border-bottom d-flex justify-content-between cursor-pointer\",on:{\"click\":function($event){return _vm.setValueStep(!_vm.step1, false, false, false)}}},[_c('span',[_c('span',{staticClass:\"css-step\"},[_vm._v(\"Bước 2\")]),_c('span',{staticClass:\"ml-1 font-weight-700\"},[_vm._v(\"Thông tin thành phần hồ sơ\")]),_c('span',{staticClass:\"text-red-cor\"},[_vm._v(\" *\")])]),_c('span',[_c('label',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.step1),expression:\"!step1\"}],staticClass:\"cursor-pointer\"},[_c('chevrons-down-icon',{attrs:{\"size\":\"14\"}}),_vm._v(\" Mở rộng \")],1),_c('label',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.step1),expression:\"step1\"}],staticClass:\"cursor-pointer\"},[_c('chevrons-up-icon',{attrs:{\"size\":\"14\"}}),_vm._v(\" Thu gọn \")],1)])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.step1),expression:\"step1\"}]},[_c('GiayToMauHoSoFrom',{attrs:{\"data-form\":_vm.thanhPhanHoSo},on:{\"update-data\":_vm.editorPaper}})],1)]),_c('div',{staticClass:\"mb-1\"},[_c('div',{staticClass:\"mb-1 border-bottom d-flex justify-content-between cursor-pointer\",on:{\"click\":function($event){return _vm.setValueStep(false, !_vm.step2, false, false)}}},[_c('span',[_c('span',{staticClass:\"css-step\"},[_vm._v(\"Bước 3\")]),_c('span',{staticClass:\"ml-1 font-weight-700\"},[_vm._v(\"Thông tin biểu mẫu - tờ khai\")]),_c('span',{staticClass:\"text-red-cor\"},[_vm._v(\" *\")])]),_c('span',[_c('label',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.step2),expression:\"!step2\"}],staticClass:\"cursor-pointer\"},[_c('chevrons-down-icon',{attrs:{\"size\":\"14\"}}),_vm._v(\" Mở rộng \")],1),_c('label',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.step2),expression:\"step2\"}],staticClass:\"cursor-pointer\"},[_c('chevrons-up-icon',{attrs:{\"size\":\"14\"}}),_vm._v(\" Thu gọn \")],1)])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.step2),expression:\"step2\"}]},[_c('div',{staticClass:\"mb-1\"},[(_vm.rowsBieuMau && _vm.rowsBieuMau.length)?_c('good-table',{ref:\"vgTable\",staticClass:\"mt-1 fixed-column\",attrs:{\"columns\":_vm.columnsBieuMau,\"rows\":_vm.rowsBieuMau,\"pagination\":false,\"selectable\":false},scopedSlots:_vm._u([{key:\"actions\",fn:function(ref){\nvar props = ref.props;\nreturn _c('div',{},[_c('edit-icon',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.v-secondary\",modifiers:{\"hover\":true,\"v-secondary\":true}}],staticClass:\"custom-class cursor-pointer mr-1\",attrs:{\"title\":\"Sửa biểu mẫu\",\"size\":\"16\"},on:{\"click\":function($event){return _vm.updateBieuMau(props.row)}}}),_c('copy-icon',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.v-secondary\",modifiers:{\"hover\":true,\"v-secondary\":true}}],staticClass:\"mr-1 cursor-pointer custom-class\",attrs:{\"title\":\"Sao chép bản ghi\",\"size\":\"16\"},on:{\"click\":function($event){return _vm.copyBieuMau(props.row)}}}),_c('trash-2-icon',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.v-secondary\",modifiers:{\"hover\":true,\"v-secondary\":true}}],staticClass:\"custom-class cursor-pointer\",attrs:{\"title\":\"Xóa\",\"size\":\"16\"},on:{\"click\":function($event){return _vm.deleteBieuMau(props.row)}}})],1)}}],null,false,2533577878)}):_c('div',{staticClass:\"padding-10px border-grey-cor background-grey-cor text-center text-primary-cor\"},[_vm._v(\" Vui lòng nhấn Thêm mới để khởi tạo cấu hình biểu mẫu - tờ khai với TTHC \")])],1),_c('div',{staticClass:\"d-sm-flex justify-content-end\"},[_c('button',{staticClass:\"compact ui button btn-primary\",on:{\"click\":function($event){return _vm.addNewBieuMau()}}},[_vm._v(\" Thêm mới \")]),_c('button',{staticClass:\"compact ui button btn-primary\",on:{\"click\":function($event){return _vm.addBieuMau()}}},[_vm._v(\" Chọn từ danh mục \")])])])]),_c('div',{staticClass:\"mb-1\"},[_c('div',{staticClass:\"mb-1 border-bottom d-flex justify-content-between cursor-pointer\",on:{\"click\":function($event){return _vm.setValueStep(false, false, !_vm.step3, false)}}},[_c('span',[_c('span',{staticClass:\"css-step\"},[_vm._v(\"Bước 4\")]),_c('span',{staticClass:\"ml-1 font-weight-700\"},[_vm._v(\"Phân quyền TTHC - vai trò\")]),_c('span',{staticClass:\"text-red-cor\"},[_vm._v(\" *\")])]),_c('span',[_c('label',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.step3),expression:\"!step3\"}],staticClass:\"cursor-pointer\"},[_c('chevrons-down-icon',{attrs:{\"size\":\"14\"}}),_vm._v(\" Mở rộng \")],1),_c('label',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.step3),expression:\"step3\"}],staticClass:\"cursor-pointer\"},[_c('chevrons-up-icon',{attrs:{\"size\":\"14\"}}),_vm._v(\" Thu gọn \")],1)])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.step3),expression:\"step3\"}]},[(_vm.rowsPhanQuyen && _vm.rowsPhanQuyen.length > 0)?_c('good-table',{ref:\"vgTable\",staticClass:\"mt-1 fixed-column mb-1\",attrs:{\"columns\":_vm.columnsPhanQuyen,\"rows\":_vm.rowsPhanQuyen,\"pagination\":false,\"selectable\":false},scopedSlots:_vm._u([{key:\"actions\",fn:function(ref){\nvar props = ref.props;\nreturn _c('div',{},[_c('trash-2-icon',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.v-secondary\",modifiers:{\"hover\":true,\"v-secondary\":true}}],staticClass:\"custom-class cursor-pointer\",attrs:{\"title\":\"Xóa\",\"size\":\"16\"},on:{\"click\":function($event){return _vm.deletePhanQuyen(props.row)}}})],1)}}],null,false,28835407)}):_c('div',{staticClass:\"mb-1\"},[_c('div',{staticClass:\"padding-10px border-grey-cor background-grey-cor text-center text-primary-cor\"},[_vm._v(\" Vui lòng nhấn Thêm mới để khởi tạo phân quyền TTHC - vai trò \")])]),_c('div',{staticClass:\"d-sm-flex justify-content-end\"},[_c('button',{staticClass:\"compact ui button btn-primary\",on:{\"click\":function($event){return _vm.addPhanQuyen()}}},[_vm._v(\" Thêm mới \")])])],1)]),_c('div',{staticClass:\"mb-1\"},[_c('div',{staticClass:\"mb-1 border-bottom d-flex justify-content-between cursor-pointer\",on:{\"click\":function($event){return _vm.setValueStep(false, false, false, !_vm.step4)}}},[_c('span',[_c('span',{staticClass:\"css-step\"},[_vm._v(\"Bước 5\")]),_c('span',{staticClass:\"ml-1 font-weight-700\"},[_vm._v(\"Cấu hình quy trình\")]),_c('span',{staticClass:\"text-red-cor\"},[_vm._v(\" *\")])]),_c('span',[_c('label',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.step4),expression:\"!step4\"}],staticClass:\"cursor-pointer\"},[_c('chevrons-down-icon',{attrs:{\"size\":\"14\"}}),_vm._v(\" Mở rộng \")],1),_c('label',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.step4),expression:\"step4\"}],staticClass:\"cursor-pointer\"},[_c('chevrons-up-icon',{attrs:{\"size\":\"14\"}}),_vm._v(\" Thu gọn \")],1)])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.step4),expression:\"step4\"}]},[(_vm.rowsQuyTrinh && _vm.rowsQuyTrinh.length > 0)?_c('div',{staticClass:\"mb-1\"},[_c('good-table',{ref:\"vgTable\",staticClass:\"mt-1 fixed-column\",attrs:{\"columns\":_vm.columnsQuyTrinh,\"rows\":_vm.rowsQuyTrinh,\"pagination\":false,\"selectable\":false},scopedSlots:_vm._u([{key:\"actions\",fn:function(ref){\nvar props = ref.props;\nreturn _c('div',{},[_c('edit-icon',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.v-secondary\",modifiers:{\"hover\":true,\"v-secondary\":true}}],staticClass:\"custom-class cursor-pointer mr-1\",attrs:{\"title\":\"Sửa\",\"size\":\"16\"},on:{\"click\":function($event){return _vm.updateQuyTrinh()}}}),_c('trash-2-icon',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.v-secondary\",modifiers:{\"hover\":true,\"v-secondary\":true}}],staticClass:\"custom-class cursor-pointer\",attrs:{\"title\":\"Xóa\",\"size\":\"16\"},on:{\"click\":function($event){return _vm.deleteQuyTrinh(props.row)}}})],1)}}],null,false,1225064294)})],1):_c('div',{staticClass:\"mb-1\"},[_c('div',{staticClass:\"padding-10px border-grey-cor background-grey-cor text-center text-primary-cor\"},[_vm._v(\" Vui lòng nhấn Thêm mới để khởi tạo cấu hình quy trình \")])]),_c('div',{staticClass:\"d-sm-flex justify-content-end\"},[_c('button',{staticClass:\"compact ui button btn-primary\",on:{\"click\":function($event){return _vm.addNewCauHinhQuyTrinh()}}},[_vm._v(\" Thêm mới \")]),_c('button',{staticClass:\"compact ui button btn-primary\",on:{\"click\":function($event){return _vm.addCauHinhQuyTrinh()}}},[_vm._v(\" Chọn từ danh mục \")])])])]),_c('common-modal',{ref:\"commonModal\",attrs:{\"title\":_vm.title,\"size\":_vm.size},on:{\"handle-ok\":_vm.handleOk,\"handle-focus\":_vm.handleFocusError}},[(!['XoaForm', 'XoaQuyTrinhForm', 'XoaVaiTroForm', 'XoaBieuMauForm'].includes(_vm.componentName))?_c('div',{class:_vm.componentName === 'DanhMucDanhSach' ? 'scroll-class' : ''},[_c(_vm.componentName,{ref:\"componentName\",tag:\"component\",attrs:{\"data-form\":_vm.dataForm},on:{\"update-data\":_vm.editorPaper,\"selected-item\":_vm.selectedItemBieuMau,\"data-compare\":_vm.setBeginObject}})],1):_vm._e(),(_vm.isShow)?_c('div',{attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('b-button',{staticClass:\"mr-1\",attrs:{\"variant\":\"primary\",\"size\":\"sm\"},on:{\"click\":function($event){return _vm.$refs.commonModal.checkValidate()}}},[_vm._v(\" Lưu \")]),_c('b-button',{attrs:{\"variant\":\"danger\",\"size\":\"sm\"},on:{\"click\":_vm.openModal}},[_vm._v(\" Đóng \")])],1):_vm._e()]),_c('common-modal',{ref:\"commonnModal\",attrs:{\"title\":\"Xác nhận\",\"size\":\"sm\"}},[_vm._v(\" Bạn có xác nhận đóng quá trình nhập liệu này không? \"),(_vm.isShowFooter)?_c('div',{attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('b-button',{staticClass:\"mr-1\",attrs:{\"variant\":\"primary\",\"size\":\"sm\"},on:{\"click\":function($event){_vm.$refs.commonModal.hideModal(),_vm.$refs.commonnModal.hideModal()}}},[_vm._v(\" Đồng ý \")]),_c('b-button',{attrs:{\"variant\":\"danger\",\"size\":\"sm\"},on:{\"click\":function($event){return _vm.$refs.commonnModal.hideModal()}}},[_vm._v(\" Đóng \")])],1):_vm._e()])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(!_vm.data.disableCreate || !_vm.data.disableEdit)?_c('b-form-group',{staticClass:\"required\",attrs:{\"id\":\"input-group-1\",\"label\":\"Thủ tục\",\"label-for\":\"input-1\"}},[_c('validation-provider',{key:\"thuTuc\",attrs:{\"rules\":{ required: true },\"name\":\"Thủ tục\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('v-select',{staticClass:\"w-100 style-chooser\",attrs:{\"placeholder\":\"Chọn thủ tục hành chính\",\"options\":_vm.tthcCbx,\"reduce\":function (se) { return se.id; },\"label\":\"label\",\"filter\":_vm.onFilterSelect,\"disabled\":true},scopedSlots:_vm._u([{key:\"no-options\",fn:function(){return [_vm._v(\" Không có dữ liệu \")]},proxy:true}],null,true),model:{value:(_vm.data.thuTucHanhChinhId),callback:function ($$v) {_vm.$set(_vm.data, \"thuTucHanhChinhId\", $$v)},expression:\"data.thuTucHanhChinhId\"}}),_c('span',{staticClass:\"label-noti-validate\"},[_vm._v(_vm._s(errors[0]))])]}}],null,false,549120915)})],1):_vm._e(),_c('b-form-group',{staticClass:\"required\",attrs:{\"label\":\"Chi tiết cấu hình quy trình\"}},[_c('vue-good-table',{attrs:{\"columns\":_vm.getColumns,\"rows\":_vm.data.ds},scopedSlots:_vm._u([{key:\"table-row\",fn:function(props){return [(props.column.field == 'donViId')?_c('span',[_c('validation-provider',{key:props.index,attrs:{\"rules\":{ required: true },\"name\":(\"Đơn vị \" + (props.index))},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('treeselect',{directives:[{name:\"format-v-select\",rawName:\"v-format-v-select\"}],attrs:{\"options\":_vm.dvCbx,\"placeholder\":\"Chọn đơn vị\",\"normalizer\":_vm.normalizer,\"no-options-text\":\"Không có dữ liệu\",\"no-results-text\":\"Không có dữ liệu\",\"match-keys\":['label', 'name']},on:{\"input\":function($event){return _vm.changeDonVi(props.index)}},model:{value:(_vm.data.ds[props.index].donViId),callback:function ($$v) {_vm.$set(_vm.data.ds[props.index], \"donViId\", $$v)},expression:\"data.ds[props.index].donViId\"}}),_c('span',{staticClass:\"label-noti-validate\"},[_vm._v(_vm._s(errors[0]))])]}}],null,true)})],1):(props.column.field == 'mauHoSoId')?_c('span',[_c('validation-provider',{key:props.index,attrs:{\"rules\":{ required: true },\"name\":(\"Mã hồ sơ \" + (props.index))},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('treeselect',{directives:[{name:\"format-v-select\",rawName:\"v-format-v-select\"}],attrs:{\"options\":_vm.getMauHoSo(_vm.data.ds[props.index].mhsCbx, _vm.data.ds[props.index].mauHoSoId),\"placeholder\":\"Chọn mã hồ sơ\",\"normalizer\":_vm.normalizer,\"no-options-text\":\"Không có dữ liệu\",\"no-results-text\":\"Không có dữ liệu\",\"match-keys\":['label', 'name'],\"disabled\":_vm.data.thuTucHanhChinhId ? false : true},model:{value:(_vm.data.ds[props.index].mauHoSoId),callback:function ($$v) {_vm.$set(_vm.data.ds[props.index], \"mauHoSoId\", $$v)},expression:\"data.ds[props.index].mauHoSoId\"}}),_c('span',{staticClass:\"label-noti-validate\"},[_vm._v(_vm._s(errors[0]))])]}}],null,true)})],1):(props.column.field == 'workflowSchemeAttributeId')?_c('span',[_c('validation-provider',{key:props.index,attrs:{\"rules\":{ required: true },\"name\":(\"Quy trình \" + (props.index))},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('v-select',{directives:[{name:\"format-v-select\",rawName:\"v-format-v-select\"}],staticClass:\"w-100 style-chooser\",attrs:{\"options\":_vm.getDataQuyTrinhTheoDonVi(_vm.data.ds[props.index].donViId),\"reduce\":function (se) { return se.id; },\"label\":\"description\",\"placeholder\":\"Chọn quy trình\",\"filter\":_vm.onFilterSelect,\"disabled\":_vm.data.ds[props.index].donViId ? false : true},scopedSlots:_vm._u([{key:\"no-options\",fn:function(){return [_vm._v(\" Không có dữ liệu \")]},proxy:true}],null,true),model:{value:(_vm.data.ds[props.index].workflowSchemeAttributeId),callback:function ($$v) {_vm.$set(_vm.data.ds[props.index], \"workflowSchemeAttributeId\", $$v)},expression:\"data.ds[props.index].workflowSchemeAttributeId\"}}),_c('span',{staticClass:\"label-noti-validate\"},[_vm._v(_vm._s(errors[0]))])]}}],null,true)})],1):(props.column.field == 'tongSoNgayXuLy')?_c('span',[_c('validation-provider',{key:props.index,attrs:{\"rules\":{ required: true },\"name\":(\"tong So Ngay Xu Ly \" + (props.index))},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('b-form-input',{directives:[{name:\"block-e\",rawName:\"v-block-e\"},{name:\"format-positive-integers\",rawName:\"v-format-positive-integers\"},{name:\"is-int\",rawName:\"v-is-int\"}],attrs:{\"id\":\"input-1\",\"type\":\"number\",\"placeholder\":\"Nhập số ngày xử lý\",\"required\":\"\"},model:{value:(_vm.data.ds[props.index].tongSoNgayXuLy),callback:function ($$v) {_vm.$set(_vm.data.ds[props.index], \"tongSoNgayXuLy\", $$v)},expression:\"data.ds[props.index].tongSoNgayXuLy\"}}),_c('span',{staticClass:\"label-noti-validate\"},[_vm._v(_vm._s(errors[0]))])]}}],null,true)})],1):(props.column.field == 'actions')?_c('span',[_c('div',{staticClass:\"d-flex justify-content-center\"},[(props.index + 1 == _vm.dataForm.ds.length)?_c('plus-square-icon',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.v-secondary\",modifiers:{\"hover\":true,\"v-secondary\":true}}],staticClass:\"custom-class cursor-pointer mr-1\",attrs:{\"title\":\"Thêm\",\"size\":\"16\"},on:{\"click\":function (e) { return _vm.dataForm.ds.push({workflowSchemeAttributeId: null, mauHoSoId: null, donViId: null, mhsCbx: _vm.dataForm.mhsCbx}); }}}):_vm._e(),(_vm.dataForm.ds.length > 1)?_c('trash-2-icon',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.v-secondary\",modifiers:{\"hover\":true,\"v-secondary\":true}}],staticClass:\"custom-class cursor-pointer\",attrs:{\"title\":\"Xoá\",\"size\":\"16\"},on:{\"click\":function($event){return _vm.deleteCauHinhQuyTrinh(props.index)}}}):_vm._e()],1)]):(props.column.field == 'STT')?_c('span',[_vm._v(\" \"+_vm._s(_vm.rowNumber(props))+\" \")]):_vm._e()]}}])},[_c('div',{staticClass:\"text-center\",attrs:{\"slot\":\"emptystate\"},slot:\"emptystate\"},[_vm._v(\" Không có dữ liệu \")])])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","
\r\n \r\n
\r\n \r\n se.id\"\r\n label=\"label\"\r\n :filter=\"onFilterSelect\"\r\n class=\"w-100 style-chooser\"\r\n :disabled=\"true\"\r\n >\r\n \r\n Không có dữ liệu\r\n \r\n \r\n {{ errors[0] }}\r\n \r\n \r\n
\r\n\r\n \r\n \r\n Không có dữ liệu\r\n
\r\n \r\n \r\n \r\n \r\n {{ errors[0] }}\r\n \r\n \r\n \r\n \r\n \r\n {{ errors[0] }}\r\n \r\n \r\n \r\n \r\n se.id\"\r\n label=\"description\"\r\n placeholder=\"Chọn quy trình\"\r\n :filter=\"onFilterSelect\"\r\n class=\"w-100 style-chooser\"\r\n :disabled=\"data.ds[props.index].donViId ? false : true\"\r\n >\r\n \r\n Không có dữ liệu\r\n \r\n \r\n {{ errors[0] }}\r\n \r\n \r\n \r\n \r\n \r\n {{ errors[0] }}\r\n \r\n \r\n \r\n \r\n
dataForm.ds.push({workflowSchemeAttributeId: null, mauHoSoId: null, donViId: null, mhsCbx: dataForm.mhsCbx})\"\r\n />\r\n 1\"\r\n v-b-tooltip.hover.v-secondary\r\n title=\"Xoá\"\r\n size=\"16\"\r\n class=\"custom-class cursor-pointer\"\r\n @click=\"deleteCauHinhQuyTrinh(props.index)\"\r\n />\r\n \r\n \r\n \r\n {{ rowNumber(props) }}\r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CauHinhQuyTrinhThuTucHanhChinh.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CauHinhQuyTrinhThuTucHanhChinh.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CauHinhQuyTrinhThuTucHanhChinh.vue?vue&type=template&id=20161d64&\"\nimport script from \"./CauHinhQuyTrinhThuTucHanhChinh.vue?vue&type=script&lang=js&\"\nexport * from \"./CauHinhQuyTrinhThuTucHanhChinh.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-form-group',{staticClass:\"required\",attrs:{\"id\":\"input-group-1\",\"label\":\"Tên vai trò\",\"label-for\":\"input-1\"}},[_c('validation-provider',{key:\"nhomNguoiDungId\",attrs:{\"rules\":{ required: true },\"name\":\"nhomNguoiDungId\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('treeselect',{directives:[{name:\"format-v-select\",rawName:\"v-format-v-select\"}],ref:\"nhomNguoiDungId\",attrs:{\"options\":_vm.dataForm.npCbx,\"placeholder\":\"Chọn tên vai trò\",\"normalizer\":_vm.normalizer,\"multiple\":\"\",\"no-options-text\":\"Không có dữ liệu\",\"no-results-text\":\"Không có dữ liệu\",\"match-keys\":['label', 'label2']},model:{value:(_vm.dataForm.nhomNguoiDungId),callback:function ($$v) {_vm.$set(_vm.dataForm, \"nhomNguoiDungId\", $$v)},expression:\"dataForm.nhomNguoiDungId\"}}),_c('span',{staticClass:\"label-noti-validate\"},[_vm._v(_vm._s(errors[0]))])]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","
\r\n \r\n \r\n \r\n \r\n {{ errors[0] }}\r\n \r\n \r\n
\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ThuTucHanhChinhVaiTroForm.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ThuTucHanhChinhVaiTroForm.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ThuTucHanhChinhVaiTroForm.vue?vue&type=template&id=24f7755a&scoped=true&\"\nimport script from \"./ThuTucHanhChinhVaiTroForm.vue?vue&type=script&lang=js&\"\nexport * from \"./ThuTucHanhChinhVaiTroForm.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ThuTucHanhChinhVaiTroForm.vue?vue&type=style&index=0&id=24f7755a&prod&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"24f7755a\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-form-group',{staticClass:\"required\",attrs:{\"id\":\"input-group-1\",\"label\":\"Mã quy trình\",\"label-for\":\"input-1\"}},[_c('validation-provider',{key:\"maWorkflow\",attrs:{\"rules\":{ required: true },\"name\":\"maWorkflow\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('b-form-input',{directives:[{name:\"trim-input\",rawName:\"v-trim-input\"}],ref:\"maWorkflow\",attrs:{\"id\":\"input-1\",\"type\":\"text\",\"autofocus\":_vm.data.id ? false : true,\"placeholder\":\"Nhập mã workflow\",\"required\":\"\"},on:{\"input\":function (e) { return _vm.dataForm.code = _vm.data.code; }},model:{value:(_vm.data.code),callback:function ($$v) {_vm.$set(_vm.data, \"code\", $$v)},expression:\"data.code\"}}),_c('div',{staticClass:\"label-noti-validate\"},[_vm._v(\" \"+_vm._s(errors[0])+\" \")]),_c('div',{staticClass:\"label-noti-validate\"},[_vm._v(\" \"+_vm._s(_vm.errorTrungMa)+\" \")])]}}])})],1),_c('b-form-group',{attrs:{\"id\":\"input-group-1\",\"label\":\"Tên quy trình\",\"label-for\":\"input-1\"}},[_c('b-form-input',{directives:[{name:\"trim-input\",rawName:\"v-trim-input\"}],attrs:{\"id\":\"input-1\",\"type\":\"text\",\"placeholder\":\"Nhập vào tên quy trình\",\"required\":\"\"},on:{\"input\":function (e) { return _vm.dataForm.description = _vm.data.description; }},model:{value:(_vm.data.description),callback:function ($$v) {_vm.$set(_vm.data, \"description\", $$v)},expression:\"data.description\"}})],1),_c('b-form-group',{attrs:{\"id\":\"input-group-1\",\"label\":\"Thứ tự\",\"label-for\":\"input-1\"}},[_c('b-form-input',{attrs:{\"id\":\"input-1\",\"type\":\"number\",\"placeholder\":\"Nhập số thứ tự\",\"required\":\"\"},on:{\"change\":_vm.notAllowMin,\"input\":function (e) { return _vm.dataForm.order = _vm.data.order; }},model:{value:(_vm.data.order),callback:function ($$v) {_vm.$set(_vm.data, \"order\", _vm._n($$v))},expression:\"data.order\"}})],1),_c('b-form-group',{staticClass:\"required\",attrs:{\"id\":\"input-group-1\",\"label\":\"Mẫu hồ sơ\",\"label-for\":\"input-1\"}},[_c('validation-provider',{key:\"mauHoSo\",attrs:{\"rules\":{ required: true },\"name\":\"mauHoSo\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('treeselect',{directives:[{name:\"format-v-select\",rawName:\"v-format-v-select\"}],ref:\"mauHoSo\",attrs:{\"id\":\"linhVuc\",\"options\":_vm.data.dsmauHoSo,\"placeholder\":\"Chọn mẫu hồ sơ\",\"no-options-text\":\"Không có dữ liệu\",\"no-results-text\":\"Không có dữ liệu\",\"match-keys\":['label', 'name']},on:{\"change\":function (e) { return _vm.dataForm.donViId = _vm.data.donViId; }},model:{value:(_vm.data.mauHoSoId),callback:function ($$v) {_vm.$set(_vm.data, \"mauHoSoId\", $$v)},expression:\"data.mauHoSoId\"}}),_c('span',{staticClass:\"label-noti-validate\"},[_vm._v(_vm._s(errors[0]))])]}}])})],1),_c('b-form-group',{staticClass:\"required\",attrs:{\"id\":\"input-group-1\",\"label\":\"Số ngày xử lý\",\"label-for\":\"input-1\"}},[_c('validation-provider',{key:\"soNgayXuLy\",attrs:{\"rules\":{ required: true },\"name\":\"soNgayXuLy\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('b-form-input',{directives:[{name:\"block-e\",rawName:\"v-block-e\"},{name:\"format-positive-integers\",rawName:\"v-format-positive-integers\"},{name:\"is-int\",rawName:\"v-is-int\"}],ref:\"soNgayXuLy\",attrs:{\"id\":\"input-1\",\"type\":\"number\",\"placeholder\":\"Nhập số ngày xử lý\",\"required\":\"\"},on:{\"change\":_vm.notAllowMin,\"input\":function (e) { return _vm.dataForm.soNgayXuLy = _vm.data.soNgayXuLy; }},model:{value:(_vm.data.soNgayXuLy),callback:function ($$v) {_vm.$set(_vm.data, \"soNgayXuLy\", _vm._n($$v))},expression:\"data.soNgayXuLy\"}}),_c('span',{staticClass:\"label-noti-validate\"},[_vm._v(_vm._s(errors[0]))])]}}])})],1),_c('b-form-group',{staticClass:\"required\",attrs:{\"id\":\"input-group-1\",\"label\":\"Đơn vị\",\"label-for\":\"input-1\"}},[_c('validation-provider',{key:\"donVi\",attrs:{\"rules\":{ required: true },\"name\":\"donVi\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('treeselect',{directives:[{name:\"format-v-select\",rawName:\"v-format-v-select\"}],ref:\"donVi\",attrs:{\"id\":\"linhVuc\",\"options\":_vm.dvCbx,\"placeholder\":\"Chọn đơn vị\",\"normalizer\":_vm.normalizer,\"no-options-text\":\"Không có dữ liệu\",\"no-results-text\":\"Không có dữ liệu\",\"match-keys\":['label', 'name']},on:{\"change\":function (e) { return _vm.dataForm.donViId = _vm.data.donViId; }},model:{value:(_vm.data.donViId),callback:function ($$v) {_vm.$set(_vm.data, \"donViId\", $$v)},expression:\"data.donViId\"}}),_c('span',{staticClass:\"label-noti-validate\"},[_vm._v(_vm._s(errors[0]))])]}}])})],1),_c('b-form-group',{attrs:{\"id\":\"input-group-1\",\"label\":\"Trạng thái\",\"label-for\":\"input-1\"}},[_c('b-form-checkbox',{attrs:{\"id\":\"checkbox-1\",\"name\":\"checkbox-1\",\"switch\":\"\"},model:{value:(_vm.dataForm.status),callback:function ($$v) {_vm.$set(_vm.dataForm, \"status\", $$v)},expression:\"dataForm.status\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","
\r\n \r\n
\r\n \r\n dataForm.code = data.code\"\r\n />\r\n \r\n {{ errors[0] }}\r\n
\r\n \r\n {{ errorTrungMa }}\r\n
\r\n \r\n \r\n
\r\n dataForm.description = data.description\"\r\n />\r\n \r\n
\r\n dataForm.order = data.order\"\r\n />\r\n \r\n
\r\n \r\n dataForm.donViId = data.donViId\"\r\n />\r\n {{ errors[0] }}\r\n \r\n \r\n
\r\n \r\n dataForm.soNgayXuLy = data.soNgayXuLy\"\r\n />\r\n {{ errors[0] }}\r\n \r\n \r\n
\r\n \r\n dataForm.donViId = data.donViId\"\r\n />\r\n {{ errors[0] }}\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LuongXuLyForm.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LuongXuLyForm.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LuongXuLyForm.vue?vue&type=template&id=04d0203e&\"\nimport script from \"./LuongXuLyForm.vue?vue&type=script&lang=js&\"\nexport * from \"./LuongXuLyForm.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('good-table',{ref:\"vgTable\",staticClass:\"mt-1 fixed-column\",attrs:{\"columns\":_vm.dataForm.columns,\"rows\":_vm.dataForm.rows,\"pagination\":false},on:{\"selected-item\":_vm.selectedItem}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","
\r\n \r\n \r\n
\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DanhMucDanhSach.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DanhMucDanhSach.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DanhMucDanhSach.vue?vue&type=template&id=216bafb9&\"\nimport script from \"./DanhMucDanhSach.vue?vue&type=script&lang=js&\"\nexport * from \"./DanhMucDanhSach.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-tabs',{staticClass:\"p-0 tabs-custom-position\"},[_c('b-tab',{class:{'allow-update': _vm.isDetail},attrs:{\"title\":\"Thông tin chung\",\"active\":\"\"}},[_c('validation-observer',{ref:\"formValidate\"},[_c('b-form-group',{staticClass:\"required\",attrs:{\"label\":\"Tên biểu mẫu\"}},[_c('validation-provider',{key:\"tenBieuMau\",attrs:{\"rules\":{ required: true },\"name\":\"tenBieuMau\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('b-form-input',{ref:\"tenBieuMau\",attrs:{\"id\":\"tenBieuMau\",\"autofocus\":_vm.form.name ? false : true,\"placeholder\":\"Nhập tên biểu mẫu\"},model:{value:(_vm.form.name),callback:function ($$v) {_vm.$set(_vm.form, \"name\", $$v)},expression:\"form.name\"}}),_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(errors[0]))])]}}])})],1),_c('b-form-group',{staticClass:\"required\",attrs:{\"label\":\"Tên bảng\"}},[_c('validation-provider',{key:\"tenBang\",attrs:{\"rules\":{ required: true },\"name\":\"tenBang\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('b-form-input',{ref:\"tenBang\",attrs:{\"id\":\"tenBang\",\"placeholder\":\"Nhập tên bảng gán với biểu mẫu\"},model:{value:(_vm.form.tableName),callback:function ($$v) {_vm.$set(_vm.form, \"tableName\", $$v)},expression:\"form.tableName\"}}),_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(errors[0]))])]}}])})],1),(_vm.idUpdate)?_c('good-table',{ref:\"bieuMau\",staticClass:\"mt-2 mb-2\",attrs:{\"columns\":_vm.columns,\"rows\":_vm.rows,\"pagination\":false,\"selectable\":false}}):_vm._e(),_c('b-form-group',{attrs:{\"label\":\"Trạng thái xử lý\"}},[_c('b-form-checkbox',{staticClass:\"mb-1\",attrs:{\"disabled\":_vm.form.state && !!_vm.idUpdate,\"switch\":\"\"},model:{value:(_vm.form.state),callback:function ($$v) {_vm.$set(_vm.form, \"state\", $$v)},expression:\"form.state\"}})],1),_c('b-form-group',{attrs:{\"label\":\"Căn cứ pháp lý\"}},[_c('b-form-textarea',{attrs:{\"placeholder\":\"Nhập căn cứ pháp lý\"},model:{value:(_vm.form.canCuPhapLy),callback:function ($$v) {_vm.$set(_vm.form, \"canCuPhapLy\", $$v)},expression:\"form.canCuPhapLy\"}})],1)],1)],1),(_vm.disabledStatus)?_c('b-tab',{attrs:{\"title\":\"Mẫu in\"}},[_c('table',{staticClass:\"table table-bordered custom-table\"},[_c('thead',[_c('tr',[_c('th',{staticClass:\"template-title\"},[_vm._v(\" Danh sách \")]),_c('th',{staticClass:\"d-flex justify-content-between\"},[_c('span',{staticClass:\"d-flex align-items-center\"},[_vm._v(\" Chi tiết \")]),_c('span',[_c('b-button',{attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":_vm.newTemplate}},[_vm._v(\" Thêm mới mẫu \")])],1)])])]),_c('tbody',[_c('tr',[_c('td',{staticClass:\"list-template\"},[_c('div',{staticClass:\"wrap-template\"},_vm._l((_vm.listTemplate),function(item,index){return _c('div',{key:item.id,staticClass:\"d-flex justify-content-between cursor-pointer\",class:{active: item.active}},[_c('span',{on:{\"click\":function($event){return _vm.setActiveItem(index)}}},[_vm._v(_vm._s(item.name)+\" \"+_vm._s(item.isDefault ? '[Mặc định]' : ''))]),(index !== 0)?_c('feather-icon',{attrs:{\"icon\":\"Trash2Icon\",\"size\":\"12\"},on:{\"click\":function($event){return _vm.removeTemplate(index, item)}}}):_vm._e()],1)}),0),_c('div',{staticClass:\"wrap-tag\"},_vm._l((_vm.tagsTemplate),function(tag,index){return _c('b-badge',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.click.top.v-secondary\",value:('Đã sao chép!'),expression:\"'Đã sao chép!'\",modifiers:{\"click\":true,\"top\":true,\"v-secondary\":true}}],key:index,attrs:{\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.copyToClipboard(tag)}}},[_vm._v(\" \"+_vm._s(tag)+\" \")])}),1)]),_c('td',_vm._l((_vm.listTemplate.filter(function (template) { return template.active; })),function(item){return _c('div',{key:item.id,staticClass:\"update-template\"},[_c('b-row',[_c('b-col',{attrs:{\"lg\":\"5\",\"md\":\"5\",\"sm\":\"12\"}},[_c('validation-observer',{ref:\"validateMauIn\",refInFor:true},[_c('b-form-group',{staticClass:\"required\",attrs:{\"label\":\"Tên mẫu in\"}},[_c('validation-provider',{attrs:{\"name\":\"tenMauIn\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('b-form-input',{attrs:{\"id\":\"tenMauIn\",\"disabled\":item.name === 'Biểu mẫu mặc định',\"placeholder\":\"Nhập tên mẫu in\"},model:{value:(item.name),callback:function ($$v) {_vm.$set(item, \"name\", $$v)},expression:\"item.name\"}}),_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(errors[0]))])]}}],null,true)})],1)],1)],1),_c('b-col',{attrs:{\"lg\":\"5\",\"md\":\"5\",\"sm\":\"12\"}},[_c('b-form-group',{attrs:{\"label\":\"Ghi chú\"}},[_c('b-form-input',{attrs:{\"id\":\"tenMauIn\",\"placeholder\":\"Nhập ghi chú\"},model:{value:(item.note),callback:function ($$v) {_vm.$set(item, \"note\", $$v)},expression:\"item.note\"}})],1)],1),_c('b-col',{attrs:{\"lg\":\"2\",\"md\":\"2\",\"sm\":\"12\"}},[_c('b-form-group',{attrs:{\"label\":\"Mặc định\"}},[_c('b-form-checkbox',{attrs:{\"switch\":\"\"},on:{\"input\":function($event){return _vm.setDefaultTemplate(item)}},model:{value:(item.isDefault),callback:function ($$v) {_vm.$set(item, \"isDefault\", $$v)},expression:\"item.isDefault\"}})],1)],1)],1),_c('b-form-group',{attrs:{\"label\":\"Mẫu in\"}},[_c('ckeditor',{attrs:{\"editor\":_vm.editor,\"config\":_vm.editorConfig},model:{value:(item.html),callback:function ($$v) {_vm.$set(item, \"html\", $$v)},expression:\"item.html\"}})],1)],1)}),0)])])])]):_vm._e(),_c('b-tab',{staticClass:\"frame\",class:{'allow-update': _vm.isDetail || _vm.disabledStatus},attrs:{\"title\":\"Thiết kế\"}},[_c('b-row',[_c('b-col',{staticClass:\"menu\",attrs:{\"lg\":\"2\"}},[_c('div',{staticClass:\"header-text mb-2\"},[_vm._v(\" Thành phần \")]),_c('div',{staticClass:\"configNavBar\"},_vm._l((_vm.navbar),function(control,index){return _c('div',{key:index,staticClass:\"pb-2\"},[_c('div',{staticClass:\"item-collapse\",on:{\"click\":_vm.collapseItem}},[_c('img',{attrs:{\"alt\":\"image control\",\"width\":\"18px\",\"src\":_vm.getImgUrl(control.icon)}}),_vm._v(\" \"+_vm._s(control.title)+\" \"),_c('feather-icon',{staticStyle:{\"float\":\"right\",\"margin-top\":\"2px\"},attrs:{\"icon\":control.expand ? 'ChevronDownIcon' : 'ChevronRightIcon',\"size\":\"15\"}})],1),_c('div',{staticClass:\"content-collapse mt-1\"},_vm._l((control.children),function(i,idx){return _c('div',{key:i.type + idx,staticClass:\"input-txt mb-1\",on:{\"mousedown\":function($event){return _vm.setCurrentControl(i)}}},[_vm._v(\" \"+_vm._s(i.label)+\" \")])}),0)])}),0)]),_c('b-col',{staticClass:\"modal-form\",attrs:{\"lg\":\"10\"}},[_c('div',{staticClass:\" d-flex justify-content-between\"},[_c('span',{staticClass:\"header-text\"},[_vm._v(\"Biểu mẫu\")]),_c('b-button',{attrs:{\"size\":\"sm\",\"variant\":\"primary\"},on:{\"click\":_vm.addRow}},[_vm._v(\" Thêm dòng \")])],1),_c('div',{staticClass:\"config-column\"},[_c('draggable',{staticClass:\"row mr-1 ml-1\",model:{value:(_vm.listRow),callback:function ($$v) {_vm.listRow=$$v},expression:\"listRow\"}},_vm._l((_vm.listRow),function(row){return _c('frame-dropable',{key:row.id,ref:\"droplist\",refInFor:true,class:(\"custom\" + (row.id)),attrs:{\"index\":row.id,\"controls\":row},on:{\"list-control\":_vm.updateListControl,\"delete-row\":_vm.deleteRow,\"config-row\":_vm.initUpdateRow,\"update-html\":_vm.initUpdateHtml,\"update-control\":_vm.initUpdateControl,\"duplicate-row\":_vm.duplicateControls,\"duplicate-control\":_vm.duplicateControl,\"delete-control\":_vm.deleteControl,\"move-control\":_vm.moveControl}})}),1)],1)])],1)],1),_c('b-tab',{attrs:{\"title\":\"Xem trước\"},on:{\"click\":_vm.setFormFields}},[_c('div',{key:_vm.preview,staticClass:\"mb-0\"},[_c('div',{staticClass:\"row\"},[_c('FormulateForm',_vm._l((_vm.formControlView),function(row,formKey){return _c('div',{key:formKey,class:row.className},[_c('div',{staticClass:\"row\"},_vm._l((row.listControl),function(item,i){return _c('div',{key:i,class:item['wrap-class']},[_c('div',{staticClass:\"input-formulate\",class:{ 'wrap-flex': item.horizontal}},[_c('FormulateInput',_vm._b({directives:[{name:\"format-date\",rawName:\"v-format-date\"}],class:{\n 'left-icon': item.iconLeft,\n 'right-icon': item.iconRight,\n 'input-horizontal': item.horizontal\n },attrs:{\"width\":item.horizontal ? item.groupPosition.input : null,\"show-value\":true,\"item\":item,\"validation-rules\":{\n regex: function (ref) {\n var value = ref.value;\n\n var regex = new RegExp(item.partternValue)\n if(item.type === 'number') {\n return regex.test(Number(value))\n }\n return regex.test(value)\n }\n }},on:{\"control-value\":function($event){return _vm.setValueSchema($event, item, row)},\"input\":function($event){return _vm.setValueSchema($event, item, row)}},scopedSlots:_vm._u([{key:\"label\",fn:function(ref){\n var label = ref.label;\nreturn [_c('div',{style:({ width: item.horizontal ? ((item.groupPosition.label) + \"%\") : '100%', position: item.horizontal && item.iconLeft ? 'relative' : 'unset' })},[(item.html)?_c('label',{domProps:{\"innerHTML\":_vm._s(item.html)}}):(item.type !== 'customFile')?_c('label',{class:{required: item.validation && item.validation.includes('required')}},[_vm._v(_vm._s(label))]):_vm._e(),(item.horizontal && item.iconLeft)?_c('span',{staticClass:\"icon-horizontal\",class:{\n 'left': item.iconLeft,\n 'right': item.iconRight,\n }},[_c('font-awesome-icon',{attrs:{\"icon\":(\"fa-solid fa-\" + (item.iconLeft))}})],1):_vm._e()])]}}],null,true)},'FormulateInput',item,false)),(item.horizontal && item.iconRight)?_c('span',{staticClass:\"input-icon-right\",class:{'right': item.iconRight}},[_c('font-awesome-icon',{attrs:{\"icon\":(\"fa-solid fa-\" + (item.iconRight))}})],1):_vm._e(),(!item.horizontal && item.iconLeft)?_c('span',{staticClass:\"input-icon\",class:{'left': item.iconLeft}},[_c('font-awesome-icon',{attrs:{\"icon\":(\"fa-solid fa-\" + (item.iconLeft))}})],1):_vm._e(),(!item.horizontal && item.iconRight)?_c('span',{staticClass:\"input-icon\",class:{'right': item.iconRight}},[_c('font-awesome-icon',{attrs:{\"icon\":(\"fa-solid fa-\" + (item.iconRight))}})],1):_vm._e()],1)])}),0)])}),0)],1)])])],1),_c('config-row',{ref:\"configRow\",attrs:{\"current-class\":_vm.configClassRow,\"is-detail\":_vm.isDetail,\"is-update\":_vm.idUpdate && _vm.form.state},on:{\"update-class\":_vm.updateClassRow}}),_c('update-control',{ref:\"updateControl\",attrs:{\"list-control\":_vm.listRow,\"control-info\":_vm.controlUpdate,\"is-detail\":_vm.isDetail,\"is-update\":_vm.idUpdate && _vm.form.state},on:{\"update-control\":_vm.onUpdate}}),_c('html-editor',{ref:\"htmlEditor\",attrs:{\"config\":_vm.editorConfig,\"control-info\":_vm.controlUpdate,\"is-detail\":_vm.isDetail,\"is-update\":_vm.idUpdate && _vm.form.state},on:{\"update-control\":_vm.onUpdate}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {{ errors[0] }}\r\n \r\n \r\n \r\n \r\n \r\n {{ errors[0] }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Danh sách\r\n | \r\n \r\n \r\n Chi tiết\r\n \r\n \r\n \r\n Thêm mới mẫu\r\n \r\n \r\n | \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ item.name }} {{ item.isDefault ? '[Mặc định]' : '' }}\r\n \r\n \r\n \r\n \r\n \r\n {{ tag }}\r\n \r\n \r\n | \r\n \r\n template.active)\"\r\n :key=\"item.id\"\r\n class=\"update-template\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ errors[0] }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n | \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Thêm dòng\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BieuMauThuTucHanhChinhForm.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BieuMauThuTucHanhChinhForm.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BieuMauThuTucHanhChinhForm.vue?vue&type=template&id=18a0741e&scoped=true&\"\nimport script from \"./BieuMauThuTucHanhChinhForm.vue?vue&type=script&lang=js&\"\nexport * from \"./BieuMauThuTucHanhChinhForm.vue?vue&type=script&lang=js&\"\nimport style0 from \"./BieuMauThuTucHanhChinhForm.vue?vue&type=style&index=0&id=18a0741e&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"18a0741e\",\n null\n \n)\n\nexport default component.exports","
\r\n \r\n \r\n
\r\n \r\n Bước 1Thông tin thủ tục hành chính *\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
0\"\r\n ref=\"vgTable\"\r\n class=\"mt-1 fixed-column\"\r\n :columns=\"columnsThuTucHanhChinh\"\r\n :rows=\"rowsThuTucHanhChinh\"\r\n :pagination=\"false\"\r\n :selectable=\"false\"\r\n >\r\n \r\n \r\n
\r\n \r\n
\r\n Vui lòng nhấn Thêm mới để khởi tạo thủ tục hành chính\r\n
\r\n
\r\n
0)\"\r\n class=\"d-sm-flex justify-content-end\"\r\n >\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n Bước 2Thông tin thành phần hồ sơ *\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n Bước 3Thông tin biểu mẫu - tờ khai *\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n Vui lòng nhấn Thêm mới để khởi tạo cấu hình biểu mẫu - tờ khai với TTHC\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n Bước 4Phân quyền TTHC - vai trò *\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
0\"\r\n ref=\"vgTable\"\r\n class=\"mt-1 fixed-column mb-1\"\r\n :columns=\"columnsPhanQuyen\"\r\n :rows=\"rowsPhanQuyen\"\r\n :pagination=\"false\"\r\n :selectable=\"false\"\r\n >\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n Vui lòng nhấn Thêm mới để khởi tạo phân quyền TTHC - vai trò\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n Bước 5Cấu hình quy trình *\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
0\"\r\n class=\"mb-1\"\r\n >\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n Vui lòng nhấn Thêm mới để khởi tạo cấu hình quy trình\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n Lưu\r\n \r\n \r\n Đóng\r\n \r\n
\r\n \r\n \r\n Bạn có xác nhận đóng quá trình nhập liệu này không?\r\n \r\n \r\n Đồng ý\r\n \r\n \r\n Đóng\r\n \r\n
\r\n \r\n \r\n\r\n\r\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ThemMoiThuTucHanhChinh.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ThemMoiThuTucHanhChinh.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ThemMoiThuTucHanhChinh.vue?vue&type=template&id=533e8130&\"\nimport script from \"./ThemMoiThuTucHanhChinh.vue?vue&type=script&lang=js&\"\nexport * from \"./ThemMoiThuTucHanhChinh.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","
\r\n \r\n\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ThemMoiThuTucHanhChinh.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ThemMoiThuTucHanhChinh.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ThemMoiThuTucHanhChinh.vue?vue&type=template&id=0cef62e0&\"\nimport script from \"./ThemMoiThuTucHanhChinh.vue?vue&type=script&lang=js&\"\nexport * from \"./ThemMoiThuTucHanhChinh.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var copyObject = require('./_copyObject'),\n getSymbols = require('./_getSymbols');\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\nmodule.exports = copySymbols;\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BieuMauThuTucHanhChinhForm.vue?vue&type=style&index=0&id=18a0741e&prod&lang=scss&scoped=true&\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UpdateControl.vue?vue&type=style&index=0&id=c28f1830&prod&lang=scss&scoped=true&\"","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { extend, mergeData } from '../../vue';\nimport { NAME_NAV } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Helper methods ---\n\nvar computeJustifyContent = function computeJustifyContent(value) {\n value = value === 'left' ? 'start' : value === 'right' ? 'end' : value;\n return \"justify-content-\".concat(value);\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable({\n align: makeProp(PROP_TYPE_STRING),\n // Set to `true` if placing in a card header\n cardHeader: makeProp(PROP_TYPE_BOOLEAN, false),\n fill: makeProp(PROP_TYPE_BOOLEAN, false),\n justified: makeProp(PROP_TYPE_BOOLEAN, false),\n pills: makeProp(PROP_TYPE_BOOLEAN, false),\n small: makeProp(PROP_TYPE_BOOLEAN, false),\n tabs: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'ul'),\n vertical: makeProp(PROP_TYPE_BOOLEAN, false)\n}, NAME_NAV); // --- Main component ---\n// @vue/component\n\nexport var BNav = /*#__PURE__*/extend({\n name: NAME_NAV,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var tabs = props.tabs,\n pills = props.pills,\n vertical = props.vertical,\n align = props.align,\n cardHeader = props.cardHeader;\n return h(props.tag, mergeData(data, {\n staticClass: 'nav',\n class: (_class = {\n 'nav-tabs': tabs,\n 'nav-pills': pills && !tabs,\n 'card-header-tabs': !vertical && cardHeader && tabs,\n 'card-header-pills': !vertical && cardHeader && pills && !tabs,\n 'flex-column': vertical,\n 'nav-fill': !vertical && props.fill,\n 'nav-justified': !vertical && props.justified\n }, _defineProperty(_class, computeJustifyContent(align), !vertical && align), _defineProperty(_class, \"small\", props.small), _class)\n }), children);\n }\n});","var copyObject = require('./_copyObject'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\nmodule.exports = cloneDataView;\n","module.exports = __webpack_public_path__ + \"img/radio.1f9b7111.svg\";","var _objectSpread2, _watch;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { extend } from '../../vue';\nimport { NAME_TAB } from '../../constants/components';\nimport { MODEL_EVENT_NAME_PREFIX } from '../../constants/events';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_OBJECT, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_TITLE } from '../../constants/slots';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BVTransition } from '../transition/bv-transition'; // --- Constants ---\n\nvar MODEL_PROP_NAME_ACTIVE = 'active';\nvar MODEL_EVENT_NAME_ACTIVE = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_ACTIVE; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, idProps), {}, (_objectSpread2 = {}, _defineProperty(_objectSpread2, MODEL_PROP_NAME_ACTIVE, makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_objectSpread2, \"buttonId\", makeProp(PROP_TYPE_STRING)), _defineProperty(_objectSpread2, \"disabled\", makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_objectSpread2, \"lazy\", makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_objectSpread2, \"noBody\", makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_objectSpread2, \"tag\", makeProp(PROP_TYPE_STRING, 'div')), _defineProperty(_objectSpread2, \"title\", makeProp(PROP_TYPE_STRING)), _defineProperty(_objectSpread2, \"titleItemClass\", makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)), _defineProperty(_objectSpread2, \"titleLinkAttributes\", makeProp(PROP_TYPE_OBJECT)), _defineProperty(_objectSpread2, \"titleLinkClass\", makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)), _objectSpread2))), NAME_TAB); // --- Main component ---\n// @vue/component\n\nexport var BTab = /*#__PURE__*/extend({\n name: NAME_TAB,\n mixins: [idMixin, normalizeSlotMixin],\n inject: {\n getBvTabs: {\n default: function _default() {\n return function () {\n return {};\n };\n }\n }\n },\n props: props,\n data: function data() {\n return {\n localActive: this[MODEL_PROP_NAME_ACTIVE] && !this.disabled\n };\n },\n computed: {\n bvTabs: function bvTabs() {\n return this.getBvTabs();\n },\n // For parent sniffing of child\n _isTab: function _isTab() {\n return true;\n },\n tabClasses: function tabClasses() {\n var active = this.localActive,\n disabled = this.disabled;\n return [{\n active: active,\n disabled: disabled,\n 'card-body': this.bvTabs.card && !this.noBody\n }, // Apply
`activeTabClass` styles when this tab is active\n active ? this.bvTabs.activeTabClass : null];\n },\n controlledBy: function controlledBy() {\n return this.buttonId || this.safeId('__BV_tab_button__');\n },\n computedNoFade: function computedNoFade() {\n return !(this.bvTabs.fade || false);\n },\n computedLazy: function computedLazy() {\n return this.bvTabs.lazy || this.lazy;\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME_ACTIVE, function (newValue, oldValue) {\n if (newValue !== oldValue) {\n if (newValue) {\n // If activated post mount\n this.activate();\n } else {\n /* istanbul ignore next */\n if (!this.deactivate()) {\n // Tab couldn't be deactivated, so we reset the synced active prop\n // Deactivation will fail if no other tabs to activate\n this.$emit(MODEL_EVENT_NAME_ACTIVE, this.localActive);\n }\n }\n }\n }), _defineProperty(_watch, \"disabled\", function disabled(newValue, oldValue) {\n if (newValue !== oldValue) {\n var firstTab = this.bvTabs.firstTab;\n\n if (newValue && this.localActive && firstTab) {\n this.localActive = false;\n firstTab();\n }\n }\n }), _defineProperty(_watch, \"localActive\", function localActive(newValue) {\n // Make `active` prop work with `.sync` modifier\n this.$emit(MODEL_EVENT_NAME_ACTIVE, newValue);\n }), _watch),\n mounted: function mounted() {\n // Inform `` of our presence\n this.registerTab();\n },\n updated: function updated() {\n // Force the tab button content to update (since slots are not reactive)\n // Only done if we have a title slot, as the title prop is reactive\n var updateButton = this.bvTabs.updateButton;\n\n if (updateButton && this.hasNormalizedSlot(SLOT_NAME_TITLE)) {\n updateButton(this);\n }\n },\n beforeDestroy: function beforeDestroy() {\n // Inform `` of our departure\n this.unregisterTab();\n },\n methods: {\n // Private methods\n registerTab: function registerTab() {\n // Inform `` of our presence\n var registerTab = this.bvTabs.registerTab;\n\n if (registerTab) {\n registerTab(this);\n }\n },\n unregisterTab: function unregisterTab() {\n // Inform `` of our departure\n var unregisterTab = this.bvTabs.unregisterTab;\n\n if (unregisterTab) {\n unregisterTab(this);\n }\n },\n // Public methods\n activate: function activate() {\n // Not inside a `` component or tab is disabled\n var activateTab = this.bvTabs.activateTab;\n return activateTab && !this.disabled ? activateTab(this) : false;\n },\n deactivate: function deactivate() {\n // Not inside a `` component or not active to begin with\n var deactivateTab = this.bvTabs.deactivateTab;\n return deactivateTab && this.localActive ? deactivateTab(this) : false;\n }\n },\n render: function render(h) {\n var localActive = this.localActive;\n var $content = h(this.tag, {\n staticClass: 'tab-pane',\n class: this.tabClasses,\n directives: [{\n name: 'show',\n value: localActive\n }],\n attrs: {\n role: 'tabpanel',\n id: this.safeId(),\n 'aria-hidden': localActive ? 'false' : 'true',\n 'aria-labelledby': this.controlledBy || null\n },\n ref: 'panel'\n }, // Render content lazily if requested\n [localActive || !this.computedLazy ? this.normalizeSlot() : h()]);\n return h(BVTransition, {\n props: {\n mode: 'out-in',\n noFade: this.computedNoFade\n }\n }, [$content]);\n }\n});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',[_c('validation-observer',{ref:\"commonRules\",staticClass:\"custom-grid-xl-container\"},[_c('b-form-group',{staticClass:\"required grap-6\",attrs:{\"id\":\"input-group-1\",\"label\":\"Mẫu hồ sơ\",\"label-for\":\"input-1\"}},[_c('validation-provider',{key:\"mauHoSo\",attrs:{\"rules\":{ required: true },\"name\":\"mauHoSo\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('v-select',{ref:\"mauHoSo\",staticClass:\"w-100 style-chooser\",attrs:{\"options\":_vm.dataForm.mhs,\"reduce\":function (se) { return se.code; },\"autofocus\":_vm.dataForm.id ? false : true,\"disabled\":_vm.form.id || _vm.isShow ? true : false,\"filter\":_vm.onFilterSelect},on:{\"input\":function($event){return _vm.changeMhs()}},scopedSlots:_vm._u([{key:\"no-options\",fn:function(){return [_vm._v(\" Không có dữ liệu \")]},proxy:true}],null,true),model:{value:(_vm.form.mauHoSoId),callback:function ($$v) {_vm.$set(_vm.form, \"mauHoSoId\", $$v)},expression:\"form.mauHoSoId\"}}),(_vm.isShow === true)?_c('div'):_c('div',[_c('span',{staticClass:\"label-noti-validate\"},[_vm._v(_vm._s(errors[0]))])])]}}])})],1),_c('div',{staticClass:\"grap-6\"},[_c('div',{staticClass:\"d-flex justify-content-between grap-6\"},[_c('label',{staticClass:\"required\"},[_vm._v(\"Giấy tờ\")]),_c('a',{attrs:{\"href\":\"javascript:;\"},on:{\"click\":function($event){return _vm.addTenGiayTo()}}},[_vm._v(\"Thêm mới\")])]),_c('validation-provider',{key:\"giayTo\",attrs:{\"rules\":{ required: true },\"name\":\"giayTo\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('v-select',{ref:\"giayTo\",staticClass:\"w-100 style-chooser\",attrs:{\"placeholder\":\"Chọn giấy tờ\",\"options\":_vm.gt,\"label\":\"name\",\"reduce\":function (se) { return se.id; },\"filter\":_vm.onFilterSelect,\"disabled\":_vm.form.mauHoSoId && !_vm.isShow ? false : true},scopedSlots:_vm._u([{key:\"no-options\",fn:function(){return [_vm._v(\" Không có dữ liệu \")]},proxy:true}],null,true),model:{value:(_vm.form.giayToId),callback:function ($$v) {_vm.$set(_vm.form, \"giayToId\", $$v)},expression:\"form.giayToId\"}}),(_vm.isShow === true)?_c('div'):_c('div',[_c('span',{staticClass:\"label-noti-validate\"},[_vm._v(_vm._s(errors[0]))])])]}}])})],1),_c('b-form-group',{staticClass:\"grap-2\",attrs:{\"id\":\"input-group-1\",\"label\":\"Bản chính\",\"label-for\":\"input-1\"}},[_c('b-form-input',{directives:[{name:\"block-e\",rawName:\"v-block-e\"},{name:\"format-positive-integers\",rawName:\"v-format-positive-integers\"},{name:\"is-int\",rawName:\"v-is-int\"}],attrs:{\"id\":\"input-1\",\"disabled\":_vm.isShow,\"type\":\"number\",\"placeholder\":\"Nhập bản chính\",\"required\":\"\"},model:{value:(_vm.form.banChinh),callback:function ($$v) {_vm.$set(_vm.form, \"banChinh\", _vm._n($$v))},expression:\"form.banChinh\"}})],1),_c('b-form-group',{staticClass:\"grap-2\",attrs:{\"id\":\"input-group-1\",\"label\":\"Bản sao\",\"label-for\":\"input-1\"}},[_c('b-form-input',{directives:[{name:\"block-e\",rawName:\"v-block-e\"},{name:\"format-positive-integers\",rawName:\"v-format-positive-integers\"},{name:\"is-int\",rawName:\"v-is-int\"}],attrs:{\"id\":\"input-1\",\"disabled\":_vm.isShow,\"type\":\"number\",\"placeholder\":\"Nhập bản sao\",\"required\":\"\"},model:{value:(_vm.form.banSao),callback:function ($$v) {_vm.$set(_vm.form, \"banSao\", _vm._n($$v))},expression:\"form.banSao\"}})],1),_c('b-form-group',{staticClass:\"grap-2\",attrs:{\"id\":\"input-group-1\",\"label\":\"Bản photo\",\"label-for\":\"input-1\"}},[_c('b-form-input',{directives:[{name:\"block-e\",rawName:\"v-block-e\"},{name:\"format-positive-integers\",rawName:\"v-format-positive-integers\"},{name:\"is-int\",rawName:\"v-is-int\"}],attrs:{\"id\":\"input-1\",\"disabled\":_vm.isShow,\"type\":\"number\",\"placeholder\":\"Nhập bản photo\",\"required\":\"\"},model:{value:(_vm.form.banPhoto),callback:function ($$v) {_vm.$set(_vm.form, \"banPhoto\", _vm._n($$v))},expression:\"form.banPhoto\"}})],1),(_vm.isShow)?_c('b-form-group',{staticClass:\"required grap-6\",attrs:{\"id\":\"input-group-1\",\"label\":\"Tên giấy tờ\",\"label-for\":\"input-1\"}},[_c('validation-observer',{ref:\"subCommonRules\"},[_c('validation-provider',{key:\"tenGiayTo\",attrs:{\"rules\":{ required: true },\"name\":\"Giấy tờ\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('div',{staticClass:\"d-flex align-items-center\"},[_c('b-form-input',{directives:[{name:\"trim-input\",rawName:\"v-trim-input\"}],attrs:{\"id\":\"input-1\",\"type\":\"text\",\"placeholder\":\"Nhập tên giấy tờ\",\"required\":\"\"},model:{value:(_vm.tenGiayTo),callback:function ($$v) {_vm.tenGiayTo=$$v},expression:\"tenGiayTo\"}}),_c('b-button',{staticClass:\"ml-1\",staticStyle:{\"width\":\"100px\",\"padding\":\"9px 9px !important\"},attrs:{\"size\":\"sm\",\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.addGiayTo()}}},[_vm._v(\" Thêm mới \")])],1),_c('span',{staticClass:\"label-noti-validate\"},[_vm._v(_vm._s(errors[0]))])]}}],null,false,1364360413)})],1)],1):_vm._e()],1)],1),_c('div',{staticClass:\"d-flex justify-content-end\"},[_c('b-button',{staticClass:\"mr-1\",attrs:{\"size\":\"sm\",\"variant\":\"primary\",\"disabled\":_vm.isShow},on:{\"click\":function($event){return _vm.editorCommon()}}},[_vm._v(\" Lưu \")]),_c('b-button',{attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":function($event){return _vm.addCommon()}}},[_vm._v(\" Đóng \")])],1),_c('vue-good-table',{ref:\"vgTable\",staticClass:\"mt-1\",attrs:{\"columns\":_vm.getColumn,\"rows\":_vm.rows},scopedSlots:_vm._u([{key:\"table-row\",fn:function(props){return [(props.column.field == 'mauHoSoGiayTos')?_c('span',_vm._l((props.row.mauHoSoGiayTos),function(item){return _c('div',{key:item.id},[_vm._v(\"- \"+_vm._s(item.tenGiayTo))])}),0):(props.column.field == 'actions')?_c('span',[_c('edit-icon',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.v-secondary\",modifiers:{\"hover\":true,\"v-secondary\":true}}],staticClass:\"custom-class cursor-pointer mr-1\",attrs:{\"title\":\"Sửa\",\"size\":\"16\"},on:{\"click\":function($event){return _vm.editorPaper(props.row)}}}),_c('trash-2-icon',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.v-secondary\",modifiers:{\"hover\":true,\"v-secondary\":true}}],staticClass:\"custom-class cursor-pointer\",attrs:{\"title\":\"Xóa\",\"size\":\"16\"},on:{\"click\":function($event){return _vm.showDeleteModal(props.row)}}})],1):(props.column.field == 'STT')?_c('span',[_vm._v(\" \"+_vm._s(_vm.rowNumber(props))+\" \")]):_vm._e()]}}])},[_c('div',{staticClass:\"text-center\",attrs:{\"slot\":\"emptystate\"},slot:\"emptystate\"},[_vm._v(\" Không có dữ liệu \")])]),_c('common-modal',{ref:\"commonModal\",attrs:{\"title\":'Xác nhận',\"size\":'sm'},on:{\"handle-ok\":_vm.handleOk}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n
\r\n
\r\n \r\n \r\n se.code\"\r\n :autofocus=\"dataForm.id ? false : true\"\r\n :disabled=\"form.id || isShow ? true : false\"\r\n :filter=\"onFilterSelect\"\r\n class=\"w-100 style-chooser\"\r\n @input=\"changeMhs()\"\r\n >\r\n \r\n Không có dữ liệu\r\n \r\n \r\n \r\n \r\n {{ errors[0] }}
\r\n\r\n \r\n \r\n \r\n
\r\n
\r\n se.id\"\r\n class=\"w-100 style-chooser\"\r\n :filter=\"onFilterSelect\"\r\n :disabled=\"form.mauHoSoId && !isShow ? false : true\"\r\n >\r\n \r\n Không có dữ liệu\r\n \r\n \r\n \r\n \r\n {{ errors[0] }}
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Thêm mới\r\n \r\n
\r\n {{ errors[0] }}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Lưu\r\n \r\n \r\n Đóng\r\n \r\n
\r\n
\r\n \r\n Không có dữ liệu\r\n
\r\n \r\n \r\n - {{ item.tenGiayTo }}
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ rowNumber(props) }}\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GiayToMauHoSoForm.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GiayToMauHoSoForm.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GiayToMauHoSoForm.vue?vue&type=template&id=7c0f1ca3&\"\nimport script from \"./GiayToMauHoSoForm.vue?vue&type=script&lang=js&\"\nexport * from \"./GiayToMauHoSoForm.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","module.exports = __webpack_public_path__ + \"img/dropdown.14b96fc6.svg\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-form-group',{staticClass:\"required\",attrs:{\"id\":\"input-group-1\",\"label\":\"Mã kiểu hồ sơ\",\"label-for\":\"input-1\"}},[_c('validation-provider',{key:\"maKieuHoSo\",attrs:{\"rules\":{ required: true },\"name\":\"Mã kiểu hồ sơ\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('b-form-input',{attrs:{\"id\":\"input-1\",\"type\":\"text\",\"placeholder\":\"Nhập mã kiểu hồ sơ\",\"autofocus\":_vm.dataForm.id ? false : true,\"required\":\"\"}}),_c('div',{staticClass:\"label-noti-validate\"},[_vm._v(\" \"+_vm._s(errors[0])+\" \")]),_c('div',{staticClass:\"label-noti-validate\"},[_vm._v(\" \"+_vm._s(_vm.errorTrungMa)+\" \")])]}}])})],1),_c('b-form-group',{staticClass:\"required\",attrs:{\"id\":\"input-group-1\",\"label\":\"Tên kiểu hồ sơ\",\"label-for\":\"input-1\"}},[_c('validation-provider',{key:\"tenKieuHoSo\",attrs:{\"rules\":{ required: true },\"name\":\"Tên kiểu hồ sơ\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('b-form-input',{attrs:{\"id\":\"input-1\",\"type\":\"text\",\"placeholder\":\"Nhập tên kiểu hồ sơ\",\"required\":\"\"}}),_c('span',{staticClass:\"label-noti-validate\"},[_vm._v(_vm._s(errors[0]))])]}}])})],1),_c('b-form-group',{attrs:{\"id\":\"input-group-1\",\"label\":\"Trạng thái\",\"label-for\":\"input-1\"}},[_c('b-form-checkbox',{attrs:{\"switch\":\"\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n
\r\n \r\n \r\n \r\n {{ errors[0] }}\r\n
\r\n \r\n {{ errorTrungMa }}\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n {{ errors[0] }}\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KieuHoSoFrom.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KieuHoSoFrom.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./KieuHoSoFrom.vue?vue&type=template&id=4692efc3&\"\nimport script from \"./KieuHoSoFrom.vue?vue&type=script&lang=js&\"\nexport * from \"./KieuHoSoFrom.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","( function( factory ) {\n\t\"use strict\";\n\n\tif ( typeof define === \"function\" && define.amd ) {\n\n\t\t// AMD. Register as an anonymous module.\n\t\tdefine( [ \"jquery\", \"./version\" ], factory );\n\t} else {\n\n\t\t// Browser globals\n\t\tfactory( jQuery );\n\t}\n} )( function( $ ) {\n\"use strict\";\n\n// $.ui.plugin is deprecated. Use $.widget() extensions instead.\nreturn $.ui.plugin = {\n\tadd: function( module, option, set ) {\n\t\tvar i,\n\t\t\tproto = $.ui[ module ].prototype;\n\t\tfor ( i in set ) {\n\t\t\tproto.plugins[ i ] = proto.plugins[ i ] || [];\n\t\t\tproto.plugins[ i ].push( [ option, set[ i ] ] );\n\t\t}\n\t},\n\tcall: function( instance, name, args, allowDisconnected ) {\n\t\tvar i,\n\t\t\tset = instance.plugins[ name ];\n\n\t\tif ( !set ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( !allowDisconnected && ( !instance.element[ 0 ].parentNode ||\n\t\t\t\tinstance.element[ 0 ].parentNode.nodeType === 11 ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfor ( i = 0; i < set.length; i++ ) {\n\t\t\tif ( instance.options[ set[ i ][ 0 ] ] ) {\n\t\t\t\tset[ i ][ 1 ].apply( instance.element, args );\n\t\t\t}\n\t\t}\n\t}\n};\n\n} );\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{class:{detail: _vm.isDetail},attrs:{\"id\":\"bv-modal-html\",\"size\":\"custom-width\",\"title\":\"Cấu hình trường tin\",\"hide-footer\":\"\"}},[_c('b-row',{class:{'pointer-events-none': _vm.isUpdate}},[_c('b-col',{attrs:{\"lg\":\"12\"}},[_c('b-form-group',{attrs:{\"label\":\"Css Class\"}},[_c('b-form-select',{attrs:{\"options\":_vm.options},model:{value:(_vm.classSelected),callback:function ($$v) {_vm.classSelected=$$v},expression:\"classSelected\"}})],1)],1),_c('b-col',{attrs:{\"lg\":\"12\"}},[_c('ckeditor',{attrs:{\"editor\":_vm.editor,\"config\":_vm.editorConfig},model:{value:(_vm.editorData),callback:function ($$v) {_vm.editorData=$$v},expression:\"editorData\"}})],1)],1),_c('b-row',{staticClass:\"mt-2\"},[_c('b-col',{staticClass:\"d-flex flex-row-reverse\",attrs:{\"lg\":\"12\"}},[_c('b-button',{attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":function($event){return _vm.hide()}}},[_vm._v(\" Hủy \")]),_c('b-button',{staticClass:\"mr-1\",attrs:{\"size\":\"sm\",\"variant\":\"primary\"},on:{\"click\":_vm.save}},[_vm._v(\" Lưu \")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Hủy\r\n \r\n \r\n Lưu\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HtmlEditor.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HtmlEditor.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./HtmlEditor.vue?vue&type=template&id=cabe1596&scoped=true&\"\nimport script from \"./HtmlEditor.vue?vue&type=script&lang=js&\"\nexport * from \"./HtmlEditor.vue?vue&type=script&lang=js&\"\nimport style0 from \"./HtmlEditor.vue?vue&type=style&index=0&id=cabe1596&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"cabe1596\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ThuTucHanhChinhForm.vue?vue&type=style&index=0&id=375756ea&prod&scped=true&lang=scss&\"","/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\nmodule.exports = cloneRegExp;\n","/*!\n * jQuery UI Draggable 1.13.2\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n */\n\n//>>label: Draggable\n//>>group: Interactions\n//>>description: Enables dragging functionality for any element.\n//>>docs: http://api.jqueryui.com/draggable/\n//>>demos: http://jqueryui.com/draggable/\n//>>css.structure: ../../themes/base/draggable.css\n\n( function( factory ) {\n\t\"use strict\";\n\n\tif ( typeof define === \"function\" && define.amd ) {\n\n\t\t// AMD. Register as an anonymous module.\n\t\tdefine( [\n\t\t\t\"jquery\",\n\t\t\t\"./mouse\",\n\t\t\t\"../data\",\n\t\t\t\"../plugin\",\n\t\t\t\"../safe-active-element\",\n\t\t\t\"../safe-blur\",\n\t\t\t\"../scroll-parent\",\n\t\t\t\"../version\",\n\t\t\t\"../widget\"\n\t\t], factory );\n\t} else {\n\n\t\t// Browser globals\n\t\tfactory( jQuery );\n\t}\n} )( function( $ ) {\n\"use strict\";\n\n$.widget( \"ui.draggable\", $.ui.mouse, {\n\tversion: \"1.13.2\",\n\twidgetEventPrefix: \"drag\",\n\toptions: {\n\t\taddClasses: true,\n\t\tappendTo: \"parent\",\n\t\taxis: false,\n\t\tconnectToSortable: false,\n\t\tcontainment: false,\n\t\tcursor: \"auto\",\n\t\tcursorAt: false,\n\t\tgrid: false,\n\t\thandle: false,\n\t\thelper: \"original\",\n\t\tiframeFix: false,\n\t\topacity: false,\n\t\trefreshPositions: false,\n\t\trevert: false,\n\t\trevertDuration: 500,\n\t\tscope: \"default\",\n\t\tscroll: true,\n\t\tscrollSensitivity: 20,\n\t\tscrollSpeed: 20,\n\t\tsnap: false,\n\t\tsnapMode: \"both\",\n\t\tsnapTolerance: 20,\n\t\tstack: false,\n\t\tzIndex: false,\n\n\t\t// Callbacks\n\t\tdrag: null,\n\t\tstart: null,\n\t\tstop: null\n\t},\n\t_create: function() {\n\n\t\tif ( this.options.helper === \"original\" ) {\n\t\t\tthis._setPositionRelative();\n\t\t}\n\t\tif ( this.options.addClasses ) {\n\t\t\tthis._addClass( \"ui-draggable\" );\n\t\t}\n\t\tthis._setHandleClassName();\n\n\t\tthis._mouseInit();\n\t},\n\n\t_setOption: function( key, value ) {\n\t\tthis._super( key, value );\n\t\tif ( key === \"handle\" ) {\n\t\t\tthis._removeHandleClassName();\n\t\t\tthis._setHandleClassName();\n\t\t}\n\t},\n\n\t_destroy: function() {\n\t\tif ( ( this.helper || this.element ).is( \".ui-draggable-dragging\" ) ) {\n\t\t\tthis.destroyOnClear = true;\n\t\t\treturn;\n\t\t}\n\t\tthis._removeHandleClassName();\n\t\tthis._mouseDestroy();\n\t},\n\n\t_mouseCapture: function( event ) {\n\t\tvar o = this.options;\n\n\t\t// Among others, prevent a drag on a resizable-handle\n\t\tif ( this.helper || o.disabled ||\n\t\t\t\t$( event.target ).closest( \".ui-resizable-handle\" ).length > 0 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t//Quit if we're not on a valid handle\n\t\tthis.handle = this._getHandle( event );\n\t\tif ( !this.handle ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tthis._blurActiveElement( event );\n\n\t\tthis._blockFrames( o.iframeFix === true ? \"iframe\" : o.iframeFix );\n\n\t\treturn true;\n\n\t},\n\n\t_blockFrames: function( selector ) {\n\t\tthis.iframeBlocks = this.document.find( selector ).map( function() {\n\t\t\tvar iframe = $( this );\n\n\t\t\treturn $( \"\" )\n\t\t\t\t.css( \"position\", \"absolute\" )\n\t\t\t\t.appendTo( iframe.parent() )\n\t\t\t\t.outerWidth( iframe.outerWidth() )\n\t\t\t\t.outerHeight( iframe.outerHeight() )\n\t\t\t\t.offset( iframe.offset() )[ 0 ];\n\t\t} );\n\t},\n\n\t_unblockFrames: function() {\n\t\tif ( this.iframeBlocks ) {\n\t\t\tthis.iframeBlocks.remove();\n\t\t\tdelete this.iframeBlocks;\n\t\t}\n\t},\n\n\t_blurActiveElement: function( event ) {\n\t\tvar activeElement = $.ui.safeActiveElement( this.document[ 0 ] ),\n\t\t\ttarget = $( event.target );\n\n\t\t// Don't blur if the event occurred on an element that is within\n\t\t// the currently focused element\n\t\t// See #10527, #12472\n\t\tif ( target.closest( activeElement ).length ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Blur any element that currently has focus, see #4261\n\t\t$.ui.safeBlur( activeElement );\n\t},\n\n\t_mouseStart: function( event ) {\n\n\t\tvar o = this.options;\n\n\t\t//Create and append the visible helper\n\t\tthis.helper = this._createHelper( event );\n\n\t\tthis._addClass( this.helper, \"ui-draggable-dragging\" );\n\n\t\t//Cache the helper size\n\t\tthis._cacheHelperProportions();\n\n\t\t//If ddmanager is used for droppables, set the global draggable\n\t\tif ( $.ui.ddmanager ) {\n\t\t\t$.ui.ddmanager.current = this;\n\t\t}\n\n\t\t/*\n\t\t * - Position generation -\n\t\t * This block generates everything position related - it's the core of draggables.\n\t\t */\n\n\t\t//Cache the margins of the original element\n\t\tthis._cacheMargins();\n\n\t\t//Store the helper's css position\n\t\tthis.cssPosition = this.helper.css( \"position\" );\n\t\tthis.scrollParent = this.helper.scrollParent( true );\n\t\tthis.offsetParent = this.helper.offsetParent();\n\t\tthis.hasFixedAncestor = this.helper.parents().filter( function() {\n\t\t\t\treturn $( this ).css( \"position\" ) === \"fixed\";\n\t\t\t} ).length > 0;\n\n\t\t//The element's absolute position on the page minus margins\n\t\tthis.positionAbs = this.element.offset();\n\t\tthis._refreshOffsets( event );\n\n\t\t//Generate the original position\n\t\tthis.originalPosition = this.position = this._generatePosition( event, false );\n\t\tthis.originalPageX = event.pageX;\n\t\tthis.originalPageY = event.pageY;\n\n\t\t//Adjust the mouse offset relative to the helper if \"cursorAt\" is supplied\n\t\tif ( o.cursorAt ) {\n\t\t\tthis._adjustOffsetFromHelper( o.cursorAt );\n\t\t}\n\n\t\t//Set a containment if given in the options\n\t\tthis._setContainment();\n\n\t\t//Trigger event + callbacks\n\t\tif ( this._trigger( \"start\", event ) === false ) {\n\t\t\tthis._clear();\n\t\t\treturn false;\n\t\t}\n\n\t\t//Recache the helper size\n\t\tthis._cacheHelperProportions();\n\n\t\t//Prepare the droppable offsets\n\t\tif ( $.ui.ddmanager && !o.dropBehaviour ) {\n\t\t\t$.ui.ddmanager.prepareOffsets( this, event );\n\t\t}\n\n\t\t// Execute the drag once - this causes the helper not to be visible before getting its\n\t\t// correct position\n\t\tthis._mouseDrag( event, true );\n\n\t\t// If the ddmanager is used for droppables, inform the manager that dragging has started\n\t\t// (see #5003)\n\t\tif ( $.ui.ddmanager ) {\n\t\t\t$.ui.ddmanager.dragStart( this, event );\n\t\t}\n\n\t\treturn true;\n\t},\n\n\t_refreshOffsets: function( event ) {\n\t\tthis.offset = {\n\t\t\ttop: this.positionAbs.top - this.margins.top,\n\t\t\tleft: this.positionAbs.left - this.margins.left,\n\t\t\tscroll: false,\n\t\t\tparent: this._getParentOffset(),\n\t\t\trelative: this._getRelativeOffset()\n\t\t};\n\n\t\tthis.offset.click = {\n\t\t\tleft: event.pageX - this.offset.left,\n\t\t\ttop: event.pageY - this.offset.top\n\t\t};\n\t},\n\n\t_mouseDrag: function( event, noPropagation ) {\n\n\t\t// reset any necessary cached properties (see #5009)\n\t\tif ( this.hasFixedAncestor ) {\n\t\t\tthis.offset.parent = this._getParentOffset();\n\t\t}\n\n\t\t//Compute the helpers position\n\t\tthis.position = this._generatePosition( event, true );\n\t\tthis.positionAbs = this._convertPositionTo( \"absolute\" );\n\n\t\t//Call plugins and callbacks and use the resulting position if something is returned\n\t\tif ( !noPropagation ) {\n\t\t\tvar ui = this._uiHash();\n\t\t\tif ( this._trigger( \"drag\", event, ui ) === false ) {\n\t\t\t\tthis._mouseUp( new $.Event( \"mouseup\", event ) );\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tthis.position = ui.position;\n\t\t}\n\n\t\tthis.helper[ 0 ].style.left = this.position.left + \"px\";\n\t\tthis.helper[ 0 ].style.top = this.position.top + \"px\";\n\n\t\tif ( $.ui.ddmanager ) {\n\t\t\t$.ui.ddmanager.drag( this, event );\n\t\t}\n\n\t\treturn false;\n\t},\n\n\t_mouseStop: function( event ) {\n\n\t\t//If we are using droppables, inform the manager about the drop\n\t\tvar that = this,\n\t\t\tdropped = false;\n\t\tif ( $.ui.ddmanager && !this.options.dropBehaviour ) {\n\t\t\tdropped = $.ui.ddmanager.drop( this, event );\n\t\t}\n\n\t\t//if a drop comes from outside (a sortable)\n\t\tif ( this.dropped ) {\n\t\t\tdropped = this.dropped;\n\t\t\tthis.dropped = false;\n\t\t}\n\n\t\tif ( ( this.options.revert === \"invalid\" && !dropped ) ||\n\t\t\t\t( this.options.revert === \"valid\" && dropped ) ||\n\t\t\t\tthis.options.revert === true || ( typeof this.options.revert === \"function\" &&\n\t\t\t\tthis.options.revert.call( this.element, dropped ) )\n\t\t) {\n\t\t\t$( this.helper ).animate(\n\t\t\t\tthis.originalPosition,\n\t\t\t\tparseInt( this.options.revertDuration, 10 ),\n\t\t\t\tfunction() {\n\t\t\t\t\tif ( that._trigger( \"stop\", event ) !== false ) {\n\t\t\t\t\t\tthat._clear();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t} else {\n\t\t\tif ( this._trigger( \"stop\", event ) !== false ) {\n\t\t\t\tthis._clear();\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t},\n\n\t_mouseUp: function( event ) {\n\t\tthis._unblockFrames();\n\n\t\t// If the ddmanager is used for droppables, inform the manager that dragging has stopped\n\t\t// (see #5003)\n\t\tif ( $.ui.ddmanager ) {\n\t\t\t$.ui.ddmanager.dragStop( this, event );\n\t\t}\n\n\t\t// Only need to focus if the event occurred on the draggable itself, see #10527\n\t\tif ( this.handleElement.is( event.target ) ) {\n\n\t\t\t// The interaction is over; whether or not the click resulted in a drag,\n\t\t\t// focus the element\n\t\t\tthis.element.trigger( \"focus\" );\n\t\t}\n\n\t\treturn $.ui.mouse.prototype._mouseUp.call( this, event );\n\t},\n\n\tcancel: function() {\n\n\t\tif ( this.helper.is( \".ui-draggable-dragging\" ) ) {\n\t\t\tthis._mouseUp( new $.Event( \"mouseup\", { target: this.element[ 0 ] } ) );\n\t\t} else {\n\t\t\tthis._clear();\n\t\t}\n\n\t\treturn this;\n\n\t},\n\n\t_getHandle: function( event ) {\n\t\treturn this.options.handle ?\n\t\t\t!!$( event.target ).closest( this.element.find( this.options.handle ) ).length :\n\t\t\ttrue;\n\t},\n\n\t_setHandleClassName: function() {\n\t\tthis.handleElement = this.options.handle ?\n\t\t\tthis.element.find( this.options.handle ) : this.element;\n\t\tthis._addClass( this.handleElement, \"ui-draggable-handle\" );\n\t},\n\n\t_removeHandleClassName: function() {\n\t\tthis._removeClass( this.handleElement, \"ui-draggable-handle\" );\n\t},\n\n\t_createHelper: function( event ) {\n\n\t\tvar o = this.options,\n\t\t\thelperIsFunction = typeof o.helper === \"function\",\n\t\t\thelper = helperIsFunction ?\n\t\t\t\t$( o.helper.apply( this.element[ 0 ], [ event ] ) ) :\n\t\t\t\t( o.helper === \"clone\" ?\n\t\t\t\t\tthis.element.clone().removeAttr( \"id\" ) :\n\t\t\t\t\tthis.element );\n\n\t\tif ( !helper.parents( \"body\" ).length ) {\n\t\t\thelper.appendTo( ( o.appendTo === \"parent\" ?\n\t\t\t\tthis.element[ 0 ].parentNode :\n\t\t\t\to.appendTo ) );\n\t\t}\n\n\t\t// Http://bugs.jqueryui.com/ticket/9446\n\t\t// a helper function can return the original element\n\t\t// which wouldn't have been set to relative in _create\n\t\tif ( helperIsFunction && helper[ 0 ] === this.element[ 0 ] ) {\n\t\t\tthis._setPositionRelative();\n\t\t}\n\n\t\tif ( helper[ 0 ] !== this.element[ 0 ] &&\n\t\t\t\t!( /(fixed|absolute)/ ).test( helper.css( \"position\" ) ) ) {\n\t\t\thelper.css( \"position\", \"absolute\" );\n\t\t}\n\n\t\treturn helper;\n\n\t},\n\n\t_setPositionRelative: function() {\n\t\tif ( !( /^(?:r|a|f)/ ).test( this.element.css( \"position\" ) ) ) {\n\t\t\tthis.element[ 0 ].style.position = \"relative\";\n\t\t}\n\t},\n\n\t_adjustOffsetFromHelper: function( obj ) {\n\t\tif ( typeof obj === \"string\" ) {\n\t\t\tobj = obj.split( \" \" );\n\t\t}\n\t\tif ( Array.isArray( obj ) ) {\n\t\t\tobj = { left: +obj[ 0 ], top: +obj[ 1 ] || 0 };\n\t\t}\n\t\tif ( \"left\" in obj ) {\n\t\t\tthis.offset.click.left = obj.left + this.margins.left;\n\t\t}\n\t\tif ( \"right\" in obj ) {\n\t\t\tthis.offset.click.left = this.helperProportions.width - obj.right + this.margins.left;\n\t\t}\n\t\tif ( \"top\" in obj ) {\n\t\t\tthis.offset.click.top = obj.top + this.margins.top;\n\t\t}\n\t\tif ( \"bottom\" in obj ) {\n\t\t\tthis.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top;\n\t\t}\n\t},\n\n\t_isRootNode: function( element ) {\n\t\treturn ( /(html|body)/i ).test( element.tagName ) || element === this.document[ 0 ];\n\t},\n\n\t_getParentOffset: function() {\n\n\t\t//Get the offsetParent and cache its position\n\t\tvar po = this.offsetParent.offset(),\n\t\t\tdocument = this.document[ 0 ];\n\n\t\t// This is a special case where we need to modify a offset calculated on start, since the\n\t\t// following happened:\n\t\t// 1. The position of the helper is absolute, so it's position is calculated based on the\n\t\t// next positioned parent\n\t\t// 2. The actual offset parent is a child of the scroll parent, and the scroll parent isn't\n\t\t// the document, which means that the scroll is included in the initial calculation of the\n\t\t// offset of the parent, and never recalculated upon drag\n\t\tif ( this.cssPosition === \"absolute\" && this.scrollParent[ 0 ] !== document &&\n\t\t\t\t$.contains( this.scrollParent[ 0 ], this.offsetParent[ 0 ] ) ) {\n\t\t\tpo.left += this.scrollParent.scrollLeft();\n\t\t\tpo.top += this.scrollParent.scrollTop();\n\t\t}\n\n\t\tif ( this._isRootNode( this.offsetParent[ 0 ] ) ) {\n\t\t\tpo = { top: 0, left: 0 };\n\t\t}\n\n\t\treturn {\n\t\t\ttop: po.top + ( parseInt( this.offsetParent.css( \"borderTopWidth\" ), 10 ) || 0 ),\n\t\t\tleft: po.left + ( parseInt( this.offsetParent.css( \"borderLeftWidth\" ), 10 ) || 0 )\n\t\t};\n\n\t},\n\n\t_getRelativeOffset: function() {\n\t\tif ( this.cssPosition !== \"relative\" ) {\n\t\t\treturn { top: 0, left: 0 };\n\t\t}\n\n\t\tvar p = this.element.position(),\n\t\t\tscrollIsRootNode = this._isRootNode( this.scrollParent[ 0 ] );\n\n\t\treturn {\n\t\t\ttop: p.top - ( parseInt( this.helper.css( \"top\" ), 10 ) || 0 ) +\n\t\t\t\t( !scrollIsRootNode ? this.scrollParent.scrollTop() : 0 ),\n\t\t\tleft: p.left - ( parseInt( this.helper.css( \"left\" ), 10 ) || 0 ) +\n\t\t\t\t( !scrollIsRootNode ? this.scrollParent.scrollLeft() : 0 )\n\t\t};\n\n\t},\n\n\t_cacheMargins: function() {\n\t\tthis.margins = {\n\t\t\tleft: ( parseInt( this.element.css( \"marginLeft\" ), 10 ) || 0 ),\n\t\t\ttop: ( parseInt( this.element.css( \"marginTop\" ), 10 ) || 0 ),\n\t\t\tright: ( parseInt( this.element.css( \"marginRight\" ), 10 ) || 0 ),\n\t\t\tbottom: ( parseInt( this.element.css( \"marginBottom\" ), 10 ) || 0 )\n\t\t};\n\t},\n\n\t_cacheHelperProportions: function() {\n\t\tthis.helperProportions = {\n\t\t\twidth: this.helper.outerWidth(),\n\t\t\theight: this.helper.outerHeight()\n\t\t};\n\t},\n\n\t_setContainment: function() {\n\n\t\tvar isUserScrollable, c, ce,\n\t\t\to = this.options,\n\t\t\tdocument = this.document[ 0 ];\n\n\t\tthis.relativeContainer = null;\n\n\t\tif ( !o.containment ) {\n\t\t\tthis.containment = null;\n\t\t\treturn;\n\t\t}\n\n\t\tif ( o.containment === \"window\" ) {\n\t\t\tthis.containment = [\n\t\t\t\t$( window ).scrollLeft() - this.offset.relative.left - this.offset.parent.left,\n\t\t\t\t$( window ).scrollTop() - this.offset.relative.top - this.offset.parent.top,\n\t\t\t\t$( window ).scrollLeft() + $( window ).width() -\n\t\t\t\t\tthis.helperProportions.width - this.margins.left,\n\t\t\t\t$( window ).scrollTop() +\n\t\t\t\t\t( $( window ).height() || document.body.parentNode.scrollHeight ) -\n\t\t\t\t\tthis.helperProportions.height - this.margins.top\n\t\t\t];\n\t\t\treturn;\n\t\t}\n\n\t\tif ( o.containment === \"document\" ) {\n\t\t\tthis.containment = [\n\t\t\t\t0,\n\t\t\t\t0,\n\t\t\t\t$( document ).width() - this.helperProportions.width - this.margins.left,\n\t\t\t\t( $( document ).height() || document.body.parentNode.scrollHeight ) -\n\t\t\t\t\tthis.helperProportions.height - this.margins.top\n\t\t\t];\n\t\t\treturn;\n\t\t}\n\n\t\tif ( o.containment.constructor === Array ) {\n\t\t\tthis.containment = o.containment;\n\t\t\treturn;\n\t\t}\n\n\t\tif ( o.containment === \"parent\" ) {\n\t\t\to.containment = this.helper[ 0 ].parentNode;\n\t\t}\n\n\t\tc = $( o.containment );\n\t\tce = c[ 0 ];\n\n\t\tif ( !ce ) {\n\t\t\treturn;\n\t\t}\n\n\t\tisUserScrollable = /(scroll|auto)/.test( c.css( \"overflow\" ) );\n\n\t\tthis.containment = [\n\t\t\t( parseInt( c.css( \"borderLeftWidth\" ), 10 ) || 0 ) +\n\t\t\t\t( parseInt( c.css( \"paddingLeft\" ), 10 ) || 0 ),\n\t\t\t( parseInt( c.css( \"borderTopWidth\" ), 10 ) || 0 ) +\n\t\t\t\t( parseInt( c.css( \"paddingTop\" ), 10 ) || 0 ),\n\t\t\t( isUserScrollable ? Math.max( ce.scrollWidth, ce.offsetWidth ) : ce.offsetWidth ) -\n\t\t\t\t( parseInt( c.css( \"borderRightWidth\" ), 10 ) || 0 ) -\n\t\t\t\t( parseInt( c.css( \"paddingRight\" ), 10 ) || 0 ) -\n\t\t\t\tthis.helperProportions.width -\n\t\t\t\tthis.margins.left -\n\t\t\t\tthis.margins.right,\n\t\t\t( isUserScrollable ? Math.max( ce.scrollHeight, ce.offsetHeight ) : ce.offsetHeight ) -\n\t\t\t\t( parseInt( c.css( \"borderBottomWidth\" ), 10 ) || 0 ) -\n\t\t\t\t( parseInt( c.css( \"paddingBottom\" ), 10 ) || 0 ) -\n\t\t\t\tthis.helperProportions.height -\n\t\t\t\tthis.margins.top -\n\t\t\t\tthis.margins.bottom\n\t\t];\n\t\tthis.relativeContainer = c;\n\t},\n\n\t_convertPositionTo: function( d, pos ) {\n\n\t\tif ( !pos ) {\n\t\t\tpos = this.position;\n\t\t}\n\n\t\tvar mod = d === \"absolute\" ? 1 : -1,\n\t\t\tscrollIsRootNode = this._isRootNode( this.scrollParent[ 0 ] );\n\n\t\treturn {\n\t\t\ttop: (\n\n\t\t\t\t// The absolute mouse position\n\t\t\t\tpos.top\t+\n\n\t\t\t\t// Only for relative positioned nodes: Relative offset from element to offset parent\n\t\t\t\tthis.offset.relative.top * mod +\n\n\t\t\t\t// The offsetParent's offset without borders (offset + border)\n\t\t\t\tthis.offset.parent.top * mod -\n\t\t\t\t( ( this.cssPosition === \"fixed\" ?\n\t\t\t\t\t-this.offset.scroll.top :\n\t\t\t\t\t( scrollIsRootNode ? 0 : this.offset.scroll.top ) ) * mod )\n\t\t\t),\n\t\t\tleft: (\n\n\t\t\t\t// The absolute mouse position\n\t\t\t\tpos.left +\n\n\t\t\t\t// Only for relative positioned nodes: Relative offset from element to offset parent\n\t\t\t\tthis.offset.relative.left * mod +\n\n\t\t\t\t// The offsetParent's offset without borders (offset + border)\n\t\t\t\tthis.offset.parent.left * mod\t-\n\t\t\t\t( ( this.cssPosition === \"fixed\" ?\n\t\t\t\t\t-this.offset.scroll.left :\n\t\t\t\t\t( scrollIsRootNode ? 0 : this.offset.scroll.left ) ) * mod )\n\t\t\t)\n\t\t};\n\n\t},\n\n\t_generatePosition: function( event, constrainPosition ) {\n\n\t\tvar containment, co, top, left,\n\t\t\to = this.options,\n\t\t\tscrollIsRootNode = this._isRootNode( this.scrollParent[ 0 ] ),\n\t\t\tpageX = event.pageX,\n\t\t\tpageY = event.pageY;\n\n\t\t// Cache the scroll\n\t\tif ( !scrollIsRootNode || !this.offset.scroll ) {\n\t\t\tthis.offset.scroll = {\n\t\t\t\ttop: this.scrollParent.scrollTop(),\n\t\t\t\tleft: this.scrollParent.scrollLeft()\n\t\t\t};\n\t\t}\n\n\t\t/*\n\t\t * - Position constraining -\n\t\t * Constrain the position to a mix of grid, containment.\n\t\t */\n\n\t\t// If we are not dragging yet, we won't check for options\n\t\tif ( constrainPosition ) {\n\t\t\tif ( this.containment ) {\n\t\t\t\tif ( this.relativeContainer ) {\n\t\t\t\t\tco = this.relativeContainer.offset();\n\t\t\t\t\tcontainment = [\n\t\t\t\t\t\tthis.containment[ 0 ] + co.left,\n\t\t\t\t\t\tthis.containment[ 1 ] + co.top,\n\t\t\t\t\t\tthis.containment[ 2 ] + co.left,\n\t\t\t\t\t\tthis.containment[ 3 ] + co.top\n\t\t\t\t\t];\n\t\t\t\t} else {\n\t\t\t\t\tcontainment = this.containment;\n\t\t\t\t}\n\n\t\t\t\tif ( event.pageX - this.offset.click.left < containment[ 0 ] ) {\n\t\t\t\t\tpageX = containment[ 0 ] + this.offset.click.left;\n\t\t\t\t}\n\t\t\t\tif ( event.pageY - this.offset.click.top < containment[ 1 ] ) {\n\t\t\t\t\tpageY = containment[ 1 ] + this.offset.click.top;\n\t\t\t\t}\n\t\t\t\tif ( event.pageX - this.offset.click.left > containment[ 2 ] ) {\n\t\t\t\t\tpageX = containment[ 2 ] + this.offset.click.left;\n\t\t\t\t}\n\t\t\t\tif ( event.pageY - this.offset.click.top > containment[ 3 ] ) {\n\t\t\t\t\tpageY = containment[ 3 ] + this.offset.click.top;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( o.grid ) {\n\n\t\t\t\t//Check for grid elements set to 0 to prevent divide by 0 error causing invalid\n\t\t\t\t// argument errors in IE (see ticket #6950)\n\t\t\t\ttop = o.grid[ 1 ] ? this.originalPageY + Math.round( ( pageY -\n\t\t\t\t\tthis.originalPageY ) / o.grid[ 1 ] ) * o.grid[ 1 ] : this.originalPageY;\n\t\t\t\tpageY = containment ? ( ( top - this.offset.click.top >= containment[ 1 ] ||\n\t\t\t\t\ttop - this.offset.click.top > containment[ 3 ] ) ?\n\t\t\t\t\t\ttop :\n\t\t\t\t\t\t( ( top - this.offset.click.top >= containment[ 1 ] ) ?\n\t\t\t\t\t\t\ttop - o.grid[ 1 ] : top + o.grid[ 1 ] ) ) : top;\n\n\t\t\t\tleft = o.grid[ 0 ] ? this.originalPageX +\n\t\t\t\t\tMath.round( ( pageX - this.originalPageX ) / o.grid[ 0 ] ) * o.grid[ 0 ] :\n\t\t\t\t\tthis.originalPageX;\n\t\t\t\tpageX = containment ? ( ( left - this.offset.click.left >= containment[ 0 ] ||\n\t\t\t\t\tleft - this.offset.click.left > containment[ 2 ] ) ?\n\t\t\t\t\t\tleft :\n\t\t\t\t\t\t( ( left - this.offset.click.left >= containment[ 0 ] ) ?\n\t\t\t\t\t\t\tleft - o.grid[ 0 ] : left + o.grid[ 0 ] ) ) : left;\n\t\t\t}\n\n\t\t\tif ( o.axis === \"y\" ) {\n\t\t\t\tpageX = this.originalPageX;\n\t\t\t}\n\n\t\t\tif ( o.axis === \"x\" ) {\n\t\t\t\tpageY = this.originalPageY;\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\ttop: (\n\n\t\t\t\t// The absolute mouse position\n\t\t\t\tpageY -\n\n\t\t\t\t// Click offset (relative to the element)\n\t\t\t\tthis.offset.click.top -\n\n\t\t\t\t// Only for relative positioned nodes: Relative offset from element to offset parent\n\t\t\t\tthis.offset.relative.top -\n\n\t\t\t\t// The offsetParent's offset without borders (offset + border)\n\t\t\t\tthis.offset.parent.top +\n\t\t\t\t( this.cssPosition === \"fixed\" ?\n\t\t\t\t\t-this.offset.scroll.top :\n\t\t\t\t\t( scrollIsRootNode ? 0 : this.offset.scroll.top ) )\n\t\t\t),\n\t\t\tleft: (\n\n\t\t\t\t// The absolute mouse position\n\t\t\t\tpageX -\n\n\t\t\t\t// Click offset (relative to the element)\n\t\t\t\tthis.offset.click.left -\n\n\t\t\t\t// Only for relative positioned nodes: Relative offset from element to offset parent\n\t\t\t\tthis.offset.relative.left -\n\n\t\t\t\t// The offsetParent's offset without borders (offset + border)\n\t\t\t\tthis.offset.parent.left +\n\t\t\t\t( this.cssPosition === \"fixed\" ?\n\t\t\t\t\t-this.offset.scroll.left :\n\t\t\t\t\t( scrollIsRootNode ? 0 : this.offset.scroll.left ) )\n\t\t\t)\n\t\t};\n\n\t},\n\n\t_clear: function() {\n\t\tthis._removeClass( this.helper, \"ui-draggable-dragging\" );\n\t\tif ( this.helper[ 0 ] !== this.element[ 0 ] && !this.cancelHelperRemoval ) {\n\t\t\tthis.helper.remove();\n\t\t}\n\t\tthis.helper = null;\n\t\tthis.cancelHelperRemoval = false;\n\t\tif ( this.destroyOnClear ) {\n\t\t\tthis.destroy();\n\t\t}\n\t},\n\n\t// From now on bulk stuff - mainly helpers\n\n\t_trigger: function( type, event, ui ) {\n\t\tui = ui || this._uiHash();\n\t\t$.ui.plugin.call( this, type, [ event, ui, this ], true );\n\n\t\t// Absolute position and offset (see #6884 ) have to be recalculated after plugins\n\t\tif ( /^(drag|start|stop)/.test( type ) ) {\n\t\t\tthis.positionAbs = this._convertPositionTo( \"absolute\" );\n\t\t\tui.offset = this.positionAbs;\n\t\t}\n\t\treturn $.Widget.prototype._trigger.call( this, type, event, ui );\n\t},\n\n\tplugins: {},\n\n\t_uiHash: function() {\n\t\treturn {\n\t\t\thelper: this.helper,\n\t\t\tposition: this.position,\n\t\t\toriginalPosition: this.originalPosition,\n\t\t\toffset: this.positionAbs\n\t\t};\n\t}\n\n} );\n\n$.ui.plugin.add( \"draggable\", \"connectToSortable\", {\n\tstart: function( event, ui, draggable ) {\n\t\tvar uiSortable = $.extend( {}, ui, {\n\t\t\titem: draggable.element\n\t\t} );\n\n\t\tdraggable.sortables = [];\n\t\t$( draggable.options.connectToSortable ).each( function() {\n\t\t\tvar sortable = $( this ).sortable( \"instance\" );\n\n\t\t\tif ( sortable && !sortable.options.disabled ) {\n\t\t\t\tdraggable.sortables.push( sortable );\n\n\t\t\t\t// RefreshPositions is called at drag start to refresh the containerCache\n\t\t\t\t// which is used in drag. This ensures it's initialized and synchronized\n\t\t\t\t// with any changes that might have happened on the page since initialization.\n\t\t\t\tsortable.refreshPositions();\n\t\t\t\tsortable._trigger( \"activate\", event, uiSortable );\n\t\t\t}\n\t\t} );\n\t},\n\tstop: function( event, ui, draggable ) {\n\t\tvar uiSortable = $.extend( {}, ui, {\n\t\t\titem: draggable.element\n\t\t} );\n\n\t\tdraggable.cancelHelperRemoval = false;\n\n\t\t$.each( draggable.sortables, function() {\n\t\t\tvar sortable = this;\n\n\t\t\tif ( sortable.isOver ) {\n\t\t\t\tsortable.isOver = 0;\n\n\t\t\t\t// Allow this sortable to handle removing the helper\n\t\t\t\tdraggable.cancelHelperRemoval = true;\n\t\t\t\tsortable.cancelHelperRemoval = false;\n\n\t\t\t\t// Use _storedCSS To restore properties in the sortable,\n\t\t\t\t// as this also handles revert (#9675) since the draggable\n\t\t\t\t// may have modified them in unexpected ways (#8809)\n\t\t\t\tsortable._storedCSS = {\n\t\t\t\t\tposition: sortable.placeholder.css( \"position\" ),\n\t\t\t\t\ttop: sortable.placeholder.css( \"top\" ),\n\t\t\t\t\tleft: sortable.placeholder.css( \"left\" )\n\t\t\t\t};\n\n\t\t\t\tsortable._mouseStop( event );\n\n\t\t\t\t// Once drag has ended, the sortable should return to using\n\t\t\t\t// its original helper, not the shared helper from draggable\n\t\t\t\tsortable.options.helper = sortable.options._helper;\n\t\t\t} else {\n\n\t\t\t\t// Prevent this Sortable from removing the helper.\n\t\t\t\t// However, don't set the draggable to remove the helper\n\t\t\t\t// either as another connected Sortable may yet handle the removal.\n\t\t\t\tsortable.cancelHelperRemoval = true;\n\n\t\t\t\tsortable._trigger( \"deactivate\", event, uiSortable );\n\t\t\t}\n\t\t} );\n\t},\n\tdrag: function( event, ui, draggable ) {\n\t\t$.each( draggable.sortables, function() {\n\t\t\tvar innermostIntersecting = false,\n\t\t\t\tsortable = this;\n\n\t\t\t// Copy over variables that sortable's _intersectsWith uses\n\t\t\tsortable.positionAbs = draggable.positionAbs;\n\t\t\tsortable.helperProportions = draggable.helperProportions;\n\t\t\tsortable.offset.click = draggable.offset.click;\n\n\t\t\tif ( sortable._intersectsWith( sortable.containerCache ) ) {\n\t\t\t\tinnermostIntersecting = true;\n\n\t\t\t\t$.each( draggable.sortables, function() {\n\n\t\t\t\t\t// Copy over variables that sortable's _intersectsWith uses\n\t\t\t\t\tthis.positionAbs = draggable.positionAbs;\n\t\t\t\t\tthis.helperProportions = draggable.helperProportions;\n\t\t\t\t\tthis.offset.click = draggable.offset.click;\n\n\t\t\t\t\tif ( this !== sortable &&\n\t\t\t\t\t\t\tthis._intersectsWith( this.containerCache ) &&\n\t\t\t\t\t\t\t$.contains( sortable.element[ 0 ], this.element[ 0 ] ) ) {\n\t\t\t\t\t\tinnermostIntersecting = false;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn innermostIntersecting;\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tif ( innermostIntersecting ) {\n\n\t\t\t\t// If it intersects, we use a little isOver variable and set it once,\n\t\t\t\t// so that the move-in stuff gets fired only once.\n\t\t\t\tif ( !sortable.isOver ) {\n\t\t\t\t\tsortable.isOver = 1;\n\n\t\t\t\t\t// Store draggable's parent in case we need to reappend to it later.\n\t\t\t\t\tdraggable._parent = ui.helper.parent();\n\n\t\t\t\t\tsortable.currentItem = ui.helper\n\t\t\t\t\t\t.appendTo( sortable.element )\n\t\t\t\t\t\t.data( \"ui-sortable-item\", true );\n\n\t\t\t\t\t// Store helper option to later restore it\n\t\t\t\t\tsortable.options._helper = sortable.options.helper;\n\n\t\t\t\t\tsortable.options.helper = function() {\n\t\t\t\t\t\treturn ui.helper[ 0 ];\n\t\t\t\t\t};\n\n\t\t\t\t\t// Fire the start events of the sortable with our passed browser event,\n\t\t\t\t\t// and our own helper (so it doesn't create a new one)\n\t\t\t\t\tevent.target = sortable.currentItem[ 0 ];\n\t\t\t\t\tsortable._mouseCapture( event, true );\n\t\t\t\t\tsortable._mouseStart( event, true, true );\n\n\t\t\t\t\t// Because the browser event is way off the new appended portlet,\n\t\t\t\t\t// modify necessary variables to reflect the changes\n\t\t\t\t\tsortable.offset.click.top = draggable.offset.click.top;\n\t\t\t\t\tsortable.offset.click.left = draggable.offset.click.left;\n\t\t\t\t\tsortable.offset.parent.left -= draggable.offset.parent.left -\n\t\t\t\t\t\tsortable.offset.parent.left;\n\t\t\t\t\tsortable.offset.parent.top -= draggable.offset.parent.top -\n\t\t\t\t\t\tsortable.offset.parent.top;\n\n\t\t\t\t\tdraggable._trigger( \"toSortable\", event );\n\n\t\t\t\t\t// Inform draggable that the helper is in a valid drop zone,\n\t\t\t\t\t// used solely in the revert option to handle \"valid/invalid\".\n\t\t\t\t\tdraggable.dropped = sortable.element;\n\n\t\t\t\t\t// Need to refreshPositions of all sortables in the case that\n\t\t\t\t\t// adding to one sortable changes the location of the other sortables (#9675)\n\t\t\t\t\t$.each( draggable.sortables, function() {\n\t\t\t\t\t\tthis.refreshPositions();\n\t\t\t\t\t} );\n\n\t\t\t\t\t// Hack so receive/update callbacks work (mostly)\n\t\t\t\t\tdraggable.currentItem = draggable.element;\n\t\t\t\t\tsortable.fromOutside = draggable;\n\t\t\t\t}\n\n\t\t\t\tif ( sortable.currentItem ) {\n\t\t\t\t\tsortable._mouseDrag( event );\n\n\t\t\t\t\t// Copy the sortable's position because the draggable's can potentially reflect\n\t\t\t\t\t// a relative position, while sortable is always absolute, which the dragged\n\t\t\t\t\t// element has now become. (#8809)\n\t\t\t\t\tui.position = sortable.position;\n\t\t\t\t}\n\t\t\t} else {\n\n\t\t\t\t// If it doesn't intersect with the sortable, and it intersected before,\n\t\t\t\t// we fake the drag stop of the sortable, but make sure it doesn't remove\n\t\t\t\t// the helper by using cancelHelperRemoval.\n\t\t\t\tif ( sortable.isOver ) {\n\n\t\t\t\t\tsortable.isOver = 0;\n\t\t\t\t\tsortable.cancelHelperRemoval = true;\n\n\t\t\t\t\t// Calling sortable's mouseStop would trigger a revert,\n\t\t\t\t\t// so revert must be temporarily false until after mouseStop is called.\n\t\t\t\t\tsortable.options._revert = sortable.options.revert;\n\t\t\t\t\tsortable.options.revert = false;\n\n\t\t\t\t\tsortable._trigger( \"out\", event, sortable._uiHash( sortable ) );\n\t\t\t\t\tsortable._mouseStop( event, true );\n\n\t\t\t\t\t// Restore sortable behaviors that were modfied\n\t\t\t\t\t// when the draggable entered the sortable area (#9481)\n\t\t\t\t\tsortable.options.revert = sortable.options._revert;\n\t\t\t\t\tsortable.options.helper = sortable.options._helper;\n\n\t\t\t\t\tif ( sortable.placeholder ) {\n\t\t\t\t\t\tsortable.placeholder.remove();\n\t\t\t\t\t}\n\n\t\t\t\t\t// Restore and recalculate the draggable's offset considering the sortable\n\t\t\t\t\t// may have modified them in unexpected ways. (#8809, #10669)\n\t\t\t\t\tui.helper.appendTo( draggable._parent );\n\t\t\t\t\tdraggable._refreshOffsets( event );\n\t\t\t\t\tui.position = draggable._generatePosition( event, true );\n\n\t\t\t\t\tdraggable._trigger( \"fromSortable\", event );\n\n\t\t\t\t\t// Inform draggable that the helper is no longer in a valid drop zone\n\t\t\t\t\tdraggable.dropped = false;\n\n\t\t\t\t\t// Need to refreshPositions of all sortables just in case removing\n\t\t\t\t\t// from one sortable changes the location of other sortables (#9675)\n\t\t\t\t\t$.each( draggable.sortables, function() {\n\t\t\t\t\t\tthis.refreshPositions();\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n} );\n\n$.ui.plugin.add( \"draggable\", \"cursor\", {\n\tstart: function( event, ui, instance ) {\n\t\tvar t = $( \"body\" ),\n\t\t\to = instance.options;\n\n\t\tif ( t.css( \"cursor\" ) ) {\n\t\t\to._cursor = t.css( \"cursor\" );\n\t\t}\n\t\tt.css( \"cursor\", o.cursor );\n\t},\n\tstop: function( event, ui, instance ) {\n\t\tvar o = instance.options;\n\t\tif ( o._cursor ) {\n\t\t\t$( \"body\" ).css( \"cursor\", o._cursor );\n\t\t}\n\t}\n} );\n\n$.ui.plugin.add( \"draggable\", \"opacity\", {\n\tstart: function( event, ui, instance ) {\n\t\tvar t = $( ui.helper ),\n\t\t\to = instance.options;\n\t\tif ( t.css( \"opacity\" ) ) {\n\t\t\to._opacity = t.css( \"opacity\" );\n\t\t}\n\t\tt.css( \"opacity\", o.opacity );\n\t},\n\tstop: function( event, ui, instance ) {\n\t\tvar o = instance.options;\n\t\tif ( o._opacity ) {\n\t\t\t$( ui.helper ).css( \"opacity\", o._opacity );\n\t\t}\n\t}\n} );\n\n$.ui.plugin.add( \"draggable\", \"scroll\", {\n\tstart: function( event, ui, i ) {\n\t\tif ( !i.scrollParentNotHidden ) {\n\t\t\ti.scrollParentNotHidden = i.helper.scrollParent( false );\n\t\t}\n\n\t\tif ( i.scrollParentNotHidden[ 0 ] !== i.document[ 0 ] &&\n\t\t\t\ti.scrollParentNotHidden[ 0 ].tagName !== \"HTML\" ) {\n\t\t\ti.overflowOffset = i.scrollParentNotHidden.offset();\n\t\t}\n\t},\n\tdrag: function( event, ui, i ) {\n\n\t\tvar o = i.options,\n\t\t\tscrolled = false,\n\t\t\tscrollParent = i.scrollParentNotHidden[ 0 ],\n\t\t\tdocument = i.document[ 0 ];\n\n\t\tif ( scrollParent !== document && scrollParent.tagName !== \"HTML\" ) {\n\t\t\tif ( !o.axis || o.axis !== \"x\" ) {\n\t\t\t\tif ( ( i.overflowOffset.top + scrollParent.offsetHeight ) - event.pageY <\n\t\t\t\t\t\to.scrollSensitivity ) {\n\t\t\t\t\tscrollParent.scrollTop = scrolled = scrollParent.scrollTop + o.scrollSpeed;\n\t\t\t\t} else if ( event.pageY - i.overflowOffset.top < o.scrollSensitivity ) {\n\t\t\t\t\tscrollParent.scrollTop = scrolled = scrollParent.scrollTop - o.scrollSpeed;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( !o.axis || o.axis !== \"y\" ) {\n\t\t\t\tif ( ( i.overflowOffset.left + scrollParent.offsetWidth ) - event.pageX <\n\t\t\t\t\t\to.scrollSensitivity ) {\n\t\t\t\t\tscrollParent.scrollLeft = scrolled = scrollParent.scrollLeft + o.scrollSpeed;\n\t\t\t\t} else if ( event.pageX - i.overflowOffset.left < o.scrollSensitivity ) {\n\t\t\t\t\tscrollParent.scrollLeft = scrolled = scrollParent.scrollLeft - o.scrollSpeed;\n\t\t\t\t}\n\t\t\t}\n\n\t\t} else {\n\n\t\t\tif ( !o.axis || o.axis !== \"x\" ) {\n\t\t\t\tif ( event.pageY - $( document ).scrollTop() < o.scrollSensitivity ) {\n\t\t\t\t\tscrolled = $( document ).scrollTop( $( document ).scrollTop() - o.scrollSpeed );\n\t\t\t\t} else if ( $( window ).height() - ( event.pageY - $( document ).scrollTop() ) <\n\t\t\t\t\t\to.scrollSensitivity ) {\n\t\t\t\t\tscrolled = $( document ).scrollTop( $( document ).scrollTop() + o.scrollSpeed );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( !o.axis || o.axis !== \"y\" ) {\n\t\t\t\tif ( event.pageX - $( document ).scrollLeft() < o.scrollSensitivity ) {\n\t\t\t\t\tscrolled = $( document ).scrollLeft(\n\t\t\t\t\t\t$( document ).scrollLeft() - o.scrollSpeed\n\t\t\t\t\t);\n\t\t\t\t} else if ( $( window ).width() - ( event.pageX - $( document ).scrollLeft() ) <\n\t\t\t\t\t\to.scrollSensitivity ) {\n\t\t\t\t\tscrolled = $( document ).scrollLeft(\n\t\t\t\t\t\t$( document ).scrollLeft() + o.scrollSpeed\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\n\t\tif ( scrolled !== false && $.ui.ddmanager && !o.dropBehaviour ) {\n\t\t\t$.ui.ddmanager.prepareOffsets( i, event );\n\t\t}\n\n\t}\n} );\n\n$.ui.plugin.add( \"draggable\", \"snap\", {\n\tstart: function( event, ui, i ) {\n\n\t\tvar o = i.options;\n\n\t\ti.snapElements = [];\n\n\t\t$( o.snap.constructor !== String ? ( o.snap.items || \":data(ui-draggable)\" ) : o.snap )\n\t\t\t.each( function() {\n\t\t\t\tvar $t = $( this ),\n\t\t\t\t\t$o = $t.offset();\n\t\t\t\tif ( this !== i.element[ 0 ] ) {\n\t\t\t\t\ti.snapElements.push( {\n\t\t\t\t\t\titem: this,\n\t\t\t\t\t\twidth: $t.outerWidth(), height: $t.outerHeight(),\n\t\t\t\t\t\ttop: $o.top, left: $o.left\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} );\n\n\t},\n\tdrag: function( event, ui, inst ) {\n\n\t\tvar ts, bs, ls, rs, l, r, t, b, i, first,\n\t\t\to = inst.options,\n\t\t\td = o.snapTolerance,\n\t\t\tx1 = ui.offset.left, x2 = x1 + inst.helperProportions.width,\n\t\t\ty1 = ui.offset.top, y2 = y1 + inst.helperProportions.height;\n\n\t\tfor ( i = inst.snapElements.length - 1; i >= 0; i-- ) {\n\n\t\t\tl = inst.snapElements[ i ].left - inst.margins.left;\n\t\t\tr = l + inst.snapElements[ i ].width;\n\t\t\tt = inst.snapElements[ i ].top - inst.margins.top;\n\t\t\tb = t + inst.snapElements[ i ].height;\n\n\t\t\tif ( x2 < l - d || x1 > r + d || y2 < t - d || y1 > b + d ||\n\t\t\t\t\t!$.contains( inst.snapElements[ i ].item.ownerDocument,\n\t\t\t\t\tinst.snapElements[ i ].item ) ) {\n\t\t\t\tif ( inst.snapElements[ i ].snapping ) {\n\t\t\t\t\tif ( inst.options.snap.release ) {\n\t\t\t\t\t\tinst.options.snap.release.call(\n\t\t\t\t\t\t\tinst.element,\n\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\t$.extend( inst._uiHash(), { snapItem: inst.snapElements[ i ].item } )\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tinst.snapElements[ i ].snapping = false;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif ( o.snapMode !== \"inner\" ) {\n\t\t\t\tts = Math.abs( t - y2 ) <= d;\n\t\t\t\tbs = Math.abs( b - y1 ) <= d;\n\t\t\t\tls = Math.abs( l - x2 ) <= d;\n\t\t\t\trs = Math.abs( r - x1 ) <= d;\n\t\t\t\tif ( ts ) {\n\t\t\t\t\tui.position.top = inst._convertPositionTo( \"relative\", {\n\t\t\t\t\t\ttop: t - inst.helperProportions.height,\n\t\t\t\t\t\tleft: 0\n\t\t\t\t\t} ).top;\n\t\t\t\t}\n\t\t\t\tif ( bs ) {\n\t\t\t\t\tui.position.top = inst._convertPositionTo( \"relative\", {\n\t\t\t\t\t\ttop: b,\n\t\t\t\t\t\tleft: 0\n\t\t\t\t\t} ).top;\n\t\t\t\t}\n\t\t\t\tif ( ls ) {\n\t\t\t\t\tui.position.left = inst._convertPositionTo( \"relative\", {\n\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\tleft: l - inst.helperProportions.width\n\t\t\t\t\t} ).left;\n\t\t\t\t}\n\t\t\t\tif ( rs ) {\n\t\t\t\t\tui.position.left = inst._convertPositionTo( \"relative\", {\n\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\tleft: r\n\t\t\t\t\t} ).left;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfirst = ( ts || bs || ls || rs );\n\n\t\t\tif ( o.snapMode !== \"outer\" ) {\n\t\t\t\tts = Math.abs( t - y1 ) <= d;\n\t\t\t\tbs = Math.abs( b - y2 ) <= d;\n\t\t\t\tls = Math.abs( l - x1 ) <= d;\n\t\t\t\trs = Math.abs( r - x2 ) <= d;\n\t\t\t\tif ( ts ) {\n\t\t\t\t\tui.position.top = inst._convertPositionTo( \"relative\", {\n\t\t\t\t\t\ttop: t,\n\t\t\t\t\t\tleft: 0\n\t\t\t\t\t} ).top;\n\t\t\t\t}\n\t\t\t\tif ( bs ) {\n\t\t\t\t\tui.position.top = inst._convertPositionTo( \"relative\", {\n\t\t\t\t\t\ttop: b - inst.helperProportions.height,\n\t\t\t\t\t\tleft: 0\n\t\t\t\t\t} ).top;\n\t\t\t\t}\n\t\t\t\tif ( ls ) {\n\t\t\t\t\tui.position.left = inst._convertPositionTo( \"relative\", {\n\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\tleft: l\n\t\t\t\t\t} ).left;\n\t\t\t\t}\n\t\t\t\tif ( rs ) {\n\t\t\t\t\tui.position.left = inst._convertPositionTo( \"relative\", {\n\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\tleft: r - inst.helperProportions.width\n\t\t\t\t\t} ).left;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( !inst.snapElements[ i ].snapping && ( ts || bs || ls || rs || first ) ) {\n\t\t\t\tif ( inst.options.snap.snap ) {\n\t\t\t\t\tinst.options.snap.snap.call(\n\t\t\t\t\t\tinst.element,\n\t\t\t\t\t\tevent,\n\t\t\t\t\t\t$.extend( inst._uiHash(), {\n\t\t\t\t\t\t\tsnapItem: inst.snapElements[ i ].item\n\t\t\t\t\t\t} ) );\n\t\t\t\t}\n\t\t\t}\n\t\t\tinst.snapElements[ i ].snapping = ( ts || bs || ls || rs || first );\n\n\t\t}\n\n\t}\n} );\n\n$.ui.plugin.add( \"draggable\", \"stack\", {\n\tstart: function( event, ui, instance ) {\n\t\tvar min,\n\t\t\to = instance.options,\n\t\t\tgroup = $.makeArray( $( o.stack ) ).sort( function( a, b ) {\n\t\t\t\treturn ( parseInt( $( a ).css( \"zIndex\" ), 10 ) || 0 ) -\n\t\t\t\t\t( parseInt( $( b ).css( \"zIndex\" ), 10 ) || 0 );\n\t\t\t} );\n\n\t\tif ( !group.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tmin = parseInt( $( group[ 0 ] ).css( \"zIndex\" ), 10 ) || 0;\n\t\t$( group ).each( function( i ) {\n\t\t\t$( this ).css( \"zIndex\", min + i );\n\t\t} );\n\t\tthis.css( \"zIndex\", ( min + group.length ) );\n\t}\n} );\n\n$.ui.plugin.add( \"draggable\", \"zIndex\", {\n\tstart: function( event, ui, instance ) {\n\t\tvar t = $( ui.helper ),\n\t\t\to = instance.options;\n\n\t\tif ( t.css( \"zIndex\" ) ) {\n\t\t\to._zIndex = t.css( \"zIndex\" );\n\t\t}\n\t\tt.css( \"zIndex\", o.zIndex );\n\t},\n\tstop: function( event, ui, instance ) {\n\t\tvar o = instance.options;\n\n\t\tif ( o._zIndex ) {\n\t\t\t$( ui.helper ).css( \"zIndex\", o._zIndex );\n\t\t}\n\t}\n} );\n\nreturn $.ui.draggable;\n\n} );\n","var createBaseFor = require('./_createBaseFor');\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"d-sm-flex justify-content-start align-items-center\"},[_c('div',{staticClass:\"btn-wrap\"},[(_vm.actions.includes('reFresh'))?_c('button',{staticClass:\"compact ui button text-height\",on:{\"click\":_vm.onRefreshPage}},[_c('refresh-cw-icon',{staticClass:\"custom-class line-top\",attrs:{\"size\":\"12\",\"stroke-width\":3}}),_vm._v(\" Tải lại \")],1):_vm._e(),(_vm.actions.includes('createBtn') && _vm.actionsPermission[0])?_c('button',{staticClass:\"compact ui button btn-primary text-height\",on:{\"click\":_vm.onAddCommom}},[_c('plus-icon',{staticClass:\"custom-class line-top\",attrs:{\"size\":\"12\",\"stroke-width\":3}}),_vm._v(\" Thêm mới \")],1):_vm._e(),(_vm.actions.includes('ayncBtn'))?_c('button',{staticClass:\"compact ui button btn-primary\",on:{\"click\":_vm.onAsyncData}},[_c('activity-icon',{staticClass:\"custom-class line-top\",attrs:{\"size\":\"12\",\"stroke-width\":3}}),_vm._v(\" Đồng bộ \")],1):_vm._e(),(_vm.actions.includes('editorProfileBtn'))?_c('button',{staticClass:\"compact ui button btn-primary\",class:_vm.isDisabelEditBtn ? 'disabled' : '',on:{\"click\":_vm.onEditorProfile}},[_vm._v(\" Cập nhật kiểu hồ sơ \")]):_vm._e(),(_vm.actions.includes('editorFormBtn'))?_c('button',{staticClass:\"compact ui button btn-primary\",class:_vm.isDisabelEditBtn ? 'disabled' : '',on:{\"click\":_vm.onEditorForm}},[_vm._v(\" Cập nhật biểu mẫu \")]):_vm._e(),(_vm.actions.includes('editorPaperBtn'))?_c('button',{staticClass:\"compact ui button btn-primary\",class:_vm.isDisabelEditBtn ? 'disabled' : '',on:{\"click\":_vm.onEditorPaper}},[_vm._v(\" Cập nhật giấy tờ \")]):_vm._e(),(_vm.actions.includes('answerBtn'))?_c('button',{staticClass:\"compact ui button btn-primary\",class:_vm.isDisabelEditBtn ? 'disabled' : '',on:{\"click\":_vm.onAddAnswerCommom}},[_vm._v(\" Trả lời \")]):_vm._e(),(_vm.actions.includes('detailBtn'))?_c('button',{staticClass:\"compact ui button btn-primary\",class:_vm.isDisabelEditBtn ? 'disabled' : '',on:{\"click\":_vm.onAddCommom}},[_vm._v(\" Chi tiết \")]):_vm._e(),(_vm.actions.includes('deleteBtn') && _vm.isShowDelete && _vm.actionsPermission[0])?_c('button',{staticClass:\"compact ui button btn-primary text-height\",class:_vm.selectedNumber === 0 ? 'disabled' : '',on:{\"click\":_vm.onDelete}},[_c('trash-2-icon',{staticClass:\"custom-class line-top\",attrs:{\"size\":\"12\",\"stroke-width\":3}}),_vm._v(\" Xóa \")],1):_vm._e(),(_vm.actions.includes('pqmpBtn'))?_c('button',{staticClass:\"compact ui button btn-primary\"},[_vm._v(\" Phân quyền mẫu phiếu \")]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActionBtn.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActionBtn.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ActionBtn.vue?vue&type=template&id=3871d83e&scoped=true&\"\nimport script from \"./ActionBtn.vue?vue&type=script&lang=js&\"\nexport * from \"./ActionBtn.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ActionBtn.vue?vue&type=style&index=0&id=3871d83e&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3871d83e\",\n null\n \n)\n\nexport default component.exports","module.exports = __webpack_public_path__ + \"img/google.badb7f26.svg\";","/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n","import { makeModelMixin } from '../utils/model';\n\nvar _makeModelMixin = makeModelMixin('value'),\n mixin = _makeModelMixin.mixin,\n props = _makeModelMixin.props,\n prop = _makeModelMixin.prop,\n event = _makeModelMixin.event;\n\nexport { mixin as modelMixin, props, prop as MODEL_PROP_NAME, event as MODEL_EVENT_NAME };","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { extend } from '../../../vue';\nimport { PROP_TYPE_STRING } from '../../../constants/props';\nimport { get } from '../../../utils/get';\nimport { isNull, isPlainObject, isUndefined } from '../../../utils/inspect';\nimport { sortKeys } from '../../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../../utils/props';\nimport { formOptionsMixin, props as formOptionsProps } from '../../../mixins/form-options'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, formOptionsProps), {}, {\n labelField: makeProp(PROP_TYPE_STRING, 'label'),\n optionsField: makeProp(PROP_TYPE_STRING, 'options')\n})), 'formOptions'); // --- Mixin ---\n// @vue/component\n\nexport var optionsMixin = extend({\n mixins: [formOptionsMixin],\n props: props,\n methods: {\n normalizeOption: function normalizeOption(option) {\n var key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n // When the option is an object, normalize it\n if (isPlainObject(option)) {\n var value = get(option, this.valueField);\n var text = get(option, this.textField);\n var options = get(option, this.optionsField, null); // When it has options, create an `