1import c from"./DnQb9Wrj.js";import d from"./iw8W7rW_.js";import g from"./DzpATECB.js";import{_ as y,c as D,a as p,w as P,b as l,P as m,B as s,p as G,r as a,o as v,u as w}from"./CgBtp7cA.js";import{D as U}from"./Cdwdi87b.js";import{P as $}from"./dvH90Mfv.js";import{G as k}from"./D7OKn0Nu.js";import{P as u}from"./CHPelVNu.js";import{G as A}from"./BxeeZ5ER.js";import{u as C}from"./TfMsqzea.js";import"./C4Dd8X3A.js";import"./DTVjp9G7.js";import"./DAXih1me.js";import"./CZuq-Fty.js";import"./Csotzmqh.js";import"./CCSpVDXs.js";import"./BV--Y4IU.js";import"./DwdiUH-C.js";import"./DAbqT8ha.js";import"./0VvUL2KS.js";import"./Byqh345d.js";import"./BfrmK_9B.js";import"./CrOQp8A5.js";import"./ClSH8dFr.js";import"./D_qxKlPu.js";import"./Byqhz6vc.js";import"./Czet49YI.js";import"./CAbIaaTL.js";import"./CftUep1T.js";import"./BGtH1Lbw.js";import"./COeVBicd.js";import"./C7IroH8M.js";import"./B2Mx9xTV.js";import"./BVSrJ4mU.js";import"./pKW1KbOY.js";import"./BYyUHdhE.js";import"./C5ltJBXE.js";import"./Dk00UiMc.js";import"./D5HVt_Ls.js";import"./DXiAjl90.js";import"./Be13uV9H.js";import"./DQNccFBx.js";import"./Dksp07PQ.js";import"./CTRvA5Pi.js";import"./CQ52sdwM.js";import"./_IV8kBDe.js";import"./BT9smqb5.js";import"./CH3wWfc3.js";import"./xGR8-9QJ.js";import"./C2tN809F.js";import"./LCypAqCk.js";import"./BVT30Bej.js";import"./BU5sEgRx.js";import"./DVqmR7Q0.js";import"./ZAdUCfbC.js";import"./DmLkS3_H.js";import"./B4lmcVEF.js";import"./DYC29u8G.js";import"./DoqEPc8t.js";import"./BLoOfXXY.js";import"./D1Pj7zdZ.js";import"./uA6RxdEK.js";import"./DI_exYzA.js";import"./C56AYzUE.js";import"./UkbqOlZl.js";import"./CRx8aCsn.js";import"./BmmG9Rdv.js";import"./6k7Y6aiu.js";import"./DL3PFz2p.js";import"./ln_NZY0p.js";import"./Dd2yuKs4.js";import"./BVHPEmPy.js";import"./Dt7B25ml.js";import"./BnX7-078.js";import"./BXqnex8s.js";import"./DgQarCZi.js";import"./B7G8Lb1p.js";import"./fQKXMxJu.js";import"./DjqqfPuj.js";import"./CdSVygi2.js";import"./LrPJAhVd.js";import"./kL3OMmTR.js";import"./Vs5dKuL1.js";import"./CNvomDm1.js";import"./DRIajnh8.js";import"./CLvakZR3.js";import"./DZiYtyiP.js";import"./BfUv_AiX.js";import"./CLFplkWt.js";import"./Bl0F1lVb.js";import"./rhmGiXZ_.js";import"./hw3cWdkx.js";import"./BqLIoekz.js";import"./CPUWHLIG.js";import"./CmFiXDql.js";import"./CbMSdR5V.js";import"./BSZ-Thsv.js";import"./VULsZ7_o.js";import"./PJdNtW1r.js";import"./BmSy4Pap.js";import"./DMBKBz33.js";import"./CRPG127i.js";import"./CwYsQI09.js";import"./JpKKFl2t.js";import"./DXa5jJZV.js";import"./Cr27CqpW.js";import"./Br6-87BB.js";import"./B1xORZNW.js";import"./BzIQlMIT.js";import"./Q4gBQska.js";import"./CkURtdNU.js";import"./BLJlMcTf.js";import"./BB77g1cQ.js";import"./fT7vnvvZ.js";import"./DhjAeNbW.js";import"./DAEOVS_l.js";import"./CtofWGc6.js";import"./IO67Lg7y.js";import"./DoGfadIp.js";import"./DMh103BS.js";import"./qcnmkxWh.js";import"./DUO_omci.js";const T={name:"InvoicingGlobalPricingRulesDetailPage",components:{GeneralBar:c,GlobalRulesTable:A,DialogPricingRules:U,PricingRulesTabs:$,Widget:d,ActionDialog:g},data(){const o=u.headers(this),e=u.permanentApiResponseFields;return{loadingAllGroupedPricingRules:!1,headers:o,permanentApiResponseFields:e,searchFilters:k,refreshGlobalRuleTable:0,openCreatePricingRules:!1,editRule:null,openDialog:!1,pageRange:0,pricingRuleParameters:{},mode:"modify",deleteLoading:!1,openDeleteDialog:!1,ruleToBeDeleted:{}}},beforeCreate(){C(!this.$user.can("staff")&&(!this.$user.can("invoicing-viewer")||!this.$user.can("invoicing-manager")))},computed:{groupRuleName(){return l().decodeUri((this._.provides[m]||this.$route).params.id)},actions(){const o=[];return this.$user.can("manage pricing rules")&&o.push({icon:"mdi-content-copy",emit:"copy",tooltip:this.$t("copyRuleGroup")},{icon:"mdi-pencil",emit:"modify",tooltip:this.$t("modifyRuleGroup")},{icon:"mdi-delete",emit:"delete",tooltip:this.$t("deleteRuleGroup"),color:"red"}),o}},created(){G().setPageTitle(this.$t("global-rules")),this.$ga.event("Pricing Rules","Click link","Pricing Rules")},methods:{async deleteRuleGroup(){this.deleteLoading=!0;try{if(!this.groupRuleName)throw new Error("Rule set name required");const o=await this.$api.loop("get",`/pricing_rules?filter[rule_set_name]=${encodeURIComponent(this.groupRuleName)}&filter[has_pricing_entity]=0`);await Promise.all(o.map(async e=>{await this.$api.delete(`/pricing_rules/${e.id}`)})),s().showMessage({content:this.$t("rulesDeleted"),color:"success"}),this.$router.push("/invoicing/global-pricing-rules")}catch{s().showMessage({content:this.$t("error"),color:"error"}),this.refreshGlobalRuleTable=Math.random()}this.openDeleteDialog=!1,this.deleteLoading=!1},modifyGroupRules(){this.mode="modify",this.pricingRuleParameters={rule_set_name:l().decodeUri((this._.provides[m]||this.$route).params.id),copy:!1},this.openDialog=!0},copyGroupRules(){this.mode="copy",this.pricingRuleParameters={rule_set_name:l().decodeUri((this._.provides[m]||this.$route).params.id),copy:!0},this.openDialog=!0}
1,moveToNewRoute(o){const e=this.mode==="copy"?"push":"replace",n=l().encodeUri(o?.items[0].rule_set_name);this.$router[e](`/invoicing/global-pricing-rules/${n}`),this.refresh=Math.random()}}};function x(o,e,n,N,i,r){const h=c,f=a("global-rules-table"),R=d,_=a("dialog-pricing-rules"),b=g;return v(),D("div",null,[p(h,{"bar-title":r.groupRuleName,actions:r.actions,onModifyQuickAction:r.modifyGroupRules,onDeleteQuickAction:e[0]||(e[0]=t=>i.openDeleteDialog=!0),onCopyQuickAction:r.copyGroupRules},null,8,["bar-title","actions","onModifyQuickAction","onCopyQuickAction"]),p(R,null,{default:P(()=>[p(f,{"refresh-data":i.refreshGlobalRuleTable,"available-headers":i.headers,"permanent-api-response-fields":i.permanentApiResponseFields,endpoint:`/pricing_rules?filter[has_rule_set]=1&filter[has_pricing_entity]=0&filter[rule_set_name]=${encodeURIComponent(("useRouteUtils"in o?o.useRouteUtils:w(l))().decodeUri((this._.provides[m]||this.$route).params.id))}`,onPageRange:e[1]||(e[1]=t=>i.pageRange=t)},null,8,["refresh-data","available-headers","permanent-api-response-fields","endpoint"])]),_:1}),p(_,{modelValue:i.openDialog,"onUpdate:modelValue":e[2]||(e[2]=t=>i.openDialog=t),"pricing-rule-parameters":i.pricingRuleParameters,mode:i.mode,onPayload:e[3]||(e[3]=t=>r.moveToNewRoute(t)),onRefresh:e[4]||(e[4]=t=>i.refreshGlobalRuleTable=Math.random())},null,8,["modelValue","pricing-rule-parameters","mode"]),p(b,{modelValue:i.openDeleteDialog,"onUpdate:modelValue":e[5]||(e[5]=t=>i.openDeleteDialog=t),name:r.groupRuleName,title:o.$t("deleteXVariable",{x:o.$t("ruleGroup")}),"external-loading":i.deleteLoading,"external-action":r.deleteRuleGroup},null,8,["modelValue","name","title","external-loading","external-action"])])}const Jo=y(T,[["render",x]]);export{Jo as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.