define(["mobx-state-tree","jquery","gemini/lib/@waca/dashboard-common/dist/core/APIFactory","underscore","gemini/lib/@waca/dashboard-common/dist/ui/AuthoringToolbar","gemini/lib/@waca/dashboard-common/dist/utils/ActionTypes","gemini/lib/@waca/dashboard-common/dist/utils/MemUtil"],function(t,e,n,o,i,a,r){return function(t){function e(o){if(n[o])return n[o].exports;var i=n[o]={i:o,l:!1,exports:{}};return t[o].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var n={};return e.m=t,e.c=n,e.d=function(t,n,o){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:o})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=26)}([,function(e,n){e.exports=t},,function(t,n){t.exports=e},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.getNumberOfFilterItems=function(t){return!t||"in"!==t.operator&&"notin"!==t.operator&&"isnull"!==t.operator?null:t.values.length},e.handleScroll=function(t,e,n){var o=e.getBoundingClientRect(),i={top:o.top,bottom:o.bottom};if("touchmove"===t.type){var a=t.touches[0];a&&(t.clientX=a.clientX,t.clientY=a.clientY)}if(t.clientX&&t.clientY){var r={x:t.clientX,y:t.clientY},s=i.bottom-r.y,l=r.y-i.top,u=s>0&&s<20,c=l>0&&l<20,d=0;c&&u&&(c=l>s,u=!c),u?d=20-s:c&&(d=l-20);var f=e.scrollTop+d;if(f<=0)f=0;else{var h=e.scrollHeight-e.clientHeight;f>h&&(f=h)}e.scrollTop!==f&&(e.scrollTop=f,n&&n())}},e.getDataSourceIdTypeIn=function(t){var e=t.getActiveDataSourceId();if(!e){var n=t.getFeature("DataSources");n.getDataSourceList().length>0&&(e=n.getDataSourceList()[0].getId())}return e}},function(t,e){t.exports=n},,,function(t,e){t.exports=o},,,,,,,,,,,,,,,,,,function(t,e,n){"use strict";function o(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var a=function(){function t(t,e){for(var n=0;n1}),a=[];if(i.length>0){a.push({slotAPIs:e||[],layerId:"data",layerCaption:null,isHideLayer:n(t,"data")})}else{var r=l.default.groupBy(e,function(t){return t.getDefinition().getDatasetIdList()[0]});t.getDefinition().getDatasetList().forEach(function(e,o){var i=r[e.id];a.push({slotAPIs:i||[],layerId:e.id,layerCaption:e.caption||e.id,isHideLayer:n(t,e.id),open:0===o})})}return a},a=null,r=null,s=null;return{afterCreate:function(){a=l.default.debounce(function(e){(0,i.isAlive)(t)&&t._updateModel(e)}),r=a.bind(this,!0),s=a.bind(this,!1),t.content=(0,i.getEnv)(t).content,t.dashboardApi=(0,i.getEnv)(t).dashboardApi,t.slotsModel&&t.slotsModel.setDashboardApi(t.dashboardApi),r()},beforeDestroy:function(){e.forEach(function(t){return t.remove()})},setOverlayState:function(e){t.overlayState=e?t._getSizeState():u.HIDE},_getSizeState:function(){var e=u.DISPLAY,n=t.content.getFeature("ContentViewDOM"),o=t.content.getFeature("Visualization"),i=o.getType();if(n){var a=n.getNode(),r=t.dashboardApi.getFeature("DashboardState"),s=t.content.getFeature("state");!r.getUiState().authoring||s&&s.getError()||o.hasUnavailableMetadataColumns()?e=u.HIDE:r.getUiState().focus?e=u.DISPLAY:a.offsetWidth<250||a.offsetHeight<250?e=u.HIDE:c.includes(i)?e=a.offsetWidth<300?u.SMALL:u.DISPLAY:d.includes(i)&&(e=a.offsetWidth<400?u.SMALL:u.DISPLAY)}return e},_updateModel:function(e){t._setOverlayState(),t._setSlots(e)},_setOverlayState:function(){var e=t.content.getFeature("Visualization");if(e)try{var n=e.getSlots().isMappingComplete();t.overlayState=n?u.HIDE:t._getSizeState()}catch(e){t.overlayState=u.HIDE}else t.overlayState=u.HIDE},_setSlots:function(e){var n=[];if(t.overlayState===u.DISPLAY){var a=t.content.getFeature("Visualization");a&&(n=o(a)||[])}t.slotsModel&&(0,i.isAlive)(t.slotsModel)&&(e&&(t.slotsModel.clear(),t.slotsModel.setContent(t.content),t.slotsModel.setVisualization(),t.slotsModel.setUpEvents(s)),t.slotsModel.setSlotInfo(n),t.modelVer++)}}})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=n(1),i=n(30),a=function(t){return t&&t.__esModule?t:{default:t}}(i),r=n(34);e.default=o.types.model("SlotsModel",{slotInfo:o.types.optional(o.types.array(o.types.frozen()),[])}).volatile(function(t){return{visSlotDataItemHandlersMap:{},content:null,visualization:null,dashboardAPI:null,getSlotDataItemHandler:function(e,n){if(!t.content)return null;t.visualization||t.setVisualization();var o=[e.getDefinition().getDatasetIdList()[0],e.getDefinition().getId(),n].join(":"),i=t.visSlotDataItemHandlersMap[o];if(!i||r.isDestroyed(i.slot)){var s=void 0;if("Crosstab"===t.visualization.getType()){var l=t.content.getFeature("VisDnD.utils");l&&(s=l.acceptsOlapV2)}var u=t.content.getFeature("SlotActions"),c=u.getSlotActionList.bind(u);i=new a.default(e,n,c,t.visualization,t.dashboardApi,t.content,s),t.setVisSlotDataItemHandler(o,i)}return i}}}).views(function(t){return{getSlotInfo:function(){return t.slotInfo}}}).actions(function(t){var e=null;return{beforeDestroy:function(){t.clearEvents()},setContent:function(e){t.content=e},setUpEvents:function(n){t.content&&(e=n,t.content.on("change",e),t.visDefinitions=t.dashboardApi.getFeature("VisDefinitions"),t.visDefinitions.on("refresh:definition",e))},setVisualization:function(){t.content?t.visualization=t.content.getFeature("Visualization"):t.visualization=null},setDashboardApi:function(e){t.dashboardApi=e},setVisSlotDataItemHandler:function(e,n){t.visSlotDataItemHandlersMap[e]=n},setSlotInfo:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];t.slotInfo=e},clear:function(){t.clearEvents(),t.content=null,t.visualization=null,t.slotInfo=[],t.visSlotDataItemHandlersMap={}},clearEvents:function(){t.content&&(t.content.off("change",e),t.visDefinitions.off("refresh:definition",e),e=null)}}})},function(t,e,n){"use strict";function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0}),e.default=e.MULTI_MEASURES_SERIES=void 0;var i=Object.assign||function(t){for(var e=1;e1&&void 0!==arguments[1]?arguments[1]:{},n={type:"slot.item",info:{contentId:this.getContentId(),slot:this.getSlotAPI(),indexInSlot:this.indexInSlot,addAfter:t}};return Object.keys(e).forEach(function(t){n.info[t]=e[t]}),n}},{key:"_acceptsCommon",value:function(t,e){return!!("values"===this.slotId&&this._isMultiMeasuresSeriesSlot()||this.slot.getDefinition().isMultiMeasureSupported())||!this._exceedsItemsLimit(t,e)}},{key:"_exceedsItemsLimit",value:function(t,e){var n=this.slot.getDefinition().getMaxItems();return!("number"!=typeof n||n<0)&&t+this.slot.getDataItemList().length-(e?0:1)>n}},{key:"swapSlotItems",value:function(t,e){return this.onDrop({data:{source:{slot:t.getSlotAPI(),indexInSlot:t.indexInSlot}}},this.getDropTargetInfo(e))}},{key:"onDropA11Y",value:function(t){var e=this.getDropTargetInfo(t);this.visDnD.onDrop({type:"A11YMetadataColumns"},e)}},{key:"onDrop",value:function(t,e){if(t.data.source){if(t.data.source.slot===this.getSlotAPI()&&t.data.source.indexInSlot==this.indexInSlot)return;var n=t.data.source.slot,o=t.data.source.indexInSlot,i=e.info.addAfter,a=this.transactionApi.startTransaction(),r=n.getDataItemList()[o],s=this.slot.getDataItemList()[this.indexInSlot],l=s&&s.getId();n.getId()===this.slotId?this._swapItemsInTheSameSlot(r.getId(),l,i,a):i||!s?this._moveItemToSlot(n,r,i,a):this._swapItemsBetweenSlots(n,r.getId(),l,a),this.transactionApi.endTransaction(a)}}},{key:"_swapItemsInTheSameSlot",value:function(t,e,n,o){var i=this.slot.getDataItemList().map(function(t){return t.getId()}),a=i.indexOf(t),r=i.indexOf(e);n||-1===r?(i.splice(r+1,0,t),a=a>r?a+1:a,i.splice(a,1)):(i[a]=e,i[r]=t),this.visualization.getSlots().setDataItems(i,this.slotId,o)}},{key:"_moveItemToSlot",value:function(t,e,n,o){var i=e.getId(),a=this.slot.getDataItemList().map(function(t){return t.getId()}),r=this._getTargetIndex(n);a.splice(r,0,i),this.visualization.getSlots().setDataItems(a,this.slotId,o)}},{key:"_swapItemsBetweenSlots",value:function(t,e,n,o){var i=this.slotId,a=this.slot.getDataItemList().map(function(t){return t.getId()});a[a.indexOf(n)]=e;var r=t.getDefinition().getId(),s=t.getDataItemList().map(function(t){return t.getId()});s[s.indexOf(e)]=n,this.visualization.getSlots().setDataItems(a,i,o),this.visualization.getSlots().setDataItems(s,r,o)}},{key:"getActions",value:function(){var t=this.slot.getDataItemList(),e=this._getSingleSlot(t,this.indexInSlot),n=this.visualization.getSlots().getSlot(this.slotId).getDefinition().getProperty("actions"),o=e?n:null,a={};return o&&o.length>0&&(a.actionsToKeep=o),Promise.resolve(this._getActions(this.slotId,this.indexInSlot,a).map(function(t){return i({text:t.label},t)}))}},{key:"openSlotActionMenu",value:function(t,e){var n=this;return this.getActions().then(function(o){var a=o.map(function(t){return i({order:t.order||u[t.name]},t)}).sort(function(t,e){return t.order-e.order});return n._toolbarHelper.buildActionToolbar(a,t,null,e),a})}},{key:"isSlotActionMenuOpened",value:function(){return!!this._toolbarHelper.getToolbar()}},{key:"_getSingleSlot",value:function(t,e){var n=e&&e instanceof Array&&e.length>1;return 1!==t.length||n?null:t[0]}},{key:"setIndexInSlot",value:function(t){this.indexInSlot=t}},{key:"getPickTreeContext",value:function(t){var e={type:this.slot.getDefinition().getType()};return t&&this.indexInSlot>-1&&(e.metadataColumn=this.slot.getDataItemList()[this.indexInSlot].getMetadataColumn()),e}}]),t}();e.default=d},function(t,e,n){"use strict";function o(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var a=function(){function t(t,e){for(var n=0;n