TimeTrex/interface/html5/dist/policy-round_interval_policy-RoundIntervalPolicyViewController.bundle.js

1 line
28 KiB
JavaScript

"use strict";(self.webpackChunktimetrex=self.webpackChunktimetrex||[]).push([["policy-round_interval_policy-RoundIntervalPolicyViewController"],{6392:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"RoundIntervalPolicyViewController\": () => (/* binding */ RoundIntervalPolicyViewController)\n/* harmony export */ });\n/* provided dependency */ var _ = __webpack_require__(9050);\n/* provided dependency */ var $ = __webpack_require__(9755);\nclass RoundIntervalPolicyViewController extends BaseViewController {\n\tconstructor( options = {} ) {\n\t\t_.defaults( options, {\n\t\t\tel: '#round_interval_policy_view_container',\n\n\t\t\tpunch_type_array: null,\n\t\t\tround_type_array: null,\n\t\t\tcondition_type_array: null,\n\t\t\tdate_api: null\n\t\t} );\n\n\t\tsuper( options );\n\t}\n\n\tinit( options ) {\n\t\t//this._super('initialize', options );\n\t\tthis.edit_view_tpl = 'RoundIntervalPolicyEditView.html';\n\t\tthis.permission_id = 'round_policy';\n\t\tthis.viewId = 'RoundIntervalPolicy';\n\t\tthis.script_name = 'RoundIntervalPolicyView';\n\t\tthis.table_name_key = 'round_interval_policy';\n\t\tthis.context_menu_name = $.i18n._( 'Rounding Policy' );\n\t\tthis.navigation_label = $.i18n._( 'Rounding Policy' );\n\t\tthis.api = TTAPI.APIRoundIntervalPolicy;\n\t\tthis.date_api = TTAPI.APITTDate;\n\t\tthis.render();\n\t\tthis.buildContextMenu();\n\n\t\tthis.initData();\n\t}\n\n\tinitOptions() {\n\t\tvar options = [\n\t\t\t{ option_name: 'punch_type', api: this.api },\n\t\t\t{ option_name: 'round_type', api: this.api },\n\t\t\t{ option_name: 'condition_type', api: this.api },\n\t\t];\n\n\t\tthis.initDropDownOptions( options );\n\t}\n\n\tbuildEditViewUI() {\n\n\t\tsuper.buildEditViewUI();\n\n\t\tvar $this = this;\n\n\t\tvar tab_model = {\n\t\t\t'tab_rounding_policy': {\n\t\t\t\t'label': $.i18n._( 'Rounding Policy' )\n\t\t\t},\n\t\t\t'tab_audit': true,\n\t\t};\n\t\tthis.setTabModel( tab_model );\n\n\t\tthis.navigation.AComboBox( {\n\t\t\tapi_class: TTAPI.APIRoundIntervalPolicy,\n\t\t\tid: this.script_name + '_navigation',\n\t\t\tallow_multiple_selection: false,\n\t\t\tlayout_name: 'global_round_interval',\n\t\t\tnavigation_mode: true,\n\t\t\tshow_search_inputs: true\n\t\t} );\n\n\t\tthis.setNavigation();\n\n\t\t//Tab 0 start\n\n\t\tvar tab_rounding_policy = this.edit_view_tab.find( '#tab_rounding_policy' );\n\n\t\tvar tab_rounding_policy_column1 = tab_rounding_policy.find( '.first-column' );\n\n\t\tthis.edit_view_tabs[0] = [];\n\n\t\tthis.edit_view_tabs[0].push( tab_rounding_policy_column1 );\n\n\t\t//Name\n\t\tvar form_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\n\t\tform_item_input.TTextInput( { field: 'name', width: '100%' } );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Name' ), form_item_input, tab_rounding_policy_column1, '' );\n\t\tform_item_input.parent().width( '45%' );\n\n\t\t// Description\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.TEXT_AREA );\n\t\tform_item_input.TTextArea( { field: 'description', width: '100%' } );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Description' ), form_item_input, tab_rounding_policy_column1, '', null, null, true );\n\n\t\tform_item_input.parent().width( '45%' );\n\n\t\t//Punch Type\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.COMBO_BOX );\n\n\t\tform_item_input.TComboBox( { field: 'punch_type_id', set_empty: false } );\n\t\tform_item_input.setSourceData( $this.punch_type_array );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Punch Type' ), form_item_input, tab_rounding_policy_column1 );\n\n\t\t//Round Type\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.COMBO_BOX );\n\n\t\tform_item_input.TComboBox( { field: 'round_type_id', set_empty: false } );\n\t\tform_item_input.setSourceData( $this.round_type_array );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Round Type' ), form_item_input, tab_rounding_policy_column1 );\n\n\t\t// Interval\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\t\tform_item_input.TTextInput( { field: 'round_interval', mode: 'time_unit', need_parser_sec: true } );\n\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Interval' ), form_item_input, tab_rounding_policy_column1, '', null );\n\n\t\t//Grace Period\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\t\tform_item_input.TTextInput( { field: 'grace', mode: 'time_unit', need_parser_sec: true } );\n\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Grace Period' ), form_item_input, tab_rounding_policy_column1, '', null );\n\n\t\t// Strict Schedule\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.CHECKBOX );\n\t\tform_item_input.TCheckbox( { field: 'strict' } );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Strict Schedule' ), form_item_input, tab_rounding_policy_column1, '' );\n\n\t\t//SEPARATED\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.SEPARATED_BOX );\n\t\tform_item_input.SeparatedBox( { label: $.i18n._( 'Only Round Punches Within The Following Window' ) } );\n\t\tthis.addEditFieldToColumn( '', form_item_input, tab_rounding_policy_column1, '', null, true, false, 'sp_box' );\n\n\t\t//Window Based On\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.COMBO_BOX );\n\n\t\tform_item_input.TComboBox( { field: 'condition_type_id', set_empty: false } );\n\t\tform_item_input.setSourceData( $this.condition_type_array );\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Window Based On' ), form_item_input, tab_rounding_policy_column1, '', null, true );\n\n\t\t// Static Time\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.TIME_PICKER );\n\t\tform_item_input.TTimePicker( { field: 'condition_static_time' } );\n\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Static Time' ), form_item_input, tab_rounding_policy_column1, '', null, true );\n\n\t\t// Static Total Time\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\t\tform_item_input.TTextInput( {\n\t\t\tfield: 'condition_static_total_time',\n\t\t\tmode: 'time_unit',\n\t\t\tneed_parser_sec: true\n\t\t} );\n\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Static Total Time' ), form_item_input, tab_rounding_policy_column1, '', null, true );\n\n\t\t// Start Window\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\t\tform_item_input.TTextInput( { field: 'condition_start_window', mode: 'time_unit', need_parser_sec: true } );\n\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Start Window' ), form_item_input, tab_rounding_policy_column1, '', null, true );\n\n\t\t// Stop Window\n\t\tform_item_input = Global.loadWidgetByName( FormItemType.TEXT_INPUT );\n\t\tform_item_input.TTextInput( { field: 'condition_stop_window', mode: 'time_unit', need_parser_sec: true } );\n\n\t\tthis.addEditFieldToColumn( $.i18n._( 'Stop Window' ), form_item_input, tab_rounding_policy_column1, '', null, true );\n\t}\n\n\tbuildSearchFields() {\n\n\t\tsuper.buildSearchFields();\n\t\tthis.search_fields = [\n\n\t\t\tnew SearchField( {\n\t\t\t\tlabel: $.i18n._( 'Name' ),\n\t\t\t\tin_column: 1,\n\t\t\t\tfield: 'name',\n\t\t\t\tmultiple: true,\n\t\t\t\tbasic_search: true,\n\t\t\t\tadv_search: false,\n\t\t\t\tform_item_type: FormItemType.TEXT_INPUT\n\t\t\t} ),\n\n\t\t\tnew SearchField( {\n\t\t\t\tlabel: $.i18n._( 'Punch Type' ),\n\t\t\t\tin_column: 1,\n\t\t\t\tfield: 'punch_type_id',\n\t\t\t\tmultiple: true,\n\t\t\t\tbasic_search: true,\n\t\t\t\tadv_search: false,\n\t\t\t\tlayout_name: 'global_option_column',\n\t\t\t\tform_item_type: FormItemType.AWESOME_BOX\n\t\t\t} ),\n\n\t\t\tnew SearchField( {\n\t\t\t\tlabel: $.i18n._( 'Round Type' ),\n\t\t\t\tin_column: 1,\n\t\t\t\tfield: 'round_type_id',\n\t\t\t\tmultiple: true,\n\t\t\t\tbasic_search: true,\n\t\t\t\tadv_search: false,\n\t\t\t\tlayout_name: 'global_option_column',\n\t\t\t\tform_item_type: FormItemType.AWESOME_BOX\n\t\t\t} ),\n\n\t\t\tnew SearchField( {\n\t\t\t\tlabel: $.i18n._( 'Created By' ),\n\t\t\t\tin_column: 2,\n\t\t\t\tfield: 'created_by',\n\t\t\t\tlayout_name: 'global_user',\n\t\t\t\tapi_class: TTAPI.APIUser,\n\t\t\t\tmultiple: true,\n\t\t\t\tbasic_search: true,\n\t\t\t\tadv_search: false,\n\t\t\t\tform_item_type: FormItemType.AWESOME_BOX\n\t\t\t} ),\n\n\t\t\tnew SearchField( {\n\t\t\t\tlabel: $.i18n._( 'Updated By' ),\n\t\t\t\tin_column: 2,\n\t\t\t\tfield: 'updated_by',\n\t\t\t\tlayout_name: 'global_user',\n\t\t\t\tapi_class: TTAPI.APIUser,\n\t\t\t\tmultiple: true,\n\t\t\t\tbasic_search: true,\n\t\t\t\tadv_search: false,\n\t\t\t\tform_item_type: FormItemType.AWESOME_BOX\n\t\t\t} )\n\t\t];\n\t}\n\n\tonFormItemChange( target, doNotValidate ) {\n\t\tthis.setIsChanged( target );\n\t\tthis.setMassEditingFieldsWhenFormChange( target );\n\n\t\tvar key = target.getField();\n\t\tvar c_value = target.getValue();\n\n//\t\tswitch ( key ) {\n//\t\t\tcase 'round_interval':\n//\t\t\tcase 'grace':\n//\t\t\tcase 'condition_static_total_time':\n//\t\t\tcase 'condition_start_window':\n//\t\t\tcase 'condition_stop_window':\n//\t\t\t\tc_value = this.date_api.parseTimeUnit( target.getValue(), {async: false} ).getResult();\n//\t\t\t\tbreak;\n//\t\t}\n\n\t\tthis.current_edit_record[key] = c_value;\n\n\t\tif ( key === 'condition_type_id' ) {\n\t\t\tthis.onConditionTypeChange();\n\t\t}\n\n\t\tif ( !doNotValidate ) {\n\t\t\tthis.validate();\n\t\t}\n\t}\n\n\tonConditionTypeChange() {\n\n\t\tvar condition_type_id = parseInt( this.current_edit_record.condition_type_id );\n\n\t\tvar sp_box = this.edit_view_form_item_dic.sp_box;\n\t\tvar condition_type = this.edit_view_form_item_dic.condition_type_id;\n\n\t\tvar static_time = this.edit_view_form_item_dic.condition_static_time;\n\t\tvar condition_static_total_time = this.edit_view_form_item_dic.condition_static_total_time;\n\t\tvar condition_start_window = this.edit_view_form_item_dic.condition_start_window;\n\t\tvar condition_stop_window = this.edit_view_form_item_dic.condition_stop_window;\n\n\t\tif ( Global.getProductEdition() <= 10 ) {\n\t\t\tthis.detachElement( 'condition_type_id' );\n\t\t\tthis.detachElement( 'sp_box' );\n\t\t\tthis.detachElement( 'condition_static_total_time' );\n\t\t\tthis.detachElement( 'condition_start_window' );\n\t\t\tthis.detachElement( 'condition_stop_window' );\n\t\t\tthis.detachElement( 'condition_static_time' );\n\t\t\treturn;\n\t\t}\n\n\t\tthis.detachElement( 'condition_static_total_time' );\n\t\tthis.detachElement( 'condition_start_window' );\n\t\tthis.detachElement( 'condition_stop_window' );\n\t\tthis.detachElement( 'condition_static_time' );\n\n\t\tif ( condition_type_id == 10 || condition_type_id == 20 ) {\n\t\t\tthis.attachElement( 'condition_start_window' );\n\t\t\tthis.attachElement( 'condition_stop_window' );\n\n\t\t} else if ( condition_type_id == 30 ) {\n\t\t\tthis.attachElement( 'condition_static_time' );\n\t\t\tthis.attachElement( 'condition_stop_window' );\n\t\t\tthis.attachElement( 'condition_start_window' );\n\n\t\t} else if ( condition_type_id == 40 ) {\n\n\t\t\tthis.attachElement( 'condition_static_total_time' );\n\t\t\tthis.attachElement( 'condition_stop_window' );\n\t\t\tthis.attachElement( 'condition_start_window' );\n\t\t}\n\n\t\tthis.editFieldResize();\n\t}\n\n\tsetEditViewDataDone() {\n\t\tsuper.setEditViewDataDone();\n\t\tthis.onConditionTypeChange();\n\t}\n\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUk7O0FBRUo7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL2ludGVyZmFjZS9odG1sNS92aWV3cy9wb2xpY3kvcm91bmRfaW50ZXJ2YWxfcG9saWN5L1JvdW5kSW50ZXJ2YWxQb2xpY3lWaWV3Q29udHJvbGxlci5qcz8wMzRmIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBSb3VuZEludGVydmFsUG9saWN5Vmlld0NvbnRyb2xsZXIgZXh0ZW5kcyBCYXNlVmlld0NvbnRyb2xsZXIge1xuXHRjb25zdHJ1Y3Rvciggb3B0aW9ucyA9IHt9ICkge1xuXHRcdF8uZGVmYXVsdHMoIG9wdGlvbnMsIHtcblx0XHRcdGVsOiAnI3JvdW5kX2ludGVydmFsX3BvbGljeV92aWV3X2NvbnRhaW5lcicsXG5cblx0XHRcdHB1bmNoX3R5cGVfYXJyYXk6IG51bGwsXG5cdFx0XHRyb3VuZF90eXBlX2FycmF5OiBudWxsLFxuXHRcdFx0Y29uZGl0aW9uX3R5cGVfYXJyYXk6IG51bGwsXG5cdFx0XHRkYXRlX2FwaTogbnVsbFxuXHRcdH0gKTtcblxuXHRcdHN1cGVyKCBvcHRpb25zICk7XG5cdH1cblxuXHRpbml0KCBvcHRpb25zICkge1xuXHRcdC8vdGhpcy5fc3VwZXIoJ2luaXRpYWxpemUnLCBvcHRpb25zICk7XG5cdFx0dGhpcy5lZGl0X3ZpZXdfdHBsID0gJ1JvdW5kSW50ZXJ2YWxQb2xpY3lFZGl0Vmlldy5odG1sJztcblx0XHR0aGlzLnBlcm1pc3Npb25faWQgPSAncm91bmRfcG9saWN5Jztcblx0XHR0aGlzLnZpZXdJZCA9ICdSb3VuZEludGVydmFsUG9saWN5Jztcblx0XHR0aGlzLnNjcmlwdF9uYW1lID0gJ1JvdW5kSW50ZXJ2YWxQb2xpY3lWaWV3Jztcblx0XHR0aGlzLnRhYmxlX25hbWVfa2V5ID0gJ3JvdW5kX2ludGVydmFsX3BvbGljeSc7XG5cdFx0dGhpcy5jb250ZXh0X21lbnVfbmFtZSA9ICQuaTE4bi5fKCAnUm91bmRpbmcgUG9saWN5JyApO1xuXHRcdHRoaXMubmF2aWdhdGlvbl9sYWJlbCA9ICQuaTE4bi5fKCAnUm91bmRpbmcgUG9saWN5JyApO1xuXHRcdHRoaXMuYXBpID0gVFRBUEkuQVBJUm91bmRJbnRlcnZhbFBvbGljeTtcblx0XHR0aGlzLmRhdGVfYXBpID0gVFRBUEkuQVBJVFREYXRlO1xuXHRcdHRoaXMucmVuZGVyKCk7XG5cdFx0dGhpcy5idWlsZENvbnRleHRNZW51KCk7XG5cblx0XHR0aGlzLmluaXREYXRhKCk7XG5cdH1cblxuXHRpbml0T3B0aW9ucygpIHtcblx0XHR2YXIgb3B0aW9ucyA9IFtcblx0XHRcdHsgb3B0aW9uX25hbWU6ICdwdW5jaF90eXBlJywgYXBpOiB0aGlzLmFwaSB9LFxuXHRcdFx0eyBvcHRpb25fbmFtZTogJ3JvdW5kX3R5cGUnLCBhcGk6IHRoaXMuYXBpIH0sXG5cdFx0XHR7IG9wdGlvbl9uYW1lOiAnY29uZGl0aW9uX3R5cGUnLCBhcGk6IHRoaXMuYXBpIH0sXG5cdFx0XTtcblxuXHRcdHRoaXMuaW5pdERyb3BEb3duT3B0aW9ucyggb3B0aW9ucyApO1xuXHR9XG5cblx0YnVpbGRFZGl0Vmlld1VJKCkge1xuXG5cdFx0c3VwZXIuYnVpbGRFZGl0Vmlld1VJKCk7XG5cblx0XHR2YXIgJHRoaXMgPSB0aGlzO1xuXG5cdFx0dmFyIHRhYl9tb2RlbCA9IHtcblx0XHRcdCd0YWJfcm91bmRpbmdfcG9saWN5Jzoge1xuXHRcdFx0XHQnbGFiZWwnOiAkLmkxOG4uXyggJ1JvdW5kaW5nIFBvbGljeScgKVxuXHRcdFx0fSxcblx0XHRcdCd0YWJfYXVkaXQnOiB0cnVlLFxuXHRcdH07XG5cdFx0dGhpcy5zZXRUYWJNb2RlbCggdGFiX21vZGVsICk7XG5cblx0XHR0aGlzLm5hdmlnYXRpb24uQUNvbWJvQm94KCB7XG5cdFx0XHRhcGlfY2xhc3M6IFRUQVBJLkFQSVJvdW5kSW50ZXJ2YWxQb2xpY3ksXG5cdFx0XHRpZDogdGhpcy5zY3JpcHRfbmFtZSArICdfbmF2aWdhdGlvbicsXG5cdFx0XHRhbGxvd19tdWx0aXBsZV9zZWxlY3Rpb246IGZhbHNlLFxuXHRcdFx0bGF5b3V0X25hbWU6ICdnbG9iYWxfcm91bmRfaW50ZXJ2YWwnLFxuXHRcdFx0bmF2aWdhdGlvbl9tb2RlOiB0cnVlLFxuXHRcdFx0c2hvd19zZWFyY2hfaW5wdXRzOiB0cnVlXG5cdFx0fSApO1xuXG5cdFx0dGhpcy5zZXROYXZpZ2F0aW9uKCk7XG5cblx0XHQvL1RhYiAwIHN0YXJ0XG5cblx0XHR2YXIgdGFiX3JvdW5kaW5nX3BvbGljeSA9IHRoaXMuZWRpdF92aWV3X3RhYi5maW5kKCAnI3RhYl9yb3VuZGluZ19wb2xpY3knICk7XG5cblx0XHR2YXIgdGFiX3JvdW5kaW5nX3BvbGljeV9jb2x1bW4xID0gdGFiX3JvdW5kaW5nX3BvbGljeS5maW5kKCAnLmZpcnN0LWNvbHVtbicgKTtcblxuXHRcdHRoaXMuZWRpdF92aWV3X3RhYnNbMF0gPSBbXTtcblxuXHRcdHRoaXMuZWRpdF92aWV3X3RhYnNbMF0ucHVzaCggdGFiX3JvdW5kaW5nX3BvbGljeV9jb2x1bW4xICk7XG5cblx0XHQvL05hbWVcblx0XHR2YXIgZm9ybV9pdGVtX2lucHV0ID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5URVhUX0lOUFVUICk7XG5cblx0XHRmb3JtX2l0ZW1faW5wdXQuVFRleHRJbnB1dCggeyBmaWVsZDogJ25hbWUnLCB3aWR0aDogJzEwMCUnIH0gKTtcblx0XHR0aGlzLmFkZEVkaXRGaWVsZFRvQ29sdW1uKCAkLmkxOG4uXyggJ05hbWUnICksIGZvcm1faXRlbV9pbnB1dCwgdGFiX3JvdW5kaW5nX3BvbGljeV9jb2x1bW4xLCAnJyApO1xuXHRcdGZvcm1faXRlbV9pbnB1dC5wYXJlbnQoKS53aWR0aCggJzQ1JScgKTtcblxuXHRcdC8vIERlc2NyaXB0aW9uXG5cdFx0Zm9ybV9pdGVtX2lucHV0ID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5URVhUX0FSRUEgKTtcblx0XHRmb3JtX2l0ZW1faW5wdXQuVFRleHRBcmVhKCB7IGZpZWxkOiAnZGVzY3JpcHRpb24nLCB3aWR0aDogJzEwMCUnIH0gKTtcblx0XHR0aGlzLmFkZEVkaXRGaWVsZFRvQ29sdW1uKCAkLmkxOG4uXyggJ0Rlc2NyaXB0aW9uJyApLCBmb3JtX2l0ZW1faW5wdXQsIHRhYl9yb3VuZGluZ19wb2xpY3lfY29sdW1uMSwgJycsIG51bGwsIG51bGwsIHRydWUgKTtcblxuXHRcdGZvcm1faXRlbV9pbnB1dC5wYXJlbnQoKS53aWR0aCggJzQ1JScgKTtcblxuXHRcdC8vUHVuY2ggVHlwZVxuXHRcdGZvcm1faXRlbV9pbnB1dCA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuQ09NQk9fQk9YICk7XG5cblx0XHRmb3JtX2l0ZW1faW5wdXQuVENvbWJvQm94KCB7IGZpZWxkOiAncHVuY2hfdHlwZV9pZCcsIHNldF9lbXB0eTogZmFsc2UgfSApO1xuXHRcdGZvcm1faXRlbV9pbnB1dC5zZXRTb3VyY2VEYXRhKCAkdGhpcy5wdW5jaF90eXBlX2FycmF5ICk7XG5cdFx0dGhpcy5hZGRFZGl0RmllbGRUb0NvbHVtbiggJC5pMThuLl8oICdQdW5jaCBUeXBlJyApLCBmb3JtX2l0ZW1faW5wdXQsIHRhYl9yb3VuZGluZ19wb2xpY3lfY29sdW1uMSApO1xuXG5cdFx0Ly9Sb3VuZCBUeXBlXG5cdFx0Zm9ybV9pdGVtX2lucHV0ID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5DT01CT19CT1ggKTtcblxuXHRcdGZvcm1faXRlbV9pbnB1dC5UQ29tYm9Cb3goIHsgZmllbGQ6ICdyb3VuZF90eXBlX2lkJywgc2V0X2VtcHR5OiBmYWxzZSB9ICk7XG5cdFx0Zm9ybV9pdGVtX2lucHV0LnNldFNvdXJjZURhdGEoICR0aGlzLnJvdW5kX3R5cGVfYXJyYXkgKTtcblx0XHR0aGlzLmFkZEVkaXRGaWVsZFRvQ29sdW1uKCAkLmkxOG4uXyggJ1JvdW5kIFR5cGUnICksIGZvcm1faXRlbV9pbnB1dCwgdGFiX3JvdW5kaW5nX3BvbGljeV9jb2x1bW4xICk7XG5cblx0XHQvLyBJbnRlcnZhbFxuXHRcdGZvcm1faXRlbV9pbnB1dCA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuVEVYVF9JTlBVVCApO1xuXHRcdGZvcm1faXRlbV9pbnB1dC5UVGV4dElucHV0KCB7IGZpZWxkOiAncm91bmRfaW50ZXJ2YWwnLCBtb2RlOiAndGltZV91bml0JywgbmVlZF9wYXJzZXJfc2VjOiB0cnVlIH0gKTtcblxuXHRcdHRoaXMuYWRkRWRpdEZpZWxkVG9Db2x1bW4oICQuaTE4bi5fKCAnSW50ZXJ2YWwnICksIGZvcm1faXRlbV9pbnB1dCwgdGFiX3JvdW5kaW5nX3BvbGljeV9jb2x1bW4xLCAnJywgbnVsbCApO1xuXG5cdFx0Ly9HcmFjZSBQZXJpb2Rcblx0XHRmb3JtX2l0ZW1faW5wdXQgPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLlRFWFRfSU5QVVQgKTtcblx0XHRmb3JtX2l0ZW1faW5wdXQuVFRleHRJbnB1dCggeyBmaWVsZDogJ2dyYWNlJywgbW9kZTogJ3RpbWVfdW5pdCcsIG5lZWRfcGFyc2VyX3NlYzogdHJ1ZSB9ICk7XG5cblx0XHR0aGlzLmFkZEVkaXRGaWVsZFRvQ29sdW1uKCAkLmkxOG4uXyggJ0dyYWNlIFBlcmlvZCcgKSwgZm9ybV9pdGVtX2lucHV0LCB0YWJfcm91bmRpbmdfcG9saWN5X2NvbHVtbjEsICcnLCBudWxsICk7XG5cblx0XHQvLyBTdHJpY3QgU2NoZWR1bGVcblx0XHRmb3JtX2l0ZW1faW5wdXQgPSBHbG9iYWwubG9hZFdpZGdldEJ5TmFtZSggRm9ybUl0ZW1UeXBlLkNIRUNLQk9YICk7XG5cdFx0Zm9ybV9pdGVtX2lucHV0LlRDaGVja2JveCggeyBmaWVsZDogJ3N0cmljdCcgfSApO1xuXHRcdHRoaXMuYWRkRWRpdEZpZWxkVG9Db2x1bW4oICQuaTE4bi5fKCAnU3RyaWN0IFNjaGVkdWxlJyApLCBmb3JtX2l0ZW1faW5wdXQsIHRhYl9yb3VuZGluZ19wb2xpY3lfY29sdW1uMSwgJycgKTtcblxuXHRcdC8vU0VQQVJBVEVEXG5cdFx0Zm9ybV9pdGVtX2lucHV0ID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5TRVBBUkFURURfQk9YICk7XG5cdFx0Zm9ybV9pdGVtX2lucHV0LlNlcGFyYXRlZEJveCggeyBsYWJlbDogJC5pMThuLl8oICdPbmx5IFJvdW5kIFB1bmNoZXMgV2l0aGluIFRoZSBGb2xsb3dpbmcgV2luZG93JyApIH0gKTtcblx0XHR0aGlzLmFkZEVkaXRGaWVsZFRvQ29sdW1uKCAnJywgZm9ybV9pdGVtX2lucHV0LCB0YWJfcm91bmRpbmdfcG9saWN5X2NvbHVtbjEsICcnLCBudWxsLCB0cnVlLCBmYWxzZSwgJ3NwX2JveCcgKTtcblxuXHRcdC8vV2luZG93IEJhc2VkIE9uXG5cdFx0Zm9ybV9pdGVtX2lucHV0ID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5DT01CT19CT1ggKTtcblxuXHRcdGZvcm1faXRlbV9pbnB1dC5UQ29tYm9Cb3goIHsgZmllbGQ6ICdjb25kaXRpb25fdHlwZV9pZCcsIHNldF9lbXB0eTogZmFsc2UgfSApO1xuXHRcdGZvcm1faXRlbV9pbnB1dC5zZXRTb3VyY2VEYXRhKCAkdGhpcy5jb25kaXRpb25fdHlwZV9hcnJheSApO1xuXHRcdHRoaXMuYWRkRWRpdEZpZWxkVG9Db2x1bW4oICQuaTE4bi5fKCAnV2luZG93IEJhc2VkIE9uJyApLCBmb3JtX2l0ZW1faW5wdXQsIHRhYl9yb3VuZGluZ19wb2xpY3lfY29sdW1uMSwgJycsIG51bGwsIHRydWUgKTtcblxuXHRcdC8vIFN0YXRpYyBUaW1lXG5cdFx0Zm9ybV9pdGVtX2lucHV0ID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5USU1FX1BJQ0tFUiApO1xuXHRcdGZvcm1faXRlbV9pbnB1dC5UVGltZVBpY2tlciggeyBmaWVsZDogJ2NvbmRpdGlvbl9zdGF0aWNfdGltZScgfSApO1xuXG5cdFx0dGhpcy5hZGRFZGl0RmllbGRUb0NvbHVtbiggJC5pMThuLl8oICdTdGF0aWMgVGltZScgKSwgZm9ybV9pdGVtX2lucHV0LCB0YWJfcm91bmRpbmdfcG9saWN5X2NvbHVtbjEsICcnLCBudWxsLCB0cnVlICk7XG5cblx0XHQvLyBTdGF0aWMgVG90YWwgVGltZVxuXHRcdGZvcm1faXRlbV9pbnB1dCA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuVEVYVF9JTlBVVCApO1xuXHRcdGZvcm1faXRlbV9pbnB1dC5UVGV4dElucHV0KCB7XG5cdFx0XHRmaWVsZDogJ2NvbmRpdGlvbl9zdGF0aWNfdG90YWxfdGltZScsXG5cdFx0XHRtb2RlOiAndGltZV91bml0Jyxcblx0XHRcdG5lZWRfcGFyc2VyX3NlYzogdHJ1ZVxuXHRcdH0gKTtcblxuXHRcdHRoaXMuYWRkRWRpdEZpZWxkVG9Db2x1bW4oICQuaTE4bi5fKCAnU3RhdGljIFRvdGFsIFRpbWUnICksIGZvcm1faXRlbV9pbnB1dCwgdGFiX3JvdW5kaW5nX3BvbGljeV9jb2x1bW4xLCAnJywgbnVsbCwgdHJ1ZSApO1xuXG5cdFx0Ly8gU3RhcnQgV2luZG93XG5cdFx0Zm9ybV9pdGVtX2lucHV0ID0gR2xvYmFsLmxvYWRXaWRnZXRCeU5hbWUoIEZvcm1JdGVtVHlwZS5URVhUX0lOUFVUICk7XG5cdFx0Zm9ybV9pdGVtX2lucHV0LlRUZXh0SW5wdXQoIHsgZmllbGQ6ICdjb25kaXRpb25fc3RhcnRfd2luZG93JywgbW9kZTogJ3RpbWVfdW5pdCcsIG5lZWRfcGFyc2VyX3NlYzogdHJ1ZSB9ICk7XG5cblx0XHR0aGlzLmFkZEVkaXRGaWVsZFRvQ29sdW1uKCAkLmkxOG4uXyggJ1N0YXJ0IFdpbmRvdycgKSwgZm9ybV9pdGVtX2lucHV0LCB0YWJfcm91bmRpbmdfcG9saWN5X2NvbHVtbjEsICcnLCBudWxsLCB0cnVlICk7XG5cblx0XHQvLyBTdG9wIFdpbmRvd1xuXHRcdGZvcm1faXRlbV9pbnB1dCA9IEdsb2JhbC5sb2FkV2lkZ2V0QnlOYW1lKCBGb3JtSXRlbVR5cGUuVEVYVF9JTlBVVCApO1xuXHRcdGZvcm1faXRlbV9pbnB1dC5UVGV4dElucHV0KCB7IGZpZWxkOiAnY29uZGl0aW9uX3N0b3Bfd2luZG93JywgbW9kZTogJ3RpbWVfdW5pdCcsIG5lZWRfcGFyc2VyX3NlYzogdHJ1ZSB9ICk7XG5cblx0XHR0aGlzLmFkZEVkaXRGaWVsZFRvQ29sdW1uKCAkLmkxOG4uXyggJ1N0b3AgV2luZG93JyApLCBmb3JtX2l0ZW1faW5wdXQsIHRhYl9yb3VuZGluZ19wb2xpY3lfY29sdW1uMSwgJycsIG51bGwsIHRydWUgKTtcblx0fVxuXG5cdGJ1aWxkU2VhcmNoRmllbGRzKCkge1xuXG5cdFx0c3VwZXIuYnVpbGRTZWFyY2hGaWVsZHMoKTtcblx0XHR0aGlzLnNlYXJjaF9maWVsZHMgPSBbXG5cblx0XHRcdG5ldyBTZWFyY2hGaWVsZCgge1xuXHRcdFx0XHRsYWJlbDogJC5pMThuLl8oICdOYW1lJyApLFxuXHRcdFx0XHRpbl9jb2x1bW46IDEsXG5cdFx0XHRcdGZpZWxkOiAnbmFtZScsXG5cdFx0XHRcdG11bHRpcGxlOiB0cnVlLFxuXHRcdFx0XHRiYXNpY19zZWFyY2g6IHRydWUsXG5cdFx0XHRcdGFkdl9zZWFyY2g6IGZhbHNlLFxuXHRcdFx0XHRmb3JtX2l0ZW1fdHlwZTogRm9ybUl0ZW1UeXBlLlRFWFRfSU5QVVRcblx0XHRcdH0gKSxcblxuXHRcdFx0bmV3IFNlYXJjaEZpZWxkKCB7XG5cdFx0XHRcdGxhYmVsOiAkLmkxOG4uXyggJ1B1bmNoIFR5cGUnICksXG5cdFx0XHRcdGluX2NvbHVtbjogMSxcblx0XHRcdFx0ZmllbGQ6ICdwdW5jaF90eXBlX2lkJyxcblx0XHRcdFx0bXVsdGlwbGU6IHRydWUsXG5cdFx0XHRcdGJhc2ljX3NlYXJjaDogdHJ1ZSxcblx0XHRcdFx0YWR2X3NlYXJjaDogZmFsc2UsXG5cdFx0XHRcdGxheW91dF9uYW1lOiAnZ2xvYmFsX29wdGlvbl9jb2x1bW4nLFxuXHRcdFx0XHRmb3JtX2l0ZW1fdHlwZTogRm9ybUl0ZW1UeXBlLkFXRVNPTUVfQk9YXG5cdFx0XHR9ICksXG5cblx0XHRcdG5ldyBTZWFyY2hGaWVsZCgge1xuXHRcdFx0XHRsYWJlbDogJC5pMThuLl8oICdSb3VuZCBUeXBlJyApLFxuXHRcdFx0XHRpbl9jb2x1bW46IDEsXG5cdFx0XHRcdGZpZWxkOiAncm91bmRfdHlwZV9pZCcsXG5cdFx0XHRcdG11bHRpcGxlOiB0cnVlLFxuXHRcdFx0XHRiYXNpY19zZWFyY2g6IHRydWUsXG5cdFx0XHRcdGFkdl9zZWFyY2g6IGZhbHNlLFxuXHRcdFx0XHRsYXlvdXRfbmFtZTogJ2dsb2JhbF9vcHRpb25fY29sdW1uJyxcblx0XHRcdFx0Zm9ybV9pdGVtX3R5cGU6IEZvcm1JdGVtVHlwZS5BV0VTT01FX0JPWFxuXHRcdFx0fSApLFxuXG5cdFx0XHRuZXcgU2VhcmNoRmllbGQoIHtcblx0XHRcdFx0bGFiZWw6ICQuaTE4bi5fKCAnQ3JlYXRlZCBCeScgKSxcblx0XHRcdFx0aW5fY29sdW1uOiAyLFxuXHRcdFx0XHRmaWVsZDogJ2NyZWF0ZWRfYnknLFxuXHRcdFx0XHRsYXlvdXRfbmFtZTogJ2dsb2JhbF91c2VyJyxcblx0XHRcdFx0YXBpX2NsYXNzOiBUVEFQSS5BUElVc2VyLFxuXHRcdFx0XHRtdWx0aXBsZTogdHJ1ZSxcblx0XHRcdFx0YmFzaWNfc2VhcmNoOiB0cnVlLFxuXHRcdFx0XHRhZHZfc2VhcmNoOiBmYWxzZSxcblx0XHRcdFx0Zm9ybV9pdGVtX3R5cGU6IEZvcm1JdGVtVHlwZS5BV0VTT01FX0JPWFxuXHRcdFx0fSApLFxuXG5cdFx0XHRuZXcgU2VhcmNoRmllbGQoIHtcblx0XHRcdFx0bGFiZWw6ICQuaTE4bi5fKCAnVXBkYXRlZCBCeScgKSxcblx0XHRcdFx0aW5fY29sdW1uOiAyLFxuXHRcdFx0XHRmaWVsZDogJ3VwZGF0ZWRfYnknLFxuXHRcdFx0XHRsYXlvdXRfbmFtZTogJ2dsb2JhbF91c2VyJyxcblx0XHRcdFx0YXBpX2NsYXNzOiBUVEFQSS5BUElVc2VyLFxuXHRcdFx0XHRtdWx0aXBsZTogdHJ1ZSxcblx0XHRcdFx0YmFzaWNfc2VhcmNoOiB0cnVlLFxuXHRcdFx0XHRhZHZfc2VhcmNoOiBmYWxzZSxcblx0XHRcdFx0Zm9ybV9pdGVtX3R5cGU6IEZvcm1JdGVtVHlwZS5BV0VTT01FX0JPWFxuXHRcdFx0fSApXG5cdFx0XTtcblx0fVxuXG5cdG9uRm9ybUl0ZW1DaGFuZ2UoIHRhcmdldCwgZG9Ob3RWYWxpZGF0ZSApIHtcblx0XHR0aGlzLnNldElzQ2hhbmdlZCggdGFyZ2V0ICk7XG5cdFx0dGhpcy5zZXRNYXNzRWRpdGluZ0ZpZWxkc1doZW5Gb3JtQ2hhbmdlKCB0YXJnZXQgKTtcblxuXHRcdHZhciBrZXkgPSB0YXJnZXQuZ2V0RmllbGQoKTtcblx0XHR2YXIgY192YWx1ZSA9IHRhcmdldC5nZXRWYWx1ZSgpO1xuXG4vL1x0XHRzd2l0Y2ggKCBrZXkgKSB7XG4vL1x0XHRcdGNhc2UgJ3JvdW5kX2ludGVydmFsJzpcbi8vXHRcdFx0Y2FzZSAnZ3JhY2UnOlxuLy9cdFx0XHRjYXNlICdjb25kaXRpb25fc3RhdGljX3RvdGFsX3RpbWUnOlxuLy9cdFx0XHRjYXNlICdjb25kaXRpb25fc3RhcnRfd2luZG93Jzpcbi8vXHRcdFx0Y2FzZSAnY29uZGl0aW9uX3N0b3Bfd2luZG93Jzpcbi8vXHRcdFx0XHRjX3ZhbHVlID0gdGhpcy5kYXRlX2FwaS5wYXJzZVRpbWVVbml0KCB0YXJnZXQuZ2V0VmFsdWUoKSwge2FzeW5jOiBmYWxzZX0gKS5nZXRSZXN1bHQoKTtcbi8vXHRcdFx0XHRicmVhaztcbi8vXHRcdH1cblxuXHRcdHRoaXMuY3VycmVudF9lZGl0X3JlY29yZFtrZXldID0gY192YWx1ZTtcblxuXHRcdGlmICgga2V5ID09PSAnY29uZGl0aW9uX3R5cGVfaWQnICkge1xuXHRcdFx0dGhpcy5vbkNvbmRpdGlvblR5cGVDaGFuZ2UoKTtcblx0XHR9XG5cblx0XHRpZiAoICFkb05vdFZhbGlkYXRlICkge1xuXHRcdFx0dGhpcy52YWxpZGF0ZSgpO1xuXHRcdH1cblx0fVxuXG5cdG9uQ29uZGl0aW9uVHlwZUNoYW5nZSgpIHtcblxuXHRcdHZhciBjb25kaXRpb25fdHlwZV9pZCA9IHBhcnNlSW50KCB0aGlzLmN1cnJlbnRfZWRpdF9yZWNvcmQuY29uZGl0aW9uX3R5cGVfaWQgKTtcblxuXHRcdHZhciBzcF9ib3ggPSB0aGlzLmVkaXRfdmlld19mb3JtX2l0ZW1fZGljLnNwX2JveDtcblx0XHR2YXIgY29uZGl0aW9uX3R5cGUgPSB0aGlzLmVkaXRfdmlld19mb3JtX2l0ZW1fZGljLmNvbmRpdGlvbl90eXBlX2lkO1xuXG5cdFx0dmFyIHN0YXRpY190aW1lID0gdGhpcy5lZGl0X3ZpZXdfZm9ybV9pdGVtX2RpYy5jb25kaXRpb25fc3RhdGljX3RpbWU7XG5cdFx0dmFyIGNvbmRpdGlvbl9zdGF0aWNfdG90YWxfdGltZSA9IHRoaXMuZWRpdF92aWV3X2Zvcm1faXRlbV9kaWMuY29uZGl0aW9uX3N0YXRpY190b3RhbF90aW1lO1xuXHRcdHZhciBjb25kaXRpb25fc3RhcnRfd2luZG93ID0gdGhpcy5lZGl0X3ZpZXdfZm9ybV9pdGVtX2RpYy5jb25kaXRpb25fc3RhcnRfd2luZG93O1xuXHRcdHZhciBjb25kaXRpb25fc3RvcF93aW5kb3cgPSB0aGlzLmVkaXRfdmlld19mb3JtX2l0ZW1fZGljLmNvbmRpdGlvbl9zdG9wX3dpbmRvdztcblxuXHRcdGlmICggR2xvYmFsLmdldFByb2R1Y3RFZGl0aW9uKCkgPD0gMTAgKSB7XG5cdFx0XHR0aGlzLmRldGFjaEVsZW1lbnQoICdjb25kaXRpb25fdHlwZV9pZCcgKTtcblx0XHRcdHRoaXMuZGV0YWNoRWxlbWVudCggJ3NwX2JveCcgKTtcblx0XHRcdHRoaXMuZGV0YWNoRWxlbWVudCggJ2NvbmRpdGlvbl9zdGF0aWNfdG90YWxfdGltZScgKTtcblx0XHRcdHRoaXMuZGV0YWNoRWxlbWVudCggJ2NvbmRpdGlvbl9zdGFydF93aW5kb3cnICk7XG5cdFx0XHR0aGlzLmRldGFjaEVsZW1lbnQoICdjb25kaXRpb25fc3RvcF93aW5kb3cnICk7XG5cdFx0XHR0aGlzLmRldGFjaEVsZW1lbnQoICdjb25kaXRpb25fc3RhdGljX3RpbWUnICk7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0dGhpcy5kZXRhY2hFbGVtZW50KCAnY29uZGl0aW9uX3N0YXRpY190b3RhbF90aW1lJyApO1xuXHRcdHRoaXMuZGV0YWNoRWxlbWVudCggJ2NvbmRpdGlvbl9zdGFydF93aW5kb3cnICk7XG5cdFx0dGhpcy5kZXRhY2hFbGVtZW50KCAnY29uZGl0aW9uX3N0b3Bfd2luZG93JyApO1xuXHRcdHRoaXMuZGV0YWNoRWxlbWVudCggJ2NvbmRpdGlvbl9zdGF0aWNfdGltZScgKTtcblxuXHRcdGlmICggY29uZGl0aW9uX3R5cGVfaWQgPT0gMTAgfHwgY29uZGl0aW9uX3R5cGVfaWQgPT0gMjAgKSB7XG5cdFx0XHR0aGlzLmF0dGFjaEVsZW1lbnQoICdjb25kaXRpb25fc3RhcnRfd2luZG93JyApO1xuXHRcdFx0dGhpcy5hdHRhY2hFbGVtZW50KCAnY29uZGl0aW9uX3N0b3Bfd2luZG93JyApO1xuXG5cdFx0fSBlbHNlIGlmICggY29uZGl0aW9uX3R5cGVfaWQgPT0gMzAgKSB7XG5cdFx0XHR0aGlzLmF0dGFjaEVsZW1lbnQoICdjb25kaXRpb25fc3RhdGljX3RpbWUnICk7XG5cdFx0XHR0aGlzLmF0dGFjaEVsZW1lbnQoICdjb25kaXRpb25fc3RvcF93aW5kb3cnICk7XG5cdFx0XHR0aGlzLmF0dGFjaEVsZW1lbnQoICdjb25kaXRpb25fc3RhcnRfd2luZG93JyApO1xuXG5cdFx0fSBlbHNlIGlmICggY29uZGl0aW9uX3R5cGVfaWQgPT0gNDAgKSB7XG5cblx0XHRcdHRoaXMuYXR0YWNoRWxlbWVudCggJ2NvbmRpdGlvbl9zdGF0aWNfdG90YWxfdGltZScgKTtcblx0XHRcdHRoaXMuYXR0YWNoRWxlbWVudCggJ2NvbmRpdGlvbl9zdG9wX3dpbmRvdycgKTtcblx0XHRcdHRoaXMuYXR0YWNoRWxlbWVudCggJ2NvbmRpdGlvbl9zdGFydF93aW5kb3cnICk7XG5cdFx0fVxuXG5cdFx0dGhpcy5lZGl0RmllbGRSZXNpemUoKTtcblx0fVxuXG5cdHNldEVkaXRWaWV3RGF0YURvbmUoKSB7XG5cdFx0c3VwZXIuc2V0RWRpdFZpZXdEYXRhRG9uZSgpO1xuXHRcdHRoaXMub25Db25kaXRpb25UeXBlQ2hhbmdlKCk7XG5cdH1cblxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///6392\n")}}]);