@vendure/admin-ui-plugin 3.2.2 → 3.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/admin-ui/browser/{chunk-65GYL6KV.js → chunk-53IGUIMX.js} +2 -2
- package/lib/admin-ui/browser/{chunk-FDMXWRK5.js → chunk-7KFBXQ3Z.js} +2 -2
- package/lib/admin-ui/browser/{chunk-KV5QNU55.js → chunk-CSQXP3A7.js} +2 -2
- package/lib/admin-ui/browser/{chunk-KV5QNU55.js.map → chunk-CSQXP3A7.js.map} +1 -1
- package/lib/admin-ui/browser/{chunk-PXEUBHZ2.js → chunk-DORONFCG.js} +2 -2
- package/lib/admin-ui/browser/{chunk-ZRWMV2P4.js → chunk-FP2KL7NR.js} +2 -2
- package/lib/admin-ui/browser/{chunk-OD26BEJV.js → chunk-FRXLYINP.js} +2 -2
- package/lib/admin-ui/browser/{chunk-MZFFGCAS.js → chunk-GO4JUE66.js} +2 -2
- package/lib/admin-ui/browser/{chunk-W6ZQH6TM.js → chunk-IY6VYT5S.js} +2 -2
- package/lib/admin-ui/browser/{chunk-5IAHZUFG.js → chunk-NNPXIO6O.js} +40 -40
- package/lib/admin-ui/browser/{chunk-5IAHZUFG.js.map → chunk-NNPXIO6O.js.map} +3 -3
- package/lib/admin-ui/browser/{chunk-RUXBMYRL.js → chunk-QJRUTAJ4.js} +2 -2
- package/lib/admin-ui/browser/index.html +1 -1
- package/lib/admin-ui/browser/main-XXYU5NDH.js +2 -0
- package/lib/src/plugin.js +3 -0
- package/lib/src/plugin.js.map +1 -1
- package/package.json +8 -8
- package/lib/admin-ui/browser/main-5VEVQFUE.js +0 -2
- /package/lib/admin-ui/browser/{chunk-65GYL6KV.js.map → chunk-53IGUIMX.js.map} +0 -0
- /package/lib/admin-ui/browser/{chunk-FDMXWRK5.js.map → chunk-7KFBXQ3Z.js.map} +0 -0
- /package/lib/admin-ui/browser/{chunk-PXEUBHZ2.js.map → chunk-DORONFCG.js.map} +0 -0
- /package/lib/admin-ui/browser/{chunk-ZRWMV2P4.js.map → chunk-FP2KL7NR.js.map} +0 -0
- /package/lib/admin-ui/browser/{chunk-OD26BEJV.js.map → chunk-FRXLYINP.js.map} +0 -0
- /package/lib/admin-ui/browser/{chunk-MZFFGCAS.js.map → chunk-GO4JUE66.js.map} +0 -0
- /package/lib/admin-ui/browser/{chunk-W6ZQH6TM.js.map → chunk-IY6VYT5S.js.map} +0 -0
- /package/lib/admin-ui/browser/{chunk-RUXBMYRL.js.map → chunk-QJRUTAJ4.js.map} +0 -0
- /package/lib/admin-ui/browser/{main-5VEVQFUE.js.map → main-XXYU5NDH.js.map} +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import{a as ni}from"./chunk-MZFFGCAS.js";import{$ as Io,$c as sn,$d as Pi,$e as An,$f as nt,$g as ii,A as vo,Aa as Je,Ab as Mo,Ae as It,Af as Dt,Ag as Wa,B as Ie,Ba as U,Bb as No,Bd as vt,Bf as Kt,C as Xi,Ca as f,Cb as Lo,Cc as Yo,Cd as Bt,Ce as ga,Cf as zt,Cg as qa,Da as T,Db as an,Dd as et,Df as Fa,Ea as v,Eb as Uo,Ed as mt,Ef as gt,F as Ot,Fa as Mt,Fb as $o,Fd as Lt,Fe as Ii,Ff as je,G as Co,Ga as Vo,Gb as Go,Ge as K,Gf as Sa,H as st,Ha as Me,Hb as jo,Hd as Pt,He as me,Hf as Ea,I as B,Ia as Ne,Ib as Wo,Id as Ce,If as Oa,J as bo,Ja as Le,Jb as qo,Jc as Rl,Jd as Ut,Je as _a,Jg as He,K as Vt,Ka as tn,Kb as Ho,Kc as rn,Kd as bi,Ke as Ti,Kf as Zt,Kg as ki,L as ze,La as W,Lb as Qo,Lc as Ko,Ld as be,Le as it,Lf as bn,Lg as Ha,Ma as j,Mc as zo,Md as cn,Me as Tt,Mf as xe,N as yo,Na as Rt,Nc as Zo,Nd as pn,Nf as We,O as hi,Oa as nn,Oc as Jo,Od as dn,Oe as Bl,Of as Ee,Og as Qa,P as xo,Pa as ko,Pd as sa,Pf as Oe,Pg as St,Q as wt,Qa as s,Qd as yi,Qe as fa,Qf as Ve,Qg as Ri,R as Po,Ra as d,Rd as mn,Rg as Ya,S as yt,Sa as O,Sc as ln,Sd as ca,Se as ha,Sf as Oi,Sg as Ka,T as b,Ta as Ro,Td as pa,Te as va,Tf as Vi,Tg as za,U as y,Ua as Q,Ud as $e,Uf as Va,Ug as ti,Va as pe,Vd as un,Ve as Ca,Vf as ka,W as ht,Wa as Nt,We as ba,Wf as Jt,Wg as Bi,X as en,Xa as Bo,Xd as da,Xe as Cn,Xf as Xt,Xg as xn,Ya as $,Yd as gn,Yg as Za,Z as vi,Za as A,Zd as xi,Zf as qe,Zg as Pn,_ as o,_d as ma,_e as qt,_f as ei,_g as In,a as X,aa as P,ae as J,af as ya,ag as Ra,ah as ue,b as fe,bg as Ba,bh as _t,ca as E,cb as on,cd as Xo,ce as De,cg as Aa,ch as at,d as kl,da as To,db as G,dd as k,de as tt,dg as wa,e as se,ed as ea,ee as ye,eg as Ma,f as go,fa as Do,fd as xt,fe as ua,ff as xa,fg as ot,g as ft,ga as ce,gd as ta,ge as _n,gh as Tn,h as Re,ha as g,hd as dt,he as $t,hf as Ht,i as le,ia as Bn,id as Te,if as Se,j as Ui,ja as a,jb as Ao,jd as ia,jg as ke,k as he,ka as Fo,l as _o,la as w,ld as R,lf as Qt,m as Zi,ma as c,mf as Di,n as F,na as p,nb as ne,nf as Pa,ng as de,o as ee,oa as h,od as na,of as Ia,og as Na,p as we,pa as M,pd as oa,pf as Fi,pg as La,q as Ji,qa as N,qd as aa,qe as fn,qf as Yt,qg as Ua,r as bt,ra as kt,rb as Xe,re as hn,rf as Si,sa as D,sb as Gi,sd as ra,se as vn,sg as $a,t as fo,ta as C,td as Ue,te as Y,tf as Ei,tg as wn,u as $i,ua as u,ub as wo,ud as ie,ue as Ge,ug as yn,v as ho,va as So,vd as Qe,ve as Fe,vf as Ta,vg as Ft,wa as Eo,wb as pi,wd as Z,we as te,wf as Da,x as rt,xa as Oo,xd as ve,xe as Gt,y as lt,ya as pt,yd as la,ye as jt,yg as Ga,za as Ze,zb as V,zd as Ci,ze as Wt,zf as ut,zg as ja}from"./chunk-KV5QNU55.js";var Mn=kl(H=>{"use strict";Object.defineProperty(H,"__esModule",{value:!0});H.StockMovementType=H.SortOrder=H.Permission=H.OrderType=H.MetricType=H.MetricInterval=H.LogicalOperator=H.LanguageCode=H.JobState=H.HistoryEntryType=H.GlobalFlag=H.ErrorCode=H.DeletionResult=H.CurrencyCode=H.AssetType=H.AdjustmentType=void 0;var Ja=function(e){return e.DISTRIBUTED_ORDER_PROMOTION="DISTRIBUTED_ORDER_PROMOTION",e.OTHER="OTHER",e.PROMOTION="PROMOTION",e}(Ja||(H.AdjustmentType=Ja={})),Xa=function(e){return e.BINARY="BINARY",e.IMAGE="IMAGE",e.VIDEO="VIDEO",e}(Xa||(H.AssetType=Xa={})),er=function(e){return e.AED="AED",e.AFN="AFN",e.ALL="ALL",e.AMD="AMD",e.ANG="ANG",e.AOA="AOA",e.ARS="ARS",e.AUD="AUD",e.AWG="AWG",e.AZN="AZN",e.BAM="BAM",e.BBD="BBD",e.BDT="BDT",e.BGN="BGN",e.BHD="BHD",e.BIF="BIF",e.BMD="BMD",e.BND="BND",e.BOB="BOB",e.BRL="BRL",e.BSD="BSD",e.BTN="BTN",e.BWP="BWP",e.BYN="BYN",e.BZD="BZD",e.CAD="CAD",e.CDF="CDF",e.CHF="CHF",e.CLP="CLP",e.CNY="CNY",e.COP="COP",e.CRC="CRC",e.CUC="CUC",e.CUP="CUP",e.CVE="CVE",e.CZK="CZK",e.DJF="DJF",e.DKK="DKK",e.DOP="DOP",e.DZD="DZD",e.EGP="EGP",e.ERN="ERN",e.ETB="ETB",e.EUR="EUR",e.FJD="FJD",e.FKP="FKP",e.GBP="GBP",e.GEL="GEL",e.GHS="GHS",e.GIP="GIP",e.GMD="GMD",e.GNF="GNF",e.GTQ="GTQ",e.GYD="GYD",e.HKD="HKD",e.HNL="HNL",e.HRK="HRK",e.HTG="HTG",e.HUF="HUF",e.IDR="IDR",e.ILS="ILS",e.INR="INR",e.IQD="IQD",e.IRR="IRR",e.ISK="ISK",e.JMD="JMD",e.JOD="JOD",e.JPY="JPY",e.KES="KES",e.KGS="KGS",e.KHR="KHR",e.KMF="KMF",e.KPW="KPW",e.KRW="KRW",e.KWD="KWD",e.KYD="KYD",e.KZT="KZT",e.LAK="LAK",e.LBP="LBP",e.LKR="LKR",e.LRD="LRD",e.LSL="LSL",e.LYD="LYD",e.MAD="MAD",e.MDL="MDL",e.MGA="MGA",e.MKD="MKD",e.MMK="MMK",e.MNT="MNT",e.MOP="MOP",e.MRU="MRU",e.MUR="MUR",e.MVR="MVR",e.MWK="MWK",e.MXN="MXN",e.MYR="MYR",e.MZN="MZN",e.NAD="NAD",e.NGN="NGN",e.NIO="NIO",e.NOK="NOK",e.NPR="NPR",e.NZD="NZD",e.OMR="OMR",e.PAB="PAB",e.PEN="PEN",e.PGK="PGK",e.PHP="PHP",e.PKR="PKR",e.PLN="PLN",e.PYG="PYG",e.QAR="QAR",e.RON="RON",e.RSD="RSD",e.RUB="RUB",e.RWF="RWF",e.SAR="SAR",e.SBD="SBD",e.SCR="SCR",e.SDG="SDG",e.SEK="SEK",e.SGD="SGD",e.SHP="SHP",e.SLL="SLL",e.SOS="SOS",e.SRD="SRD",e.SSP="SSP",e.STN="STN",e.SVC="SVC",e.SYP="SYP",e.SZL="SZL",e.THB="THB",e.TJS="TJS",e.TMT="TMT",e.TND="TND",e.TOP="TOP",e.TRY="TRY",e.TTD="TTD",e.TWD="TWD",e.TZS="TZS",e.UAH="UAH",e.UGX="UGX",e.USD="USD",e.UYU="UYU",e.UZS="UZS",e.VES="VES",e.VND="VND",e.VUV="VUV",e.WST="WST",e.XAF="XAF",e.XCD="XCD",e.XOF="XOF",e.XPF="XPF",e.YER="YER",e.ZAR="ZAR",e.ZMW="ZMW",e.ZWL="ZWL",e}(er||(H.CurrencyCode=er={})),tr=function(e){return e.DELETED="DELETED",e.NOT_DELETED="NOT_DELETED",e}(tr||(H.DeletionResult=tr={})),ir=function(e){return e.ALREADY_REFUNDED_ERROR="ALREADY_REFUNDED_ERROR",e.CANCEL_ACTIVE_ORDER_ERROR="CANCEL_ACTIVE_ORDER_ERROR",e.CANCEL_PAYMENT_ERROR="CANCEL_PAYMENT_ERROR",e.CHANNEL_DEFAULT_LANGUAGE_ERROR="CHANNEL_DEFAULT_LANGUAGE_ERROR",e.COUPON_CODE_EXPIRED_ERROR="COUPON_CODE_EXPIRED_ERROR",e.COUPON_CODE_INVALID_ERROR="COUPON_CODE_INVALID_ERROR",e.COUPON_CODE_LIMIT_ERROR="COUPON_CODE_LIMIT_ERROR",e.CREATE_FULFILLMENT_ERROR="CREATE_FULFILLMENT_ERROR",e.DUPLICATE_ENTITY_ERROR="DUPLICATE_ENTITY_ERROR",e.EMAIL_ADDRESS_CONFLICT_ERROR="EMAIL_ADDRESS_CONFLICT_ERROR",e.EMPTY_ORDER_LINE_SELECTION_ERROR="EMPTY_ORDER_LINE_SELECTION_ERROR",e.FACET_IN_USE_ERROR="FACET_IN_USE_ERROR",e.FULFILLMENT_STATE_TRANSITION_ERROR="FULFILLMENT_STATE_TRANSITION_ERROR",e.GUEST_CHECKOUT_ERROR="GUEST_CHECKOUT_ERROR",e.INELIGIBLE_SHIPPING_METHOD_ERROR="INELIGIBLE_SHIPPING_METHOD_ERROR",e.INSUFFICIENT_STOCK_ERROR="INSUFFICIENT_STOCK_ERROR",e.INSUFFICIENT_STOCK_ON_HAND_ERROR="INSUFFICIENT_STOCK_ON_HAND_ERROR",e.INVALID_CREDENTIALS_ERROR="INVALID_CREDENTIALS_ERROR",e.INVALID_FULFILLMENT_HANDLER_ERROR="INVALID_FULFILLMENT_HANDLER_ERROR",e.ITEMS_ALREADY_FULFILLED_ERROR="ITEMS_ALREADY_FULFILLED_ERROR",e.LANGUAGE_NOT_AVAILABLE_ERROR="LANGUAGE_NOT_AVAILABLE_ERROR",e.MANUAL_PAYMENT_STATE_ERROR="MANUAL_PAYMENT_STATE_ERROR",e.MIME_TYPE_ERROR="MIME_TYPE_ERROR",e.MISSING_CONDITIONS_ERROR="MISSING_CONDITIONS_ERROR",e.MULTIPLE_ORDER_ERROR="MULTIPLE_ORDER_ERROR",e.NATIVE_AUTH_STRATEGY_ERROR="NATIVE_AUTH_STRATEGY_ERROR",e.NEGATIVE_QUANTITY_ERROR="NEGATIVE_QUANTITY_ERROR",e.NOTHING_TO_REFUND_ERROR="NOTHING_TO_REFUND_ERROR",e.NO_ACTIVE_ORDER_ERROR="NO_ACTIVE_ORDER_ERROR",e.NO_CHANGES_SPECIFIED_ERROR="NO_CHANGES_SPECIFIED_ERROR",e.ORDER_INTERCEPTOR_ERROR="ORDER_INTERCEPTOR_ERROR",e.ORDER_LIMIT_ERROR="ORDER_LIMIT_ERROR",e.ORDER_MODIFICATION_ERROR="ORDER_MODIFICATION_ERROR",e.ORDER_MODIFICATION_STATE_ERROR="ORDER_MODIFICATION_STATE_ERROR",e.ORDER_STATE_TRANSITION_ERROR="ORDER_STATE_TRANSITION_ERROR",e.PAYMENT_METHOD_MISSING_ERROR="PAYMENT_METHOD_MISSING_ERROR",e.PAYMENT_ORDER_MISMATCH_ERROR="PAYMENT_ORDER_MISMATCH_ERROR",e.PAYMENT_STATE_TRANSITION_ERROR="PAYMENT_STATE_TRANSITION_ERROR",e.PRODUCT_OPTION_IN_USE_ERROR="PRODUCT_OPTION_IN_USE_ERROR",e.QUANTITY_TOO_GREAT_ERROR="QUANTITY_TOO_GREAT_ERROR",e.REFUND_AMOUNT_ERROR="REFUND_AMOUNT_ERROR",e.REFUND_ORDER_STATE_ERROR="REFUND_ORDER_STATE_ERROR",e.REFUND_PAYMENT_ID_MISSING_ERROR="REFUND_PAYMENT_ID_MISSING_ERROR",e.REFUND_STATE_TRANSITION_ERROR="REFUND_STATE_TRANSITION_ERROR",e.SETTLE_PAYMENT_ERROR="SETTLE_PAYMENT_ERROR",e.UNKNOWN_ERROR="UNKNOWN_ERROR",e}(ir||(H.ErrorCode=ir={})),nr=function(e){return e.FALSE="FALSE",e.INHERIT="INHERIT",e.TRUE="TRUE",e}(nr||(H.GlobalFlag=nr={})),or=function(e){return e.CUSTOMER_ADDED_TO_GROUP="CUSTOMER_ADDED_TO_GROUP",e.CUSTOMER_ADDRESS_CREATED="CUSTOMER_ADDRESS_CREATED",e.CUSTOMER_ADDRESS_DELETED="CUSTOMER_ADDRESS_DELETED",e.CUSTOMER_ADDRESS_UPDATED="CUSTOMER_ADDRESS_UPDATED",e.CUSTOMER_DETAIL_UPDATED="CUSTOMER_DETAIL_UPDATED",e.CUSTOMER_EMAIL_UPDATE_REQUESTED="CUSTOMER_EMAIL_UPDATE_REQUESTED",e.CUSTOMER_EMAIL_UPDATE_VERIFIED="CUSTOMER_EMAIL_UPDATE_VERIFIED",e.CUSTOMER_NOTE="CUSTOMER_NOTE",e.CUSTOMER_PASSWORD_RESET_REQUESTED="CUSTOMER_PASSWORD_RESET_REQUESTED",e.CUSTOMER_PASSWORD_RESET_VERIFIED="CUSTOMER_PASSWORD_RESET_VERIFIED",e.CUSTOMER_PASSWORD_UPDATED="CUSTOMER_PASSWORD_UPDATED",e.CUSTOMER_REGISTERED="CUSTOMER_REGISTERED",e.CUSTOMER_REMOVED_FROM_GROUP="CUSTOMER_REMOVED_FROM_GROUP",e.CUSTOMER_VERIFIED="CUSTOMER_VERIFIED",e.ORDER_CANCELLATION="ORDER_CANCELLATION",e.ORDER_COUPON_APPLIED="ORDER_COUPON_APPLIED",e.ORDER_COUPON_REMOVED="ORDER_COUPON_REMOVED",e.ORDER_CUSTOMER_UPDATED="ORDER_CUSTOMER_UPDATED",e.ORDER_FULFILLMENT="ORDER_FULFILLMENT",e.ORDER_FULFILLMENT_TRANSITION="ORDER_FULFILLMENT_TRANSITION",e.ORDER_MODIFIED="ORDER_MODIFIED",e.ORDER_NOTE="ORDER_NOTE",e.ORDER_PAYMENT_TRANSITION="ORDER_PAYMENT_TRANSITION",e.ORDER_REFUND_TRANSITION="ORDER_REFUND_TRANSITION",e.ORDER_STATE_TRANSITION="ORDER_STATE_TRANSITION",e}(or||(H.HistoryEntryType=or={})),ar=function(e){return e.CANCELLED="CANCELLED",e.COMPLETED="COMPLETED",e.FAILED="FAILED",e.PENDING="PENDING",e.RETRYING="RETRYING",e.RUNNING="RUNNING",e}(ar||(H.JobState=ar={})),rr=function(e){return e.af="af",e.ak="ak",e.am="am",e.ar="ar",e.as="as",e.az="az",e.be="be",e.bg="bg",e.bm="bm",e.bn="bn",e.bo="bo",e.br="br",e.bs="bs",e.ca="ca",e.ce="ce",e.co="co",e.cs="cs",e.cu="cu",e.cy="cy",e.da="da",e.de="de",e.de_AT="de_AT",e.de_CH="de_CH",e.dz="dz",e.ee="ee",e.el="el",e.en="en",e.en_AU="en_AU",e.en_CA="en_CA",e.en_GB="en_GB",e.en_US="en_US",e.eo="eo",e.es="es",e.es_ES="es_ES",e.es_MX="es_MX",e.et="et",e.eu="eu",e.fa="fa",e.fa_AF="fa_AF",e.ff="ff",e.fi="fi",e.fo="fo",e.fr="fr",e.fr_CA="fr_CA",e.fr_CH="fr_CH",e.fy="fy",e.ga="ga",e.gd="gd",e.gl="gl",e.gu="gu",e.gv="gv",e.ha="ha",e.he="he",e.hi="hi",e.hr="hr",e.ht="ht",e.hu="hu",e.hy="hy",e.ia="ia",e.id="id",e.ig="ig",e.ii="ii",e.is="is",e.it="it",e.ja="ja",e.jv="jv",e.ka="ka",e.ki="ki",e.kk="kk",e.kl="kl",e.km="km",e.kn="kn",e.ko="ko",e.ks="ks",e.ku="ku",e.kw="kw",e.ky="ky",e.la="la",e.lb="lb",e.lg="lg",e.ln="ln",e.lo="lo",e.lt="lt",e.lu="lu",e.lv="lv",e.mg="mg",e.mi="mi",e.mk="mk",e.ml="ml",e.mn="mn",e.mr="mr",e.ms="ms",e.mt="mt",e.my="my",e.nb="nb",e.nd="nd",e.ne="ne",e.nl="nl",e.nl_BE="nl_BE",e.nn="nn",e.ny="ny",e.om="om",e.or="or",e.os="os",e.pa="pa",e.pl="pl",e.ps="ps",e.pt="pt",e.pt_BR="pt_BR",e.pt_PT="pt_PT",e.qu="qu",e.rm="rm",e.rn="rn",e.ro="ro",e.ro_MD="ro_MD",e.ru="ru",e.rw="rw",e.sa="sa",e.sd="sd",e.se="se",e.sg="sg",e.si="si",e.sk="sk",e.sl="sl",e.sm="sm",e.sn="sn",e.so="so",e.sq="sq",e.sr="sr",e.st="st",e.su="su",e.sv="sv",e.sw="sw",e.sw_CD="sw_CD",e.ta="ta",e.te="te",e.tg="tg",e.th="th",e.ti="ti",e.tk="tk",e.to="to",e.tr="tr",e.tt="tt",e.ug="ug",e.uk="uk",e.ur="ur",e.uz="uz",e.vi="vi",e.vo="vo",e.wo="wo",e.xh="xh",e.yi="yi",e.yo="yo",e.zh="zh",e.zh_Hans="zh_Hans",e.zh_Hant="zh_Hant",e.zu="zu",e}(rr||(H.LanguageCode=rr={})),lr=function(e){return e.AND="AND",e.OR="OR",e}(lr||(H.LogicalOperator=lr={})),sr=function(e){return e.Daily="Daily",e}(sr||(H.MetricInterval=sr={})),cr=function(e){return e.AverageOrderValue="AverageOrderValue",e.OrderCount="OrderCount",e.OrderTotal="OrderTotal",e}(cr||(H.MetricType=cr={})),pr=function(e){return e.Aggregate="Aggregate",e.Regular="Regular",e.Seller="Seller",e}(pr||(H.OrderType=pr={})),dr=function(e){return e.Authenticated="Authenticated",e.CreateAdministrator="CreateAdministrator",e.CreateAsset="CreateAsset",e.CreateCatalog="CreateCatalog",e.CreateChannel="CreateChannel",e.CreateCollection="CreateCollection",e.CreateCountry="CreateCountry",e.CreateCustomer="CreateCustomer",e.CreateCustomerGroup="CreateCustomerGroup",e.CreateFacet="CreateFacet",e.CreateOrder="CreateOrder",e.CreatePaymentMethod="CreatePaymentMethod",e.CreateProduct="CreateProduct",e.CreatePromotion="CreatePromotion",e.CreateSeller="CreateSeller",e.CreateSettings="CreateSettings",e.CreateShippingMethod="CreateShippingMethod",e.CreateStockLocation="CreateStockLocation",e.CreateSystem="CreateSystem",e.CreateTag="CreateTag",e.CreateTaxCategory="CreateTaxCategory",e.CreateTaxRate="CreateTaxRate",e.CreateZone="CreateZone",e.DeleteAdministrator="DeleteAdministrator",e.DeleteAsset="DeleteAsset",e.DeleteCatalog="DeleteCatalog",e.DeleteChannel="DeleteChannel",e.DeleteCollection="DeleteCollection",e.DeleteCountry="DeleteCountry",e.DeleteCustomer="DeleteCustomer",e.DeleteCustomerGroup="DeleteCustomerGroup",e.DeleteFacet="DeleteFacet",e.DeleteOrder="DeleteOrder",e.DeletePaymentMethod="DeletePaymentMethod",e.DeleteProduct="DeleteProduct",e.DeletePromotion="DeletePromotion",e.DeleteSeller="DeleteSeller",e.DeleteSettings="DeleteSettings",e.DeleteShippingMethod="DeleteShippingMethod",e.DeleteStockLocation="DeleteStockLocation",e.DeleteSystem="DeleteSystem",e.DeleteTag="DeleteTag",e.DeleteTaxCategory="DeleteTaxCategory",e.DeleteTaxRate="DeleteTaxRate",e.DeleteZone="DeleteZone",e.Owner="Owner",e.Public="Public",e.ReadAdministrator="ReadAdministrator",e.ReadAsset="ReadAsset",e.ReadCatalog="ReadCatalog",e.ReadChannel="ReadChannel",e.ReadCollection="ReadCollection",e.ReadCountry="ReadCountry",e.ReadCustomer="ReadCustomer",e.ReadCustomerGroup="ReadCustomerGroup",e.ReadFacet="ReadFacet",e.ReadOrder="ReadOrder",e.ReadPaymentMethod="ReadPaymentMethod",e.ReadProduct="ReadProduct",e.ReadPromotion="ReadPromotion",e.ReadSeller="ReadSeller",e.ReadSettings="ReadSettings",e.ReadShippingMethod="ReadShippingMethod",e.ReadStockLocation="ReadStockLocation",e.ReadSystem="ReadSystem",e.ReadTag="ReadTag",e.ReadTaxCategory="ReadTaxCategory",e.ReadTaxRate="ReadTaxRate",e.ReadZone="ReadZone",e.SuperAdmin="SuperAdmin",e.UpdateAdministrator="UpdateAdministrator",e.UpdateAsset="UpdateAsset",e.UpdateCatalog="UpdateCatalog",e.UpdateChannel="UpdateChannel",e.UpdateCollection="UpdateCollection",e.UpdateCountry="UpdateCountry",e.UpdateCustomer="UpdateCustomer",e.UpdateCustomerGroup="UpdateCustomerGroup",e.UpdateFacet="UpdateFacet",e.UpdateGlobalSettings="UpdateGlobalSettings",e.UpdateOrder="UpdateOrder",e.UpdatePaymentMethod="UpdatePaymentMethod",e.UpdateProduct="UpdateProduct",e.UpdatePromotion="UpdatePromotion",e.UpdateSeller="UpdateSeller",e.UpdateSettings="UpdateSettings",e.UpdateShippingMethod="UpdateShippingMethod",e.UpdateStockLocation="UpdateStockLocation",e.UpdateSystem="UpdateSystem",e.UpdateTag="UpdateTag",e.UpdateTaxCategory="UpdateTaxCategory",e.UpdateTaxRate="UpdateTaxRate",e.UpdateZone="UpdateZone",e}(dr||(H.Permission=dr={})),mr=function(e){return e.ASC="ASC",e.DESC="DESC",e}(mr||(H.SortOrder=mr={})),ur=function(e){return e.ADJUSTMENT="ADJUSTMENT",e.ALLOCATION="ALLOCATION",e.CANCELLATION="CANCELLATION",e.RELEASE="RELEASE",e.RETURN="RETURN",e.SALE="SALE",e}(ur||(H.StockMovementType=ur={}))});var Ol=se(Mn());var Ln=se(ni()),gr=se(sn());function Nn(e,l,t){if(!e)return"";let n=e.lastIndexOf(l);if(n===-1)return e;let i=e.substr(0,n),r=e.substr(n).replace(l,t);return i+r}var oi=(()=>{class e{constructor(t){this.dataService=t}getTaxCategories(){return this.dataService.settings.getTaxCategories().mapSingle(t=>t.taxCategories.items).pipe(Ot(1))}createProductWithVariants(t,n,i){let r=this.dataService.product.createProduct(t),m=n.groups.filter(x=>0<x.values.length),_=this.createProductOptionGroups(m,i);return bt(r,_).pipe(we(([{createProduct:x},I])=>(I.length?bt(I.map(L=>this.dataService.product.addOptionGroupToProduct({productId:x.id,optionGroupId:L.id}))):he([])).pipe(F(()=>({createProduct:x,optionGroups:I})))),we(({createProduct:x,optionGroups:I})=>{let S=n.variants.map(z=>{let re=I.length?z.optionValues.map((_e,Be)=>{let Ae=I[Be].options.find(fi=>fi.name===_e);if(!Ae)throw new Error(`Could not find a matching ProductOption "${_e}" when creating variant`);return Ae.id}):[];return fe(X({},z),{optionIds:re})}),L=I.map(z=>z.options).reduce((z,re)=>[...z,...re],[]);return this.createProductVariants(x,S,L,i,n.stockLocationId)}))}createProductOptionGroups(t,n){return t.length?bt(t.map(i=>this.dataService.product.createProductOptionGroups({code:(0,Ln.normalizeString)(i.name,"-"),translations:[{languageCode:n,name:i.name}],options:i.values.map(r=>({code:(0,Ln.normalizeString)(r,"-"),translations:[{languageCode:n,name:r}]}))}).pipe(F(r=>r.createProductOptionGroup)))):he([])}createProductVariants(t,n,i,r,m){let _=n.map(x=>{let I=i.length?`${t.name} ${x.optionIds.map(S=>i.find(L=>L.id===S)).filter(gr.notNullOrUndefined).map(S=>S.name).join(" ")}`:t.name;return{productId:t.id,price:x.price,sku:x.sku,translations:[{languageCode:r,name:I}],stockLevels:[{stockLocationId:m,stockOnHand:x.stock}],optionIds:x.optionIds}});return this.dataService.product.createProductVariants(_).pipe(F(({createProductVariants:x})=>({createProductVariants:x,productId:t.id})))}updateProduct(t){let{product:n,languageCode:i,autoUpdate:r,productInput:m,variantsInput:_}=t,x=[],I=_||[];return(r?this.dataService.product.getProductVariantsForProduct({},n.id).mapSingle(({productVariants:L})=>L.items):he([])).pipe(we(L=>{if(m){x.push(this.dataService.product.updateProduct(m));let z=ue(n,i)?.name??"",re=ue(m,i)?.name;if(re&&z!==re&&r)for(let _e of L){let Be=ue(_e,i)?.name||"",Ae,fi=I.find(Rn=>Rn.id===_e.id);fi?Ae=fi:(Ae={id:_e.id,translations:[{languageCode:i,name:Be}]},I.push(Ae));let Li=ue(Ae,i);Li&&(Li.name?Li.name=Nn(Li.name,z,re):Li.name=[re,..._e.options.map(Rn=>Rn.name)].join(" "))}}return I.length&&x.push(this.dataService.product.updateProductVariants(I)),bt(x)}))}updateProductOptions(t,n,i,r){return(n?this.dataService.product.getProductVariantsForProduct({},i.id).mapSingle(({productVariants:_})=>_.items):he([])).pipe(we(_=>{let x=he([]);if(n){let I=new Map;for(let L of t){let z=ue(L,r)?.name,re;for(let _e of _)re||_e.options.map(Be=>Be.id).includes(L.id)&&(re||(re=ue(_e.options.find(Be=>Be.id===L.id),r)?.name));re&&z&&I.set(re,z)}let S=[];if(I.size){let L=Array.from(I.keys());for(let z of _){let re=ue(z,r)?.name;if(!re||!L.some(Be=>re.includes(Be)))continue;let _e=L.reduce((Be,Ae)=>Nn(Be,Ae,I.get(Ae)),re);S.push({id:z.id,translations:[{languageCode:r,name:_e}]})}}S.length?x=this.dataService.product.updateProductVariants(S):x=he([])}return bt(t.map(I=>this.dataService.product.updateProductOption(I))).pipe(we(()=>x))}))}deleteProductVariant(t,n){return this.dataService.product.deleteProductVariant(t).pipe(B(i=>i.deleteProductVariant.result===Xe.DELETED?this.dataService.product.getProduct(n).single$:_o(i.deleteProductVariant.message)))}static{this.\u0275fac=function(n){return new(n||e)(wt(k))}}static{this.\u0275prov=hi({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();function Al(e,l){if(e&1){let t=D();c(0,"button",6),C("click",function(){b(t);let i=u();return y(i.save())}),f(1),s(2,"translate"),p()}if(e&2){let t=u();a("disabled",t.detailForm.pristine||t.detailForm.invalid),o(),v(" ",d(2,2,"common.update")," ")}}function wl(e,l){if(e&1&&(M(0,19),h(1,"vdr-tabbed-custom-fields",20),s(2,"hasPermission"),N()),e&2){let t=u().$implicit,n=u(2);o(),a("customFields",n.optionGroupCustomFields)("customFieldsFormGroup",t.get("customFields"))("readonly",!d(2,3,n.updatePermission))}}function Ml(e,l){if(e&1&&f(0),e&2){let t=l.item;v(" ",t.value.id," ")}}function Nl(e,l){if(e&1&&(f(0),s(1,"localeDate")),e&2){let t=l.item;v(" ",O(1,1,t.value.createdAt,"short")," ")}}function Ll(e,l){if(e&1&&(f(0),s(1,"localeDate")),e&2){let t=l.item;v(" ",O(1,1,t.value.updatedAt,"short")," ")}}function Ul(e,l){if(e&1&&(h(0,"input",28),s(1,"hasPermission")),e&2){let t=l.item,n=u(4);a("formControl",t.get("name"))("readonly",!d(1,2,n.updatePermission))}}function $l(e,l){if(e&1&&h(0,"input",29),e&2){let t=l.item;a("formControl",t.get("code"))}}function Gl(e,l){if(e&1&&(h(0,"vdr-tabbed-custom-fields",30),s(1,"hasPermission")),e&2){let t=l.item,n=u(4);a("customFields",n.optionCustomFields)("compact",!0)("customFieldsFormGroup",t.get("customFields"))("readonly",!d(1,4,n.updatePermission))}}function jl(e,l){if(e&1){let t=D();c(0,"vdr-data-table-2",21),C("pageChange",function(i){b(t);let r=u().$implicit,m=u(2);return y(m.paginationSettings[r.value.id].currentPage=i)})("itemsPerPageChange",function(i){b(t);let r=u().$implicit,m=u(2);return y(m.paginationSettings[r.value.id].itemsPerPage=i)}),c(1,"vdr-dt2-column",22),s(2,"translate"),g(3,Ml,1,1,"ng-template"),p(),c(4,"vdr-dt2-column",23),s(5,"translate"),g(6,Nl,2,4,"ng-template"),p(),c(7,"vdr-dt2-column",24),s(8,"translate"),g(9,Ll,2,4,"ng-template"),p(),c(10,"vdr-dt2-column",25),s(11,"translate"),g(12,Ul,2,4,"ng-template"),p(),c(13,"vdr-dt2-column",26),s(14,"translate"),g(15,$l,1,1,"ng-template"),p(),c(16,"vdr-dt2-column",27),s(17,"translate"),g(18,Gl,2,6,"ng-template"),p()()}if(e&2){let t=l.ngIf,n=u().$implicit,i=u(2);a("items",t)("trackByPath","value.id")("itemsPerPage",i.paginationSettings[n.value.id]==null?null:i.paginationSettings[n.value.id].itemsPerPage)("currentPage",i.paginationSettings[n.value.id]==null?null:i.paginationSettings[n.value.id].currentPage)("totalItems",t.length),o(),a("heading",d(2,17,"common.id"))("hiddenByDefault",!0),o(3),a("heading",d(5,19,"common.created-at"))("hiddenByDefault",!0),o(3),a("heading",d(8,21,"common.updated-at"))("hiddenByDefault",!0),o(3),a("heading",d(11,23,"common.name"))("optional",!1),o(3),a("heading",d(14,25,"common.code"))("optional",!1),o(3),a("heading",d(17,27,"common.custom-fields"))("hiddenByDefault",i.optionCustomFields.length===0)}}function Wl(e,l){if(e&1&&(c(0,"vdr-card",10),h(1,"vdr-page-entity-info",11),c(2,"div",12)(3,"vdr-form-field",13),s(4,"translate"),h(5,"input",14),s(6,"hasPermission"),p(),c(7,"vdr-form-field",15),s(8,"translate"),h(9,"input",16),s(10,"hasPermission"),p()(),g(11,wl,3,5,"ng-container",17)(12,jl,19,29,"vdr-data-table-2",18),p()),e&2){let t=l.$implicit,n=l.index,i=u(2);a("formArrayName",n)("title",t.value.code),o(),a("entity",t.value),o(2),a("label",d(4,11,"common.name")),o(2),a("id","name-"+n)("readonly",!d(6,13,i.updatePermission)),o(2),a("label",d(8,15,"common.code")),o(2),a("id","code-"+n)("readonly",!d(10,17,i.updatePermission)),o(2),a("ngIf",i.optionGroupCustomFields.length),o(),a("ngIf",i.getOptions(t))}}function ql(e,l){if(e&1&&(c(0,"form",7)(1,"div",8),g(2,Wl,13,19,"vdr-card",9),p()()),e&2){let t=u();a("formGroup",t.detailForm),o(2),a("ngForOf",t.getOptionGroups())}}var Un=(()=>{class e extends Qa{constructor(t,n,i,r,m,_,x,I,S){super(t,n,i,r,m),this.route=t,this.router=n,this.serverConfigService=i,this.dataService=r,this.permissionsService=m,this.productDetailService=_,this.formBuilder=x,this.changeDetector=I,this.notificationService=S,this.autoUpdateVariantNames=!0,this.paginationSettings={},this.updatePermission=[V.UpdateCatalog,V.UpdateProduct],this.optionGroupCustomFields=this.getCustomFieldConfig("ProductOptionGroup"),this.optionCustomFields=this.getCustomFieldConfig("ProductOption")}ngOnInit(){this.optionGroups$=this.route.snapshot.data.entity.pipe(F(t=>t.optionGroups),ze(t=>{for(let n of t)this.paginationSettings[n.id]={currentPage:1,itemsPerPage:10}})),this.detailForm=new Ci({optionGroups:new pa([])}),super.init()}getOptionGroups(){return this.detailForm.get("optionGroups").controls}getOptions(t){return t.get("options").controls}save(){if(this.detailForm.invalid||this.detailForm.pristine)return;let t=this.dataService.product.getProduct(this.id).mapSingle(n=>n.product);ee(this.entity$,this.languageCode$,t).pipe(lt(1),we(([{optionGroups:n},i,r])=>{let m=[],_=[];for(let x of this.getOptionGroups()){if(x.dirty){let I=n.find(S=>S.id===x.value.id);if(I){let S=this.getUpdatedOptionGroup(I,x,i);m.push(this.dataService.product.updateProductOptionGroup(S))}}for(let I of this.getOptions(x))if(I.dirty){let S=n.find(L=>L.id===x.value.id)?.options.find(L=>L.id===I.value.id);if(S){let L=this.getUpdatedOption(S,I,i);_.push(L)}}}return _.length&&m.push(this.productDetailService.updateProductOptions(_,this.autoUpdateVariantNames,r,i)),bt(m)})).subscribe(()=>{this.detailForm.markAsPristine(),this.changeDetector.markForCheck(),this.notificationService.success("common.notify-update-success",{entity:"ProductOptionGroup"})},n=>{this.notificationService.error("common.notify-update-error",{entity:"ProductOptionGroup"})})}getUpdatedOptionGroup(t,n,i){return at({translatable:t,updatedFields:n.value,customFieldConfig:this.optionGroupCustomFields,languageCode:i,defaultTranslation:{languageCode:i,name:t.name||""}})}getUpdatedOption(t,n,i){return at({translatable:t,updatedFields:n.value,customFieldConfig:this.optionCustomFields,languageCode:i,defaultTranslation:{languageCode:i,name:t.name||""}})}setFormValues(t,n){let i=this.detailForm.get("optionGroups");for(let r of t.optionGroups){let m=ue(r,n),_=this.setOptionGroupForm(r,i,m);this.setCustomFieldsForm(this.optionGroupCustomFields,_,r,m);let x=_.get("options");x||(x=this.formBuilder.array([]),_.addControl("options",x));for(let I of r.options){let S=ue(I,n),L=this.setOptionForm(I,x,S);this.setCustomFieldsForm(this.optionCustomFields,L,I,S)}}}setCustomFieldsForm(t,n,i,r){if(t.length){let m=n.get(["customFields"]);m||(m=this.formBuilder.group(t.reduce((_,x)=>fe(X({},_),{[x.name]:""}),{})),n.addControl("customFields",m)),this.setCustomFieldFormValues(t,m,i,r)}}setOptionGroupForm(t,n,i){let r={id:t.id,createdAt:t.createdAt,updatedAt:t.updatedAt,code:t.code,name:i?.name??""},m=n.controls.find(_=>_.value.id===t.id);return m?(m.get("id")?.setValue(r.id),m.get("code")?.setValue(r.code),m.get("name")?.setValue(r.name),m.get("createdAt")?.setValue(r.createdAt),m.get("updatedAt")?.setValue(r.updatedAt)):(m=this.formBuilder.group(r),n.push(m)),m}setOptionForm(t,n,i){let r={id:t.id,createdAt:t.createdAt,updatedAt:t.updatedAt,code:t.code,name:i?.name??""},m=n.controls.find(_=>_.value.id===t.id);return m?(m.get("id")?.setValue(r.id),m.get("code")?.setValue(r.code),m.get("name")?.setValue(r.name),m.get("createdAt")?.setValue(r.createdAt),m.get("updatedAt")?.setValue(r.updatedAt)):(m=this.formBuilder.group(r),n.push(m)),m}static{this.\u0275fac=function(n){return new(n||e)(P(xt),P(dt),P(Xo),P(k),P(oa),P(oi),P(un),P(pe),P(Y))}}static{this.\u0275cmp=E({type:e,selectors:[["vdr-product-options-editor"]],standalone:!1,features:[ce],decls:24,vars:17,consts:[[3,"languageCodeChange","availableLanguageCodes","currentLanguageCode"],[1,"flex","center"],[1,"mr-2"],["clrCheckbox","","type","checkbox","id","auto-update",3,"ngModelChange","ngModel"],["class","btn btn-primary",3,"disabled","click",4,"vdrIfPermissions"],["class","form",3,"formGroup",4,"ngIf"],[1,"btn","btn-primary",3,"click","disabled"],[1,"form",3,"formGroup"],["formGroupName","optionGroups"],[3,"formArrayName","title",4,"ngFor","ngForOf"],[3,"formArrayName","title"],[3,"entity"],[1,"form-grid"],["for","name",3,"label"],["type","text","formControlName","name",3,"id","readonly"],["for","code",3,"label"],["type","text","formControlName","code",3,"id","readonly"],["formGroupName","customFields",4,"ngIf"],["id","edit-options-list",3,"items","trackByPath","itemsPerPage","currentPage","totalItems","pageChange","itemsPerPageChange",4,"ngIf"],["formGroupName","customFields"],["entityName","ProductOptionGroup",3,"customFields","customFieldsFormGroup","readonly"],["id","edit-options-list",3,"pageChange","itemsPerPageChange","items","trackByPath","itemsPerPage","currentPage","totalItems"],["id","id",3,"heading","hiddenByDefault"],["id","created-at",3,"heading","hiddenByDefault"],["id","updated-at",3,"heading","hiddenByDefault"],["id","name",3,"heading","optional"],["id","code",3,"heading","optional"],["id","custom-fields",3,"heading","hiddenByDefault"],["type","text",3,"formControl","readonly"],["type","text",3,"formControl"],["entityName","ProductOption",3,"customFields","compact","customFieldsFormGroup","readonly"]],template:function(n,i){n&1&&(c(0,"vdr-page-header"),h(1,"vdr-page-title"),c(2,"vdr-page-header-description"),f(3),s(4,"translate"),p()(),c(5,"vdr-page-body")(6,"vdr-page-block")(7,"vdr-action-bar")(8,"vdr-ab-left")(9,"vdr-language-selector",0),s(10,"async"),s(11,"async"),C("languageCodeChange",function(m){return i.setLanguage(m)}),p()(),c(12,"vdr-ab-right")(13,"div",1)(14,"div",2)(15,"clr-checkbox-wrapper")(16,"input",3),Le("ngModelChange",function(m){return Ne(i.autoUpdateVariantNames,m)||(i.autoUpdateVariantNames=m),m}),p(),c(17,"label"),f(18),s(19,"translate"),p()()(),g(20,Al,3,4,"button",4),p()()()(),c(21,"vdr-page-block"),g(22,ql,3,2,"form",5),s(23,"async"),p()()),n&2&&(o(3),T(d(4,7,"catalog.page-description-options-editor")),o(6),a("availableLanguageCodes",d(10,9,i.availableLanguages$))("currentLanguageCode",d(11,11,i.languageCode$)),o(7),Me("ngModel",i.autoUpdateVariantNames),o(2),T(d(19,13,"catalog.auto-update-product-variant-name")),o(2),a("vdrIfPermissions",i.updatePermission),o(2),a("ngIf",d(23,15,i.optionGroups$)))},dependencies:[De,ye,tt,$,A,mt,ie,Ue,Z,ve,et,Pt,Ce,be,Ut,bi,Ve,Ee,Oe,me,K,ke,xe,ut,ot,qe,Ua,$a,La,Na,de,Dt,gt,G,R,je,it],styles:[`.option-group-header[_ngcontent-%COMP%]{display:flex;align-items:baseline}
|
|
2
|
-
/*# sourceMappingURL=product-options-editor.component-TKPTWXC4.css.map */`],changeDetection:0})}}return e})();var yr=se(
|
|
3
|
-
`)}function Ql(e,l){if(e&1){let t=D();c(0,"button",7),C("click",function(){b(t);let i=u();return y(i.cancel())}),f(1),s(2,"translate"),p(),c(3,"button",8),C("click",function(){b(t);let i=u();return y(i.confirm())}),f(4),s(5,"translate"),p()}if(e&2){let t=u();o(),T(d(2,3,"common.cancel")),o(2),a("disabled",t.form.invalid),o(),v(" ",d(5,5,"common.confirm")," ")}}var $n=(()=>{class e{constructor(t){this.formBuilder=t,this.form=this.formBuilder.group({name:["",Qe.required],code:["",Qe.required]})}updateCode(){let t=this.form.get("name"),n=this.form.get("code");t&&n&&n.pristine&&n.setValue((0,_r.normalizeString)(`${t.value}`,"-"))}confirm(){let{name:t,code:n}=this.form.value;!t||!n||this.resolveWith({code:n,options:[],translations:[{languageCode:this.languageCode,name:t}]})}cancel(){this.resolveWith()}static{this.\u0275fac=function(n){return new(n||e)(P(
|
|
4
|
-
`)}function Kl(e,l){if(e&1&&(c(0,"vdr-form-field",7),h(1,"ng-select",12),p()),e&2){let t=l.$implicit;a("label",t.name),o(),a("items",t.options)("formControlName",t.code)}}function zl(e,l){e&1&&(c(0,"clr-alert",13)(1,"clr-alert-item")(2,"span",14),f(3),s(4,"translate"),p()()()),e&2&&(a("clrAlertClosable",!1),o(3),v(" ",d(4,2,"catalog.cannot-create-variants-without-options")," "))}function Zl(e,l){if(e&1&&(c(0,"div",15)(1,"clr-alert",16)(2,"clr-alert-item")(3,"span",14),f(4),s(5,"translate"),p()()()()),e&2){let t=u();o(),a("clrAlertClosable",!1),o(3),Vo(" ",d(5,4,"catalog.product-variant-exists"),": ",t.existingVariant.name," (",t.existingVariant.sku,") ")}}function Jl(e,l){if(e&1){let t=D();c(0,"button",17),C("click",function(){b(t);let i=u();return y(i.cancel())}),f(1),s(2,"translate"),p(),c(3,"button",18),C("click",function(){b(t);let i=u();return y(i.confirm())}),f(4),s(5,"translate"),p()}if(e&2){let t=u();o(),T(d(2,3,"common.cancel")),o(2),a("disabled",t.form.invalid||t.existingVariant||t.product.optionGroups.length===0),o(),v(" ",d(5,5,"common.confirm")," ")}}var jn=(()=>{class e{constructor(t){this.formBuilder=t,this.form=this.formBuilder.group({name:["",Qe.required],sku:[""],price:[""],options:this.formBuilder.record({})})}ngOnInit(){this.currencyCode=this.product.variants[0]?.currencyCode;for(let n of this.product.optionGroups)this.form.get("options").addControl(n.code,new vt("",Qe.required));this.form.get("options").valueChanges.subscribe(n=>{let i=this.form.get("name");if(!Object.values(n).every(_=>_==null)&&n&&i&&!i.dirty){let _=Object.entries(n).map(([x,I])=>this.product.optionGroups.find(S=>S.code===x)?.options.find(S=>S.id===I)?.name).join(" ");i.setValue(`${this.product.name} ${_}`)}Object.values(n).every(_=>_!=null)&&(this.existingVariant=this.product.variants.find(_=>Object.entries(n).every(([x,I])=>_.options.find(S=>S.groupId===this.getGroupIdFromCode(x))?.id===I)))})}confirm(){let{name:t,sku:n,options:i,price:r}=this.form.value;if(!t||!i||r==null)return;let m=Object.values(i).filter(hr.notNullOrUndefined);this.resolveWith({productId:this.product.id,sku:n||"",price:Number(r),optionIds:m,translations:[{languageCode:this.product.languageCode,name:t}]})}cancel(){this.resolveWith()}getGroupCodeFromId(t){return this.product.optionGroups.find(n=>n.id===t)?.code??""}getGroupIdFromCode(t){return this.product.optionGroups.find(n=>n.code===t)?.id??""}static{this.\u0275fac=function(n){return new(n||e)(P(
|
|
5
|
-
/*# sourceMappingURL=option-value-input.component-EIW2EGWX.css.map */`]})}}return e})();function os(e,l){if(e&1){let t=D();c(0,"div",19)(1,"vdr-form-field",20),s(2,"translate"),c(3,"input",21),Le("ngModelChange",function(i){let r=b(t).$implicit;return Ne(r.name,i)||(r.name=i),y(i)}),p()(),c(4,"vdr-form-field",22),s(5,"translate"),c(6,"vdr-option-value-input",23,0),C("add",function(i){let r=b(t).index,m=u();return y(m.addOption(r,i.name))})("remove",function(i){let r=b(t).index,m=u();return y(m.removeOption(r,i))}),p()(),c(8,"div")(9,"button",24),C("click",function(){let i=b(t).$implicit,r=u();return y(r.removeOptionGroup(i))}),h(10,"clr-icon",25),p()()()}if(e&2){let t=l.$implicit;o(),a("label",d(2,7,"catalog.option")),o(2),Me("ngModel",t.name),a("readonly",!t.isNew),o(),a("label",d(5,9,"catalog.option-values")),o(2),a("options",t.values)("groupName",t.name)("disabled",t.name==="")}}function as(e,l){if(e&1&&f(0),e&2){let t=l.item;v(" ",t.id," ")}}function rs(e,l){if(e&1&&(f(0),s(1,"localeDate")),e&2){let t=l.item;v(" ",O(1,1,t.createdAt,"short")," ")}}function ls(e,l){if(e&1&&(f(0),s(1,"localeDate")),e&2){let t=l.item;v(" ",O(1,1,t.updatedAt,"short")," ")}}function ss(e,l){if(e&1&&f(0),e&2){let t=l.item;v(" ",t.name," ")}}function cs(e,l){if(e&1&&f(0),e&2){let t=l.item;v(" ",t.sku," ")}}function ps(e,l){if(e&1&&(c(0,"vdr-chip",28),f(1),p()),e&2){let t=l.ngIf,n=u(2).$implicit;a("colorFrom",n.code),o(),T(t.name)}}function ds(e,l){if(e&1){let t=D();c(0,"div",29)(1,"ng-select",30),C("change",function(i){b(t);let r=u().item,m=u().$implicit,_=u();return y(_.setOptionToAddToVariant(r.id,m.id,i==null?null:i.id))}),p(),c(2,"button",31),C("click",function(){b(t);let i=u().item,r=u(2);return y(r.addOptionToVariant(i))}),h(3,"clr-icon",32),p()()}if(e&2){let t=u().item,n=u().$implicit,i=u();o(),a("items",n.options),o(),w("primary",!!(i.optionsToAddToVariant[t.id]!=null&&i.optionsToAddToVariant[t.id][n.id])),a("disabled",!(i.optionsToAddToVariant[t.id]!=null&&i.optionsToAddToVariant[t.id][n.id]))}}function ms(e,l){if(e&1&&g(0,ps,2,2,"vdr-chip",27)(1,ds,4,4,"ng-template",null,1,Q),e&2){let t=l.item,n=U(2),i=u().$implicit,r=u();a("ngIf",r.getOption(t,i.id))("ngIfElse",n)}}function us(e,l){if(e&1&&(c(0,"vdr-dt2-column",26),g(1,ms,3,2,"ng-template"),p()),e&2){let t=l.$implicit;a("heading",t.name)("id",t.code)}}function gs(e,l){if(e&1&&(f(0),s(1,"localeCurrency")),e&2){let t=l.item;v(" ",O(1,1,t.price,t.currencyCode)," ")}}function _s(e,l){if(e&1&&(f(0),s(1,"localeCurrency")),e&2){let t=l.item;v(" ",O(1,1,t.priceWithTax,t.currencyCode)," ")}}function fs(e,l){if(e&1){let t=D();c(0,"button",33),C("click",function(){let i=b(t).item,r=u();return y(r.deleteVariant(i))}),h(1,"clr-icon",34),p()}}var br=class{constructor(l){for(let t of Object.keys(l))this[t]=l[t]}},Wn=(()=>{class e{constructor(t,n,i,r,m,_){this.route=t,this.dataService=n,this.productDetailService=i,this.notificationService=r,this.modalService=m,this.changeDetector=_,this.formValueChanged=!1,this.optionsChanged=!1,this.itemsPerPage=100,this.currentPage=1,this.searchTermControl=new vt(""),this.selectionManager=new Ia({multiSelect:!0,itemsAreEqual:(x,I)=>x.id===I.id,additiveMode:!0}),this.optionsToAddToVariant={},this.refresh$=new ft}ngOnInit(){this.languageCode=this.route.snapshot.paramMap.get("lang")||na(),this.dataService.settings.getActiveChannel().single$.subscribe(n=>{this.currencyCode=n.activeChannel.defaultCurrencyCode});let t=this.refresh$.pipe(B(()=>this.dataService.product.getProductVariantsOptions(this.route.parent?.snapshot.paramMap.get("id")).mapSingle(n=>n.product)),st(this.route.snapshot.data.product));this.variants$=t.pipe(B(n=>this.searchTermControl.valueChanges.pipe(st(""),F(i=>i?n.variants.filter(r=>r.name.toLowerCase().includes(i.toLowerCase())):n.variants)))),this.optionGroups$=t.pipe(F(n=>n.optionGroups)),this.totalItems$=this.variants$.pipe(F(n=>n.length)),t.subscribe(n=>{this.product=n;let i=n.variants.map(m=>m.options.map(_=>_.id)).flat(),r=n.variants.map(m=>m.options.map(_=>_.groupId)).flat();this.optionGroups=n.optionGroups.map(m=>({id:m.id,isNew:!1,name:m.name,locked:r.includes(m.id),values:m.options.map(_=>({id:_.id,name:_.name,locked:i.includes(_.id)}))}))})}setItemsPerPage(t){this.itemsPerPage=t,this.currentPage=1}setPageNumber(t){this.currentPage=t}onFormChanged(t){this.formValueChanged=!0,t.enabled=!0}canDeactivate(){return!this.formValueChanged}addOptionGroup(){this.modalService.fromComponent($n,{locals:{languageCode:this.languageCode}}).pipe(B(t=>t?this.dataService.product.createProductOptionGroups(t).pipe(B(({createProductOptionGroup:n})=>this.dataService.product.addOptionGroupToProduct({optionGroupId:n.id,productId:this.product.id}))):le)).subscribe(t=>{this.notificationService.success("common.notify-create-success",{entity:"ProductOptionGroup"}),this.refresh$.next(),this.changeDetector.markForCheck()})}removeOptionGroup(t){let n=t.id,i=this.product.variants.filter(r=>r.options.map(m=>m.groupId).includes(n)).length;this.modalService.dialog({title:"catalog.confirm-delete-product-option-group",body:i?"catalog.confirm-delete-product-option-group-body":"",translationVars:{name:t.name,count:i},buttons:[{type:"secondary",label:"common.cancel"},{type:"danger",label:"common.delete",returnValue:!0}]}).pipe(B(r=>r?this.dataService.product.removeOptionGroupFromProduct({optionGroupId:n,productId:this.product.id,force:!0}):le)).subscribe(({removeOptionGroupFromProduct:r})=>{r.__typename==="Product"?(this.notificationService.success("common.notify-delete-success",{entity:"ProductOptionGroup"}),this.refresh$.next()):r.__typename==="ProductOptionInUseError"&&this.notificationService.error(r.message??"")})}addOption(t,n){let i=this.optionGroups[t];i&&i.id&&this.dataService.product.addOptionToGroup({productOptionGroupId:i.id,code:(0,yr.normalizeString)(n,"-"),translations:[{name:n,languageCode:this.languageCode}]}).subscribe(({createProductOption:r})=>{this.notificationService.success("common.notify-create-success",{entity:"ProductOption"}),this.refresh$.next()})}removeOption(t,{id:n,name:i}){let r=this.optionGroups[t];r&&this.modalService.dialog({title:"catalog.confirm-delete-product-option",translationVars:{name:i},buttons:[{type:"secondary",label:"common.cancel"},{type:"danger",label:"common.delete",returnValue:!0}]}).pipe(B(m=>m?this.dataService.product.deleteProductOption(n):le)).subscribe(({deleteProductOption:m})=>{m.result===Xe.DELETED?(this.notificationService.success("common.notify-delete-success",{entity:"ProductOption"}),r.values=r.values.filter(_=>_.id!==n),this.refresh$.next()):this.notificationService.error(m.message??"")})}setOptionToAddToVariant(t,n,i){this.optionsToAddToVariant[t]||(this.optionsToAddToVariant[t]={}),i?this.optionsToAddToVariant[t][n]=i:delete this.optionsToAddToVariant[t][n]}addOptionToVariant(t){let n=[...t.options.map(i=>i.id),...Object.values(this.optionsToAddToVariant[t.id])];this.dataService.product.updateProductVariants([{id:t.id,optionIds:(0,xr.unique)(n)}]).subscribe(({updateProductVariants:i})=>{this.refresh$.next()})}deleteVariant(t){this.modalService.dialog({title:"catalog.confirm-delete-product-variant",translationVars:{name:t.name},buttons:[{type:"secondary",label:"common.cancel"},{type:"danger",label:"common.delete",returnValue:!0}]}).pipe(B(n=>n?this.productDetailService.deleteProductVariant(t.id,this.product.id):le)).subscribe(()=>{this.notificationService.success("common.notify-delete-success",{entity:"ProductVariant"}),this.refresh$.next()},n=>{this.notificationService.error("common.notify-delete-error",{entity:"ProductVariant"})})}createNewVariant(){this.modalService.fromComponent(jn,{locals:{product:this.product}}).pipe(B(t=>t?this.dataService.product.createProductVariants([t]):le)).subscribe(t=>{this.notificationService.success("common.notify-create-success",{entity:"ProductVariant"}),this.refresh$.next()})}getOption(t,n){return t.options.find(i=>i.groupId===n)}static{this.\u0275fac=function(n){return new(n||e)(P(xt),P(k),P(oi),P(Y),P(te),P(pe))}}static{this.\u0275cmp=E({type:e,selectors:[["vdr-product-variants-editor"]],standalone:!1,decls:44,vars:55,consts:[["optionValueInputComponent",""],["selectOption",""],["class","option-groups",4,"ngFor","ngForOf"],[1,"button","mt-1",3,"click"],["shape","plus"],[3,"paddingX"],[1,"mx-3"],[1,"button",3,"click"],["id","manage-product-variant-list",3,"pageChange","itemsPerPageChange","items","itemsPerPage","totalItems","currentPage"],[3,"searchTermControl","searchTermPlaceholder"],["id","id",3,"heading","hiddenByDefault"],["id","created-at",3,"heading","hiddenByDefault"],["id","updated-at",3,"heading","hiddenByDefault"],["id","name",3,"heading","optional"],["id","sku",3,"heading","optional"],[3,"heading","id",4,"ngFor","ngForOf"],["id","price",3,"heading","hiddenByDefault"],["id","price-with-tax",3,"heading","hiddenByDefault"],["id","delete",3,"heading","optional"],[1,"option-groups"],[3,"label"],["clrInput","","name","name",3,"ngModelChange","ngModel","readonly"],[1,"flex-spacer",3,"label"],[3,"add","remove","options","groupName","disabled"],[1,"button-small","mt-4",3,"click"],["shape","trash"],[3,"heading","id"],[3,"colorFrom",4,"ngIf","ngIfElse"],[3,"colorFrom"],[1,"flex","center"],["bindLabel","name","bindValue","id","appendTo","body",3,"change","items"],[1,"button-small","ml-1",3,"click","disabled"],["shape","floppy"],[1,"button-small",3,"click"],["shape","trash is-danger"]],template:function(n,i){n&1&&(c(0,"vdr-page-block")(1,"vdr-card"),g(2,os,11,11,"div",2),c(3,"button",3),C("click",function(){return i.addOptionGroup()}),h(4,"clr-icon",4),f(5),s(6,"translate"),p()(),c(7,"vdr-card",5)(8,"div",6)(9,"button",7),C("click",function(){return i.createNewVariant()}),h(10,"clr-icon",4),f(11),s(12,"translate"),p()(),c(13,"vdr-data-table-2",8),s(14,"async"),s(15,"async"),C("pageChange",function(m){return i.setPageNumber(m)})("itemsPerPageChange",function(m){return i.setItemsPerPage(m)}),h(16,"vdr-dt2-search",9),s(17,"translate"),c(18,"vdr-dt2-column",10),s(19,"translate"),g(20,as,1,1,"ng-template"),p(),c(21,"vdr-dt2-column",11),s(22,"translate"),g(23,rs,2,4,"ng-template"),p(),c(24,"vdr-dt2-column",12),s(25,"translate"),g(26,ls,2,4,"ng-template"),p(),c(27,"vdr-dt2-column",13),s(28,"translate"),g(29,ss,1,1,"ng-template"),p(),c(30,"vdr-dt2-column",14),s(31,"translate"),g(32,cs,1,1,"ng-template"),p(),g(33,us,2,2,"vdr-dt2-column",15),s(34,"async"),c(35,"vdr-dt2-column",16),s(36,"translate"),g(37,gs,2,4,"ng-template"),p(),c(38,"vdr-dt2-column",17),s(39,"translate"),g(40,_s,2,4,"ng-template"),p(),c(41,"vdr-dt2-column",18),s(42,"translate"),g(43,fs,2,0,"ng-template"),p()()()()),n&2&&(o(2),a("ngForOf",i.optionGroups),o(3),v(" ",d(6,27,"catalog.create-product-option-group")," "),o(2),a("paddingX",!1),o(4),v(" ",d(12,29,"catalog.create-product-variant")," "),o(2),a("items",d(14,31,i.variants$))("itemsPerPage",i.itemsPerPage)("totalItems",d(15,33,i.totalItems$))("currentPage",i.currentPage),o(3),a("searchTermControl",i.searchTermControl)("searchTermPlaceholder",d(17,35,"catalog.filter-by-name")),o(2),a("heading",d(19,37,"common.id"))("hiddenByDefault",!0),o(3),a("heading",d(22,39,"common.created-at"))("hiddenByDefault",!0),o(3),a("heading",d(25,41,"common.updated-at"))("hiddenByDefault",!0),o(3),a("heading",d(28,43,"catalog.name"))("optional",!1),o(3),a("heading",d(31,45,"catalog.sku"))("optional",!1),o(3),a("ngForOf",d(34,47,i.optionGroups$)),o(2),a("heading",d(36,49,"common.price"))("hiddenByDefault",!0),o(3),a("heading",d(39,51,"common.price-with-tax"))("hiddenByDefault",!0),o(3),a("heading",d(42,53,"common.delete"))("optional",!1))},dependencies:[J,$t,$,A,ie,Z,et,Ii,Se,me,K,ot,qe,nt,de,gt,wi,G,R,it,Tt],styles:[`.option-groups[_ngcontent-%COMP%]{display:flex;width:100%;gap:var(--space-unit)}.values[_ngcontent-%COMP%]{flex:1;margin:0 6px}.variants-preview[_ngcontent-%COMP%] tr.disabled[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{background-color:var(--color-component-bg-100);color:var(--color-grey-400)}
|
|
6
|
-
/*# sourceMappingURL=product-variants-editor.component-G3OD5Q3Y.css.map */`]})}}return e})();var Pr=(()=>{class e extends Ka{constructor(t,n){super(t,{__typename:"Product",id:"",createdAt:"",updatedAt:"",name:"",languageCode:"",optionGroups:[],variants:[]},i=>n.product.getProductVariantsOptions(i).mapStream(r=>r.product))}static{this.\u0275fac=function(n){return new(n||e)(
|
|
1
|
+
import{a as oi}from"./chunk-GO4JUE66.js";import{$ as Io,$c as sn,$d as Pi,$e as An,$f as nt,$g as ni,A as vo,Aa as Je,Ab as Mo,Ae as It,Af as Dt,Ag as Wa,B as Fe,Ba as U,Bb as No,Bd as vt,Bf as zt,C as Xi,Ca as f,Cb as Lo,Cc as Yo,Cd as Bt,Ce as ga,Cf as Zt,Cg as qa,Da as T,Db as an,Dd as et,Df as Fa,Ea as v,Eb as Uo,Ed as mt,Ef as gt,F as Ot,Fa as Nt,Fb as $o,Fd as Ut,Fe as Ii,Ff as qe,G as Co,Ga as Vo,Gb as Go,Ge as K,Gf as Sa,H as st,Ha as Le,Hb as jo,Hd as Pt,He as me,Hf as Ea,I as B,Ia as Ue,Ib as Wo,Id as Ce,If as Oa,J as bo,Ja as $e,Jb as qo,Jc as Rl,Jd as $t,Je as _a,Jg as Be,K as Vt,Ka as tn,Kb as Ho,Kc as rn,Kd as bi,Ke as Ti,Kf as Jt,Kg as ki,L as ze,La as W,Lb as Qo,Lc as Ko,Ld as be,Le as it,Lf as bn,Lg as Ha,Ma as j,Mc as zo,Md as cn,Me as Tt,Mf as xe,N as yo,Na as Rt,Nc as Zo,Nd as pn,Nf as ke,O as hi,Oa as nn,Oc as Jo,Od as dn,Oe as Bl,Of as Pe,Og as Qa,P as xo,Pa as ko,Pd as sa,Pf as Ie,Pg as St,Q as Mt,Qa as s,Qd as yi,Qe as fa,Qf as Te,Qg as Ri,R as Po,Ra as d,Rd as mn,Rg as Ya,S as yt,Sa as O,Sc as ln,Sd as ca,Se as ha,Sf as Oi,Sg as Ka,T as b,Ta as Ro,Td as pa,Te as va,Tf as Vi,Tg as za,U as y,Ua as Q,Ud as je,Uf as Va,Ug as ii,Va as pe,Vd as un,Ve as Ca,Vf as ka,W as ht,Wa as Lt,We as ba,Wf as Xt,Wg as Bi,X as en,Xa as Bo,Xd as da,Xe as Cn,Xf as ei,Xg as xn,Ya as $,Yd as gn,Yg as Za,Z as vi,Za as A,Zd as xi,Zf as He,Zg as Pn,_ as o,_d as ma,_e as Ht,_f as ti,_g as In,a as X,aa as P,ae as J,af as ya,ag as Ra,ah as ue,b as fe,bg as Ba,bh as _t,ca as E,cb as on,cd as Xo,ce as Ee,cg as Aa,ch as at,d as kl,da as To,db as G,dd as k,de as tt,dg as wa,e as se,ed as ea,ee as ye,eg as Ma,f as go,fa as Do,fd as xt,fe as ua,ff as xa,fg as ot,g as ft,ga as ce,gd as ta,ge as _n,gh as Tn,h as Ae,ha as g,hd as dt,he as Gt,hf as Qt,i as le,ia as Bn,id as Se,if as Ve,j as Ui,ja as a,jb as Ao,jd as ia,jg as Re,k as he,ka as Fo,l as _o,la as w,ld as R,lf as Yt,m as Zi,ma as c,mf as Di,n as F,na as p,nb as ne,nf as Pa,ng as de,o as ee,oa as h,od as na,of as Ia,og as Na,p as Ne,pa as M,pd as oa,pf as Fi,pg as La,q as Ji,qa as N,qd as aa,qe as fn,qf as Kt,qg as Ua,r as bt,ra as kt,rb as Xe,re as hn,rf as Si,sa as D,sb as Gi,sd as ra,se as vn,sg as $a,t as fo,ta as C,td as Ge,te as Y,tf as Ei,tg as wn,u as $i,ua as u,ub as wo,ud as ie,ue as We,ug as yn,v as ho,va as So,vd as Qe,ve as Oe,vf as Ta,vg as Ft,wa as Eo,wb as mi,wd as Z,we as te,wf as Da,x as rt,xa as Oo,xd as ve,xe as jt,y as lt,ya as pt,yd as la,ye as Wt,yg as Ga,za as Ze,zb as V,zd as Ci,ze as qt,zf as ut,zg as ja}from"./chunk-CSQXP3A7.js";var Mn=kl(H=>{"use strict";Object.defineProperty(H,"__esModule",{value:!0});H.StockMovementType=H.SortOrder=H.Permission=H.OrderType=H.MetricType=H.MetricInterval=H.LogicalOperator=H.LanguageCode=H.JobState=H.HistoryEntryType=H.GlobalFlag=H.ErrorCode=H.DeletionResult=H.CurrencyCode=H.AssetType=H.AdjustmentType=void 0;var Ja=function(e){return e.DISTRIBUTED_ORDER_PROMOTION="DISTRIBUTED_ORDER_PROMOTION",e.OTHER="OTHER",e.PROMOTION="PROMOTION",e}(Ja||(H.AdjustmentType=Ja={})),Xa=function(e){return e.BINARY="BINARY",e.IMAGE="IMAGE",e.VIDEO="VIDEO",e}(Xa||(H.AssetType=Xa={})),er=function(e){return e.AED="AED",e.AFN="AFN",e.ALL="ALL",e.AMD="AMD",e.ANG="ANG",e.AOA="AOA",e.ARS="ARS",e.AUD="AUD",e.AWG="AWG",e.AZN="AZN",e.BAM="BAM",e.BBD="BBD",e.BDT="BDT",e.BGN="BGN",e.BHD="BHD",e.BIF="BIF",e.BMD="BMD",e.BND="BND",e.BOB="BOB",e.BRL="BRL",e.BSD="BSD",e.BTN="BTN",e.BWP="BWP",e.BYN="BYN",e.BZD="BZD",e.CAD="CAD",e.CDF="CDF",e.CHF="CHF",e.CLP="CLP",e.CNY="CNY",e.COP="COP",e.CRC="CRC",e.CUC="CUC",e.CUP="CUP",e.CVE="CVE",e.CZK="CZK",e.DJF="DJF",e.DKK="DKK",e.DOP="DOP",e.DZD="DZD",e.EGP="EGP",e.ERN="ERN",e.ETB="ETB",e.EUR="EUR",e.FJD="FJD",e.FKP="FKP",e.GBP="GBP",e.GEL="GEL",e.GHS="GHS",e.GIP="GIP",e.GMD="GMD",e.GNF="GNF",e.GTQ="GTQ",e.GYD="GYD",e.HKD="HKD",e.HNL="HNL",e.HRK="HRK",e.HTG="HTG",e.HUF="HUF",e.IDR="IDR",e.ILS="ILS",e.INR="INR",e.IQD="IQD",e.IRR="IRR",e.ISK="ISK",e.JMD="JMD",e.JOD="JOD",e.JPY="JPY",e.KES="KES",e.KGS="KGS",e.KHR="KHR",e.KMF="KMF",e.KPW="KPW",e.KRW="KRW",e.KWD="KWD",e.KYD="KYD",e.KZT="KZT",e.LAK="LAK",e.LBP="LBP",e.LKR="LKR",e.LRD="LRD",e.LSL="LSL",e.LYD="LYD",e.MAD="MAD",e.MDL="MDL",e.MGA="MGA",e.MKD="MKD",e.MMK="MMK",e.MNT="MNT",e.MOP="MOP",e.MRU="MRU",e.MUR="MUR",e.MVR="MVR",e.MWK="MWK",e.MXN="MXN",e.MYR="MYR",e.MZN="MZN",e.NAD="NAD",e.NGN="NGN",e.NIO="NIO",e.NOK="NOK",e.NPR="NPR",e.NZD="NZD",e.OMR="OMR",e.PAB="PAB",e.PEN="PEN",e.PGK="PGK",e.PHP="PHP",e.PKR="PKR",e.PLN="PLN",e.PYG="PYG",e.QAR="QAR",e.RON="RON",e.RSD="RSD",e.RUB="RUB",e.RWF="RWF",e.SAR="SAR",e.SBD="SBD",e.SCR="SCR",e.SDG="SDG",e.SEK="SEK",e.SGD="SGD",e.SHP="SHP",e.SLL="SLL",e.SOS="SOS",e.SRD="SRD",e.SSP="SSP",e.STN="STN",e.SVC="SVC",e.SYP="SYP",e.SZL="SZL",e.THB="THB",e.TJS="TJS",e.TMT="TMT",e.TND="TND",e.TOP="TOP",e.TRY="TRY",e.TTD="TTD",e.TWD="TWD",e.TZS="TZS",e.UAH="UAH",e.UGX="UGX",e.USD="USD",e.UYU="UYU",e.UZS="UZS",e.VES="VES",e.VND="VND",e.VUV="VUV",e.WST="WST",e.XAF="XAF",e.XCD="XCD",e.XOF="XOF",e.XPF="XPF",e.YER="YER",e.ZAR="ZAR",e.ZMW="ZMW",e.ZWL="ZWL",e}(er||(H.CurrencyCode=er={})),tr=function(e){return e.DELETED="DELETED",e.NOT_DELETED="NOT_DELETED",e}(tr||(H.DeletionResult=tr={})),ir=function(e){return e.ALREADY_REFUNDED_ERROR="ALREADY_REFUNDED_ERROR",e.CANCEL_ACTIVE_ORDER_ERROR="CANCEL_ACTIVE_ORDER_ERROR",e.CANCEL_PAYMENT_ERROR="CANCEL_PAYMENT_ERROR",e.CHANNEL_DEFAULT_LANGUAGE_ERROR="CHANNEL_DEFAULT_LANGUAGE_ERROR",e.COUPON_CODE_EXPIRED_ERROR="COUPON_CODE_EXPIRED_ERROR",e.COUPON_CODE_INVALID_ERROR="COUPON_CODE_INVALID_ERROR",e.COUPON_CODE_LIMIT_ERROR="COUPON_CODE_LIMIT_ERROR",e.CREATE_FULFILLMENT_ERROR="CREATE_FULFILLMENT_ERROR",e.DUPLICATE_ENTITY_ERROR="DUPLICATE_ENTITY_ERROR",e.EMAIL_ADDRESS_CONFLICT_ERROR="EMAIL_ADDRESS_CONFLICT_ERROR",e.EMPTY_ORDER_LINE_SELECTION_ERROR="EMPTY_ORDER_LINE_SELECTION_ERROR",e.FACET_IN_USE_ERROR="FACET_IN_USE_ERROR",e.FULFILLMENT_STATE_TRANSITION_ERROR="FULFILLMENT_STATE_TRANSITION_ERROR",e.GUEST_CHECKOUT_ERROR="GUEST_CHECKOUT_ERROR",e.INELIGIBLE_SHIPPING_METHOD_ERROR="INELIGIBLE_SHIPPING_METHOD_ERROR",e.INSUFFICIENT_STOCK_ERROR="INSUFFICIENT_STOCK_ERROR",e.INSUFFICIENT_STOCK_ON_HAND_ERROR="INSUFFICIENT_STOCK_ON_HAND_ERROR",e.INVALID_CREDENTIALS_ERROR="INVALID_CREDENTIALS_ERROR",e.INVALID_FULFILLMENT_HANDLER_ERROR="INVALID_FULFILLMENT_HANDLER_ERROR",e.ITEMS_ALREADY_FULFILLED_ERROR="ITEMS_ALREADY_FULFILLED_ERROR",e.LANGUAGE_NOT_AVAILABLE_ERROR="LANGUAGE_NOT_AVAILABLE_ERROR",e.MANUAL_PAYMENT_STATE_ERROR="MANUAL_PAYMENT_STATE_ERROR",e.MIME_TYPE_ERROR="MIME_TYPE_ERROR",e.MISSING_CONDITIONS_ERROR="MISSING_CONDITIONS_ERROR",e.MULTIPLE_ORDER_ERROR="MULTIPLE_ORDER_ERROR",e.NATIVE_AUTH_STRATEGY_ERROR="NATIVE_AUTH_STRATEGY_ERROR",e.NEGATIVE_QUANTITY_ERROR="NEGATIVE_QUANTITY_ERROR",e.NOTHING_TO_REFUND_ERROR="NOTHING_TO_REFUND_ERROR",e.NO_ACTIVE_ORDER_ERROR="NO_ACTIVE_ORDER_ERROR",e.NO_CHANGES_SPECIFIED_ERROR="NO_CHANGES_SPECIFIED_ERROR",e.ORDER_INTERCEPTOR_ERROR="ORDER_INTERCEPTOR_ERROR",e.ORDER_LIMIT_ERROR="ORDER_LIMIT_ERROR",e.ORDER_MODIFICATION_ERROR="ORDER_MODIFICATION_ERROR",e.ORDER_MODIFICATION_STATE_ERROR="ORDER_MODIFICATION_STATE_ERROR",e.ORDER_STATE_TRANSITION_ERROR="ORDER_STATE_TRANSITION_ERROR",e.PAYMENT_METHOD_MISSING_ERROR="PAYMENT_METHOD_MISSING_ERROR",e.PAYMENT_ORDER_MISMATCH_ERROR="PAYMENT_ORDER_MISMATCH_ERROR",e.PAYMENT_STATE_TRANSITION_ERROR="PAYMENT_STATE_TRANSITION_ERROR",e.PRODUCT_OPTION_IN_USE_ERROR="PRODUCT_OPTION_IN_USE_ERROR",e.QUANTITY_TOO_GREAT_ERROR="QUANTITY_TOO_GREAT_ERROR",e.REFUND_AMOUNT_ERROR="REFUND_AMOUNT_ERROR",e.REFUND_ORDER_STATE_ERROR="REFUND_ORDER_STATE_ERROR",e.REFUND_PAYMENT_ID_MISSING_ERROR="REFUND_PAYMENT_ID_MISSING_ERROR",e.REFUND_STATE_TRANSITION_ERROR="REFUND_STATE_TRANSITION_ERROR",e.SETTLE_PAYMENT_ERROR="SETTLE_PAYMENT_ERROR",e.UNKNOWN_ERROR="UNKNOWN_ERROR",e}(ir||(H.ErrorCode=ir={})),nr=function(e){return e.FALSE="FALSE",e.INHERIT="INHERIT",e.TRUE="TRUE",e}(nr||(H.GlobalFlag=nr={})),or=function(e){return e.CUSTOMER_ADDED_TO_GROUP="CUSTOMER_ADDED_TO_GROUP",e.CUSTOMER_ADDRESS_CREATED="CUSTOMER_ADDRESS_CREATED",e.CUSTOMER_ADDRESS_DELETED="CUSTOMER_ADDRESS_DELETED",e.CUSTOMER_ADDRESS_UPDATED="CUSTOMER_ADDRESS_UPDATED",e.CUSTOMER_DETAIL_UPDATED="CUSTOMER_DETAIL_UPDATED",e.CUSTOMER_EMAIL_UPDATE_REQUESTED="CUSTOMER_EMAIL_UPDATE_REQUESTED",e.CUSTOMER_EMAIL_UPDATE_VERIFIED="CUSTOMER_EMAIL_UPDATE_VERIFIED",e.CUSTOMER_NOTE="CUSTOMER_NOTE",e.CUSTOMER_PASSWORD_RESET_REQUESTED="CUSTOMER_PASSWORD_RESET_REQUESTED",e.CUSTOMER_PASSWORD_RESET_VERIFIED="CUSTOMER_PASSWORD_RESET_VERIFIED",e.CUSTOMER_PASSWORD_UPDATED="CUSTOMER_PASSWORD_UPDATED",e.CUSTOMER_REGISTERED="CUSTOMER_REGISTERED",e.CUSTOMER_REMOVED_FROM_GROUP="CUSTOMER_REMOVED_FROM_GROUP",e.CUSTOMER_VERIFIED="CUSTOMER_VERIFIED",e.ORDER_CANCELLATION="ORDER_CANCELLATION",e.ORDER_COUPON_APPLIED="ORDER_COUPON_APPLIED",e.ORDER_COUPON_REMOVED="ORDER_COUPON_REMOVED",e.ORDER_CUSTOMER_UPDATED="ORDER_CUSTOMER_UPDATED",e.ORDER_FULFILLMENT="ORDER_FULFILLMENT",e.ORDER_FULFILLMENT_TRANSITION="ORDER_FULFILLMENT_TRANSITION",e.ORDER_MODIFIED="ORDER_MODIFIED",e.ORDER_NOTE="ORDER_NOTE",e.ORDER_PAYMENT_TRANSITION="ORDER_PAYMENT_TRANSITION",e.ORDER_REFUND_TRANSITION="ORDER_REFUND_TRANSITION",e.ORDER_STATE_TRANSITION="ORDER_STATE_TRANSITION",e}(or||(H.HistoryEntryType=or={})),ar=function(e){return e.CANCELLED="CANCELLED",e.COMPLETED="COMPLETED",e.FAILED="FAILED",e.PENDING="PENDING",e.RETRYING="RETRYING",e.RUNNING="RUNNING",e}(ar||(H.JobState=ar={})),rr=function(e){return e.af="af",e.ak="ak",e.am="am",e.ar="ar",e.as="as",e.az="az",e.be="be",e.bg="bg",e.bm="bm",e.bn="bn",e.bo="bo",e.br="br",e.bs="bs",e.ca="ca",e.ce="ce",e.co="co",e.cs="cs",e.cu="cu",e.cy="cy",e.da="da",e.de="de",e.de_AT="de_AT",e.de_CH="de_CH",e.dz="dz",e.ee="ee",e.el="el",e.en="en",e.en_AU="en_AU",e.en_CA="en_CA",e.en_GB="en_GB",e.en_US="en_US",e.eo="eo",e.es="es",e.es_ES="es_ES",e.es_MX="es_MX",e.et="et",e.eu="eu",e.fa="fa",e.fa_AF="fa_AF",e.ff="ff",e.fi="fi",e.fo="fo",e.fr="fr",e.fr_CA="fr_CA",e.fr_CH="fr_CH",e.fy="fy",e.ga="ga",e.gd="gd",e.gl="gl",e.gu="gu",e.gv="gv",e.ha="ha",e.he="he",e.hi="hi",e.hr="hr",e.ht="ht",e.hu="hu",e.hy="hy",e.ia="ia",e.id="id",e.ig="ig",e.ii="ii",e.is="is",e.it="it",e.ja="ja",e.jv="jv",e.ka="ka",e.ki="ki",e.kk="kk",e.kl="kl",e.km="km",e.kn="kn",e.ko="ko",e.ks="ks",e.ku="ku",e.kw="kw",e.ky="ky",e.la="la",e.lb="lb",e.lg="lg",e.ln="ln",e.lo="lo",e.lt="lt",e.lu="lu",e.lv="lv",e.mg="mg",e.mi="mi",e.mk="mk",e.ml="ml",e.mn="mn",e.mr="mr",e.ms="ms",e.mt="mt",e.my="my",e.nb="nb",e.nd="nd",e.ne="ne",e.nl="nl",e.nl_BE="nl_BE",e.nn="nn",e.ny="ny",e.om="om",e.or="or",e.os="os",e.pa="pa",e.pl="pl",e.ps="ps",e.pt="pt",e.pt_BR="pt_BR",e.pt_PT="pt_PT",e.qu="qu",e.rm="rm",e.rn="rn",e.ro="ro",e.ro_MD="ro_MD",e.ru="ru",e.rw="rw",e.sa="sa",e.sd="sd",e.se="se",e.sg="sg",e.si="si",e.sk="sk",e.sl="sl",e.sm="sm",e.sn="sn",e.so="so",e.sq="sq",e.sr="sr",e.st="st",e.su="su",e.sv="sv",e.sw="sw",e.sw_CD="sw_CD",e.ta="ta",e.te="te",e.tg="tg",e.th="th",e.ti="ti",e.tk="tk",e.to="to",e.tr="tr",e.tt="tt",e.ug="ug",e.uk="uk",e.ur="ur",e.uz="uz",e.vi="vi",e.vo="vo",e.wo="wo",e.xh="xh",e.yi="yi",e.yo="yo",e.zh="zh",e.zh_Hans="zh_Hans",e.zh_Hant="zh_Hant",e.zu="zu",e}(rr||(H.LanguageCode=rr={})),lr=function(e){return e.AND="AND",e.OR="OR",e}(lr||(H.LogicalOperator=lr={})),sr=function(e){return e.Daily="Daily",e}(sr||(H.MetricInterval=sr={})),cr=function(e){return e.AverageOrderValue="AverageOrderValue",e.OrderCount="OrderCount",e.OrderTotal="OrderTotal",e}(cr||(H.MetricType=cr={})),pr=function(e){return e.Aggregate="Aggregate",e.Regular="Regular",e.Seller="Seller",e}(pr||(H.OrderType=pr={})),dr=function(e){return e.Authenticated="Authenticated",e.CreateAdministrator="CreateAdministrator",e.CreateAsset="CreateAsset",e.CreateCatalog="CreateCatalog",e.CreateChannel="CreateChannel",e.CreateCollection="CreateCollection",e.CreateCountry="CreateCountry",e.CreateCustomer="CreateCustomer",e.CreateCustomerGroup="CreateCustomerGroup",e.CreateFacet="CreateFacet",e.CreateOrder="CreateOrder",e.CreatePaymentMethod="CreatePaymentMethod",e.CreateProduct="CreateProduct",e.CreatePromotion="CreatePromotion",e.CreateSeller="CreateSeller",e.CreateSettings="CreateSettings",e.CreateShippingMethod="CreateShippingMethod",e.CreateStockLocation="CreateStockLocation",e.CreateSystem="CreateSystem",e.CreateTag="CreateTag",e.CreateTaxCategory="CreateTaxCategory",e.CreateTaxRate="CreateTaxRate",e.CreateZone="CreateZone",e.DeleteAdministrator="DeleteAdministrator",e.DeleteAsset="DeleteAsset",e.DeleteCatalog="DeleteCatalog",e.DeleteChannel="DeleteChannel",e.DeleteCollection="DeleteCollection",e.DeleteCountry="DeleteCountry",e.DeleteCustomer="DeleteCustomer",e.DeleteCustomerGroup="DeleteCustomerGroup",e.DeleteFacet="DeleteFacet",e.DeleteOrder="DeleteOrder",e.DeletePaymentMethod="DeletePaymentMethod",e.DeleteProduct="DeleteProduct",e.DeletePromotion="DeletePromotion",e.DeleteSeller="DeleteSeller",e.DeleteSettings="DeleteSettings",e.DeleteShippingMethod="DeleteShippingMethod",e.DeleteStockLocation="DeleteStockLocation",e.DeleteSystem="DeleteSystem",e.DeleteTag="DeleteTag",e.DeleteTaxCategory="DeleteTaxCategory",e.DeleteTaxRate="DeleteTaxRate",e.DeleteZone="DeleteZone",e.Owner="Owner",e.Public="Public",e.ReadAdministrator="ReadAdministrator",e.ReadAsset="ReadAsset",e.ReadCatalog="ReadCatalog",e.ReadChannel="ReadChannel",e.ReadCollection="ReadCollection",e.ReadCountry="ReadCountry",e.ReadCustomer="ReadCustomer",e.ReadCustomerGroup="ReadCustomerGroup",e.ReadFacet="ReadFacet",e.ReadOrder="ReadOrder",e.ReadPaymentMethod="ReadPaymentMethod",e.ReadProduct="ReadProduct",e.ReadPromotion="ReadPromotion",e.ReadSeller="ReadSeller",e.ReadSettings="ReadSettings",e.ReadShippingMethod="ReadShippingMethod",e.ReadStockLocation="ReadStockLocation",e.ReadSystem="ReadSystem",e.ReadTag="ReadTag",e.ReadTaxCategory="ReadTaxCategory",e.ReadTaxRate="ReadTaxRate",e.ReadZone="ReadZone",e.SuperAdmin="SuperAdmin",e.UpdateAdministrator="UpdateAdministrator",e.UpdateAsset="UpdateAsset",e.UpdateCatalog="UpdateCatalog",e.UpdateChannel="UpdateChannel",e.UpdateCollection="UpdateCollection",e.UpdateCountry="UpdateCountry",e.UpdateCustomer="UpdateCustomer",e.UpdateCustomerGroup="UpdateCustomerGroup",e.UpdateFacet="UpdateFacet",e.UpdateGlobalSettings="UpdateGlobalSettings",e.UpdateOrder="UpdateOrder",e.UpdatePaymentMethod="UpdatePaymentMethod",e.UpdateProduct="UpdateProduct",e.UpdatePromotion="UpdatePromotion",e.UpdateSeller="UpdateSeller",e.UpdateSettings="UpdateSettings",e.UpdateShippingMethod="UpdateShippingMethod",e.UpdateStockLocation="UpdateStockLocation",e.UpdateSystem="UpdateSystem",e.UpdateTag="UpdateTag",e.UpdateTaxCategory="UpdateTaxCategory",e.UpdateTaxRate="UpdateTaxRate",e.UpdateZone="UpdateZone",e}(dr||(H.Permission=dr={})),mr=function(e){return e.ASC="ASC",e.DESC="DESC",e}(mr||(H.SortOrder=mr={})),ur=function(e){return e.ADJUSTMENT="ADJUSTMENT",e.ALLOCATION="ALLOCATION",e.CANCELLATION="CANCELLATION",e.RELEASE="RELEASE",e.RETURN="RETURN",e.SALE="SALE",e}(ur||(H.StockMovementType=ur={}))});var Ol=se(Mn());var Ln=se(oi()),gr=se(sn());function Nn(e,l,t){if(!e)return"";let n=e.lastIndexOf(l);if(n===-1)return e;let i=e.substr(0,n),r=e.substr(n).replace(l,t);return i+r}var ai=(()=>{class e{constructor(t){this.dataService=t}getTaxCategories(){return this.dataService.settings.getTaxCategories().mapSingle(t=>t.taxCategories.items).pipe(Ot(1))}createProductWithVariants(t,n,i){let r=this.dataService.product.createProduct(t),m=n.groups.filter(x=>0<x.values.length),_=this.createProductOptionGroups(m,i);return bt(r,_).pipe(Ne(([{createProduct:x},I])=>(I.length?bt(I.map(L=>this.dataService.product.addOptionGroupToProduct({productId:x.id,optionGroupId:L.id}))):he([])).pipe(F(()=>({createProduct:x,optionGroups:I})))),Ne(({createProduct:x,optionGroups:I})=>{let S=n.variants.map(z=>{let re=I.length?z.optionValues.map((_e,we)=>{let Me=I[we].options.find(fi=>fi.name===_e);if(!Me)throw new Error(`Could not find a matching ProductOption "${_e}" when creating variant`);return Me.id}):[];return fe(X({},z),{optionIds:re})}),L=I.map(z=>z.options).reduce((z,re)=>[...z,...re],[]);return this.createProductVariants(x,S,L,i,n.stockLocationId)}))}createProductOptionGroups(t,n){return t.length?bt(t.map(i=>this.dataService.product.createProductOptionGroups({code:(0,Ln.normalizeString)(i.name,"-"),translations:[{languageCode:n,name:i.name}],options:i.values.map(r=>({code:(0,Ln.normalizeString)(r,"-"),translations:[{languageCode:n,name:r}]}))}).pipe(F(r=>r.createProductOptionGroup)))):he([])}createProductVariants(t,n,i,r,m){let _=n.map(x=>{let I=i.length?`${t.name} ${x.optionIds.map(S=>i.find(L=>L.id===S)).filter(gr.notNullOrUndefined).map(S=>S.name).join(" ")}`:t.name;return{productId:t.id,price:x.price,sku:x.sku,translations:[{languageCode:r,name:I}],stockLevels:[{stockLocationId:m,stockOnHand:x.stock}],optionIds:x.optionIds}});return this.dataService.product.createProductVariants(_).pipe(F(({createProductVariants:x})=>({createProductVariants:x,productId:t.id})))}updateProduct(t){let{product:n,languageCode:i,autoUpdate:r,productInput:m,variantsInput:_}=t,x=[],I=_||[];return(r?this.dataService.product.getProductVariantsForProduct({},n.id).mapSingle(({productVariants:L})=>L.items):he([])).pipe(Ne(L=>{if(m){x.push(this.dataService.product.updateProduct(m));let z=ue(n,i)?.name??"",re=ue(m,i)?.name;if(re&&z!==re&&r)for(let _e of L){let we=ue(_e,i)?.name||"",Me,fi=I.find(Rn=>Rn.id===_e.id);fi?Me=fi:(Me={id:_e.id,translations:[{languageCode:i,name:we}]},I.push(Me));let Li=ue(Me,i);Li&&(Li.name?Li.name=Nn(Li.name,z,re):Li.name=[re,..._e.options.map(Rn=>Rn.name)].join(" "))}}return I.length&&x.push(this.dataService.product.updateProductVariants(I)),bt(x)}))}updateProductOptions(t,n,i,r){return(n?this.dataService.product.getProductVariantsForProduct({},i.id).mapSingle(({productVariants:_})=>_.items):he([])).pipe(Ne(_=>{let x=he([]);if(n){let I=new Map;for(let L of t){let z=ue(L,r)?.name,re;for(let _e of _)re||_e.options.map(we=>we.id).includes(L.id)&&(re||(re=ue(_e.options.find(we=>we.id===L.id),r)?.name));re&&z&&I.set(re,z)}let S=[];if(I.size){let L=Array.from(I.keys());for(let z of _){let re=ue(z,r)?.name;if(!re||!L.some(we=>re.includes(we)))continue;let _e=L.reduce((we,Me)=>Nn(we,Me,I.get(Me)),re);S.push({id:z.id,translations:[{languageCode:r,name:_e}]})}}S.length?x=this.dataService.product.updateProductVariants(S):x=he([])}return bt(t.map(I=>this.dataService.product.updateProductOption(I))).pipe(Ne(()=>x))}))}deleteProductVariant(t,n){return this.dataService.product.deleteProductVariant(t).pipe(B(i=>i.deleteProductVariant.result===Xe.DELETED?this.dataService.product.getProduct(n).single$:_o(i.deleteProductVariant.message)))}static{this.\u0275fac=function(n){return new(n||e)(Mt(k))}}static{this.\u0275prov=hi({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();function Al(e,l){if(e&1){let t=D();c(0,"button",6),C("click",function(){b(t);let i=u();return y(i.save())}),f(1),s(2,"translate"),p()}if(e&2){let t=u();a("disabled",t.detailForm.pristine||t.detailForm.invalid),o(),v(" ",d(2,2,"common.update")," ")}}function wl(e,l){if(e&1&&(M(0,19),h(1,"vdr-tabbed-custom-fields",20),s(2,"hasPermission"),N()),e&2){let t=u().$implicit,n=u(2);o(),a("customFields",n.optionGroupCustomFields)("customFieldsFormGroup",t.get("customFields"))("readonly",!d(2,3,n.updatePermission))}}function Ml(e,l){if(e&1&&f(0),e&2){let t=l.item;v(" ",t.value.id," ")}}function Nl(e,l){if(e&1&&(f(0),s(1,"localeDate")),e&2){let t=l.item;v(" ",O(1,1,t.value.createdAt,"short")," ")}}function Ll(e,l){if(e&1&&(f(0),s(1,"localeDate")),e&2){let t=l.item;v(" ",O(1,1,t.value.updatedAt,"short")," ")}}function Ul(e,l){if(e&1&&(h(0,"input",28),s(1,"hasPermission")),e&2){let t=l.item,n=u(4);a("formControl",t.get("name"))("readonly",!d(1,2,n.updatePermission))}}function $l(e,l){if(e&1&&h(0,"input",29),e&2){let t=l.item;a("formControl",t.get("code"))}}function Gl(e,l){if(e&1&&(h(0,"vdr-tabbed-custom-fields",30),s(1,"hasPermission")),e&2){let t=l.item,n=u(4);a("customFields",n.optionCustomFields)("compact",!0)("customFieldsFormGroup",t.get("customFields"))("readonly",!d(1,4,n.updatePermission))}}function jl(e,l){if(e&1){let t=D();c(0,"vdr-data-table-2",21),C("pageChange",function(i){b(t);let r=u().$implicit,m=u(2);return y(m.paginationSettings[r.value.id].currentPage=i)})("itemsPerPageChange",function(i){b(t);let r=u().$implicit,m=u(2);return y(m.paginationSettings[r.value.id].itemsPerPage=i)}),c(1,"vdr-dt2-column",22),s(2,"translate"),g(3,Ml,1,1,"ng-template"),p(),c(4,"vdr-dt2-column",23),s(5,"translate"),g(6,Nl,2,4,"ng-template"),p(),c(7,"vdr-dt2-column",24),s(8,"translate"),g(9,Ll,2,4,"ng-template"),p(),c(10,"vdr-dt2-column",25),s(11,"translate"),g(12,Ul,2,4,"ng-template"),p(),c(13,"vdr-dt2-column",26),s(14,"translate"),g(15,$l,1,1,"ng-template"),p(),c(16,"vdr-dt2-column",27),s(17,"translate"),g(18,Gl,2,6,"ng-template"),p()()}if(e&2){let t=l.ngIf,n=u().$implicit,i=u(2);a("items",t)("trackByPath","value.id")("itemsPerPage",i.paginationSettings[n.value.id]==null?null:i.paginationSettings[n.value.id].itemsPerPage)("currentPage",i.paginationSettings[n.value.id]==null?null:i.paginationSettings[n.value.id].currentPage)("totalItems",t.length),o(),a("heading",d(2,17,"common.id"))("hiddenByDefault",!0),o(3),a("heading",d(5,19,"common.created-at"))("hiddenByDefault",!0),o(3),a("heading",d(8,21,"common.updated-at"))("hiddenByDefault",!0),o(3),a("heading",d(11,23,"common.name"))("optional",!1),o(3),a("heading",d(14,25,"common.code"))("optional",!1),o(3),a("heading",d(17,27,"common.custom-fields"))("hiddenByDefault",i.optionCustomFields.length===0)}}function Wl(e,l){if(e&1&&(c(0,"vdr-card",10),h(1,"vdr-page-entity-info",11),c(2,"div",12)(3,"vdr-form-field",13),s(4,"translate"),h(5,"input",14),s(6,"hasPermission"),p(),c(7,"vdr-form-field",15),s(8,"translate"),h(9,"input",16),s(10,"hasPermission"),p()(),g(11,wl,3,5,"ng-container",17)(12,jl,19,29,"vdr-data-table-2",18),p()),e&2){let t=l.$implicit,n=l.index,i=u(2);a("formArrayName",n)("title",t.value.code),o(),a("entity",t.value),o(2),a("label",d(4,11,"common.name")),o(2),a("id","name-"+n)("readonly",!d(6,13,i.updatePermission)),o(2),a("label",d(8,15,"common.code")),o(2),a("id","code-"+n)("readonly",!d(10,17,i.updatePermission)),o(2),a("ngIf",i.optionGroupCustomFields.length),o(),a("ngIf",i.getOptions(t))}}function ql(e,l){if(e&1&&(c(0,"form",7)(1,"div",8),g(2,Wl,13,19,"vdr-card",9),p()()),e&2){let t=u();a("formGroup",t.detailForm),o(2),a("ngForOf",t.getOptionGroups())}}var Un=(()=>{class e extends Qa{constructor(t,n,i,r,m,_,x,I,S){super(t,n,i,r,m),this.route=t,this.router=n,this.serverConfigService=i,this.dataService=r,this.permissionsService=m,this.productDetailService=_,this.formBuilder=x,this.changeDetector=I,this.notificationService=S,this.autoUpdateVariantNames=!0,this.paginationSettings={},this.updatePermission=[V.UpdateCatalog,V.UpdateProduct],this.optionGroupCustomFields=this.getCustomFieldConfig("ProductOptionGroup"),this.optionCustomFields=this.getCustomFieldConfig("ProductOption")}ngOnInit(){this.optionGroups$=this.route.snapshot.data.entity.pipe(F(t=>t.optionGroups),ze(t=>{for(let n of t)this.paginationSettings[n.id]={currentPage:1,itemsPerPage:10}})),this.detailForm=new Ci({optionGroups:new pa([])}),super.init()}getOptionGroups(){return this.detailForm.get("optionGroups").controls}getOptions(t){return t.get("options").controls}save(){if(this.detailForm.invalid||this.detailForm.pristine)return;let t=this.dataService.product.getProduct(this.id).mapSingle(n=>n.product);ee(this.entity$,this.languageCode$,t).pipe(lt(1),Ne(([{optionGroups:n},i,r])=>{let m=[],_=[];for(let x of this.getOptionGroups()){if(x.dirty){let I=n.find(S=>S.id===x.value.id);if(I){let S=this.getUpdatedOptionGroup(I,x,i);m.push(this.dataService.product.updateProductOptionGroup(S))}}for(let I of this.getOptions(x))if(I.dirty){let S=n.find(L=>L.id===x.value.id)?.options.find(L=>L.id===I.value.id);if(S){let L=this.getUpdatedOption(S,I,i);_.push(L)}}}return _.length&&m.push(this.productDetailService.updateProductOptions(_,this.autoUpdateVariantNames,r,i)),bt(m)})).subscribe(()=>{this.detailForm.markAsPristine(),this.changeDetector.markForCheck(),this.notificationService.success("common.notify-update-success",{entity:"ProductOptionGroup"})},n=>{this.notificationService.error("common.notify-update-error",{entity:"ProductOptionGroup"})})}getUpdatedOptionGroup(t,n,i){return at({translatable:t,updatedFields:n.value,customFieldConfig:this.optionGroupCustomFields,languageCode:i,defaultTranslation:{languageCode:i,name:t.name||""}})}getUpdatedOption(t,n,i){return at({translatable:t,updatedFields:n.value,customFieldConfig:this.optionCustomFields,languageCode:i,defaultTranslation:{languageCode:i,name:t.name||""}})}setFormValues(t,n){let i=this.detailForm.get("optionGroups");for(let r of t.optionGroups){let m=ue(r,n),_=this.setOptionGroupForm(r,i,m);this.setCustomFieldsForm(this.optionGroupCustomFields,_,r,m);let x=_.get("options");x||(x=this.formBuilder.array([]),_.addControl("options",x));for(let I of r.options){let S=ue(I,n),L=this.setOptionForm(I,x,S);this.setCustomFieldsForm(this.optionCustomFields,L,I,S)}}}setCustomFieldsForm(t,n,i,r){if(t.length){let m=n.get(["customFields"]);m||(m=this.formBuilder.group(t.reduce((_,x)=>fe(X({},_),{[x.name]:""}),{})),n.addControl("customFields",m)),this.setCustomFieldFormValues(t,m,i,r)}}setOptionGroupForm(t,n,i){let r={id:t.id,createdAt:t.createdAt,updatedAt:t.updatedAt,code:t.code,name:i?.name??""},m=n.controls.find(_=>_.value.id===t.id);return m?(m.get("id")?.setValue(r.id),m.get("code")?.setValue(r.code),m.get("name")?.setValue(r.name),m.get("createdAt")?.setValue(r.createdAt),m.get("updatedAt")?.setValue(r.updatedAt)):(m=this.formBuilder.group(r),n.push(m)),m}setOptionForm(t,n,i){let r={id:t.id,createdAt:t.createdAt,updatedAt:t.updatedAt,code:t.code,name:i?.name??""},m=n.controls.find(_=>_.value.id===t.id);return m?(m.get("id")?.setValue(r.id),m.get("code")?.setValue(r.code),m.get("name")?.setValue(r.name),m.get("createdAt")?.setValue(r.createdAt),m.get("updatedAt")?.setValue(r.updatedAt)):(m=this.formBuilder.group(r),n.push(m)),m}static{this.\u0275fac=function(n){return new(n||e)(P(xt),P(dt),P(Xo),P(k),P(oa),P(ai),P(un),P(pe),P(Y))}}static{this.\u0275cmp=E({type:e,selectors:[["vdr-product-options-editor"]],standalone:!1,features:[ce],decls:24,vars:17,consts:[[3,"languageCodeChange","availableLanguageCodes","currentLanguageCode"],[1,"flex","center"],[1,"mr-2"],["clrCheckbox","","type","checkbox","id","auto-update",3,"ngModelChange","ngModel"],["class","btn btn-primary",3,"disabled","click",4,"vdrIfPermissions"],["class","form",3,"formGroup",4,"ngIf"],[1,"btn","btn-primary",3,"click","disabled"],[1,"form",3,"formGroup"],["formGroupName","optionGroups"],[3,"formArrayName","title",4,"ngFor","ngForOf"],[3,"formArrayName","title"],[3,"entity"],[1,"form-grid"],["for","name",3,"label"],["type","text","formControlName","name",3,"id","readonly"],["for","code",3,"label"],["type","text","formControlName","code",3,"id","readonly"],["formGroupName","customFields",4,"ngIf"],["id","edit-options-list",3,"items","trackByPath","itemsPerPage","currentPage","totalItems","pageChange","itemsPerPageChange",4,"ngIf"],["formGroupName","customFields"],["entityName","ProductOptionGroup",3,"customFields","customFieldsFormGroup","readonly"],["id","edit-options-list",3,"pageChange","itemsPerPageChange","items","trackByPath","itemsPerPage","currentPage","totalItems"],["id","id",3,"heading","hiddenByDefault"],["id","created-at",3,"heading","hiddenByDefault"],["id","updated-at",3,"heading","hiddenByDefault"],["id","name",3,"heading","optional"],["id","code",3,"heading","optional"],["id","custom-fields",3,"heading","hiddenByDefault"],["type","text",3,"formControl","readonly"],["type","text",3,"formControl"],["entityName","ProductOption",3,"customFields","compact","customFieldsFormGroup","readonly"]],template:function(n,i){n&1&&(c(0,"vdr-page-header"),h(1,"vdr-page-title"),c(2,"vdr-page-header-description"),f(3),s(4,"translate"),p()(),c(5,"vdr-page-body")(6,"vdr-page-block")(7,"vdr-action-bar")(8,"vdr-ab-left")(9,"vdr-language-selector",0),s(10,"async"),s(11,"async"),C("languageCodeChange",function(m){return i.setLanguage(m)}),p()(),c(12,"vdr-ab-right")(13,"div",1)(14,"div",2)(15,"clr-checkbox-wrapper")(16,"input",3),$e("ngModelChange",function(m){return Ue(i.autoUpdateVariantNames,m)||(i.autoUpdateVariantNames=m),m}),p(),c(17,"label"),f(18),s(19,"translate"),p()()(),g(20,Al,3,4,"button",4),p()()()(),c(21,"vdr-page-block"),g(22,ql,3,2,"form",5),s(23,"async"),p()()),n&2&&(o(3),T(d(4,7,"catalog.page-description-options-editor")),o(6),a("availableLanguageCodes",d(10,9,i.availableLanguages$))("currentLanguageCode",d(11,11,i.languageCode$)),o(7),Le("ngModel",i.autoUpdateVariantNames),o(2),T(d(19,13,"catalog.auto-update-product-variant-name")),o(2),a("vdrIfPermissions",i.updatePermission),o(2),a("ngIf",d(23,15,i.optionGroups$)))},dependencies:[Ee,ye,tt,$,A,mt,ie,Ge,Z,ve,et,Pt,Ce,be,$t,bi,Te,Pe,Ie,me,K,Re,xe,ut,ot,He,Ua,$a,La,Na,de,Dt,gt,G,R,qe,it],styles:[`.option-group-header[_ngcontent-%COMP%]{display:flex;align-items:baseline}
|
|
2
|
+
/*# sourceMappingURL=product-options-editor.component-TKPTWXC4.css.map */`],changeDetection:0})}}return e})();var yr=se(oi()),xr=se(Jt());var _r=se(oi());function Hl(e,l){e&1&&(f(0),s(1,"translate")),e&2&&v(" ",d(1,1,"catalog.create-product-option-group"),`
|
|
3
|
+
`)}function Ql(e,l){if(e&1){let t=D();c(0,"button",7),C("click",function(){b(t);let i=u();return y(i.cancel())}),f(1),s(2,"translate"),p(),c(3,"button",8),C("click",function(){b(t);let i=u();return y(i.confirm())}),f(4),s(5,"translate"),p()}if(e&2){let t=u();o(),T(d(2,3,"common.cancel")),o(2),a("disabled",t.form.invalid),o(),v(" ",d(5,5,"common.confirm")," ")}}var $n=(()=>{class e{constructor(t){this.formBuilder=t,this.form=this.formBuilder.group({name:["",Qe.required],code:["",Qe.required]})}updateCode(){let t=this.form.get("name"),n=this.form.get("code");t&&n&&n.pristine&&n.setValue((0,_r.normalizeString)(`${t.value}`,"-"))}confirm(){let{name:t,code:n}=this.form.value;!t||!n||this.resolveWith({code:n,options:[],translations:[{languageCode:this.languageCode,name:t}]})}cancel(){this.resolveWith()}static{this.\u0275fac=function(n){return new(n||e)(P(je))}}static{this.\u0275cmp=E({type:e,selectors:[["vdr-create-product-option-group-dialog"]],standalone:!1,decls:9,vars:7,consts:[["vdrDialogTitle",""],[1,"form-grid",3,"formGroup"],["for","name",3,"label"],["id","name","type","text","formControlName","name",3,"input"],["for","code",3,"label"],["id","code","type","text","formControlName","code"],["vdrDialogButtons",""],["type","button",1,"btn",3,"click"],["type","submit",1,"btn","btn-primary",3,"click","disabled"]],template:function(n,i){n&1&&(g(0,Hl,2,3,"ng-template",0),c(1,"div",1)(2,"vdr-form-field",2),s(3,"translate"),c(4,"input",3),C("input",function(){return i.updateCode()}),p()(),c(5,"vdr-form-field",4),s(6,"translate"),h(7,"input",5),p()(),g(8,Ql,6,7,"ng-template",6)),n&2&&(o(),a("formGroup",i.form),o(),a("label",d(3,3,"common.name")),o(3),a("label",d(6,5,"common.code")))},dependencies:[ie,Z,ve,Ce,be,me,K,We,Oe,R],encapsulation:2,changeDetection:0})}}return e})();var hr=se(sn());function Yl(e,l){e&1&&(f(0),s(1,"translate")),e&2&&v(" ",d(1,1,"catalog.create-product-variant"),`
|
|
4
|
+
`)}function Kl(e,l){if(e&1&&(c(0,"vdr-form-field",7),h(1,"ng-select",12),p()),e&2){let t=l.$implicit;a("label",t.name),o(),a("items",t.options)("formControlName",t.code)}}function zl(e,l){e&1&&(c(0,"clr-alert",13)(1,"clr-alert-item")(2,"span",14),f(3),s(4,"translate"),p()()()),e&2&&(a("clrAlertClosable",!1),o(3),v(" ",d(4,2,"catalog.cannot-create-variants-without-options")," "))}function Zl(e,l){if(e&1&&(c(0,"div",15)(1,"clr-alert",16)(2,"clr-alert-item")(3,"span",14),f(4),s(5,"translate"),p()()()()),e&2){let t=u();o(),a("clrAlertClosable",!1),o(3),Vo(" ",d(5,4,"catalog.product-variant-exists"),": ",t.existingVariant.name," (",t.existingVariant.sku,") ")}}function Jl(e,l){if(e&1){let t=D();c(0,"button",17),C("click",function(){b(t);let i=u();return y(i.cancel())}),f(1),s(2,"translate"),p(),c(3,"button",18),C("click",function(){b(t);let i=u();return y(i.confirm())}),f(4),s(5,"translate"),p()}if(e&2){let t=u();o(),T(d(2,3,"common.cancel")),o(2),a("disabled",t.form.invalid||t.existingVariant||t.product.optionGroups.length===0),o(),v(" ",d(5,5,"common.confirm")," ")}}var jn=(()=>{class e{constructor(t){this.formBuilder=t,this.form=this.formBuilder.group({name:["",Qe.required],sku:[""],price:[""],options:this.formBuilder.record({})})}ngOnInit(){this.currencyCode=this.product.variants[0]?.currencyCode;for(let n of this.product.optionGroups)this.form.get("options").addControl(n.code,new vt("",Qe.required));this.form.get("options").valueChanges.subscribe(n=>{let i=this.form.get("name");if(!Object.values(n).every(_=>_==null)&&n&&i&&!i.dirty){let _=Object.entries(n).map(([x,I])=>this.product.optionGroups.find(S=>S.code===x)?.options.find(S=>S.id===I)?.name).join(" ");i.setValue(`${this.product.name} ${_}`)}Object.values(n).every(_=>_!=null)&&(this.existingVariant=this.product.variants.find(_=>Object.entries(n).every(([x,I])=>_.options.find(S=>S.groupId===this.getGroupIdFromCode(x))?.id===I)))})}confirm(){let{name:t,sku:n,options:i,price:r}=this.form.value;if(!t||!i||r==null)return;let m=Object.values(i).filter(hr.notNullOrUndefined);this.resolveWith({productId:this.product.id,sku:n||"",price:Number(r),optionIds:m,translations:[{languageCode:this.product.languageCode,name:t}]})}cancel(){this.resolveWith()}getGroupCodeFromId(t){return this.product.optionGroups.find(n=>n.id===t)?.code??""}getGroupIdFromCode(t){return this.product.optionGroups.find(n=>n.code===t)?.id??""}static{this.\u0275fac=function(n){return new(n||e)(P(je))}}static{this.\u0275cmp=E({type:e,selectors:[["vdr-create-product-variant-dialog"]],standalone:!1,decls:17,vars:14,consts:[["vdrDialogTitle",""],[3,"formGroup"],["formGroupName","options",1,"form-grid"],[3,"label",4,"ngFor","ngForOf"],["clrAlertType","warning","class","form-grid-span",3,"clrAlertClosable",4,"ngIf"],["class","mt-2",4,"ngIf"],[1,"form-grid","mt-2"],[3,"label"],["type","text","formControlName","name"],["type","text","formControlName","sku"],["name","price","formControlName","price",3,"currencyCode"],["vdrDialogButtons",""],["bindLabel","name","bindValue","id","appendTo","body",3,"items","formControlName"],["clrAlertType","warning",1,"form-grid-span",3,"clrAlertClosable"],[1,"alert-text"],[1,"mt-2"],["clrAlertType","warning",1,"",3,"clrAlertClosable"],["type","button",1,"btn",3,"click"],["type","submit",1,"btn","btn-primary",3,"click","disabled"]],template:function(n,i){n&1&&(g(0,Yl,2,3,"ng-template",0),c(1,"form",1)(2,"div",2),g(3,Kl,2,3,"vdr-form-field",3)(4,zl,5,4,"clr-alert",4),p(),g(5,Zl,6,6,"div",5),c(6,"div",6)(7,"vdr-form-field",7),s(8,"translate"),h(9,"input",8),p(),c(10,"vdr-form-field",7),s(11,"translate"),h(12,"input",9),p(),c(13,"vdr-form-field",7),s(14,"translate"),h(15,"vdr-currency-input",10),p()()(),g(16,Jl,6,7,"ng-template",11)),n&2&&(o(),a("formGroup",i.form),o(2),a("ngForOf",i.product.optionGroups),o(),a("ngIf",i.product.optionGroups.length===0),o(),a("ngIf",i.existingVariant),o(2),a("label",d(8,8,"common.name")),o(3),a("label",d(11,10,"catalog.sku")),o(3),a("label",d(14,12,"catalog.price")),o(2),a("currencyCode",i.currencyCode))},dependencies:[fn,hn,vn,$,A,mt,ie,Z,ve,Ce,be,$t,Ii,Qt,me,K,We,Oe,R],encapsulation:2,changeDetection:0})}}return e})();var vr=se(Jt());var Xl=["textArea"],es=["editNameInput"];function ts(e,l){if(e&1){let t=D();c(0,"vdr-chip",7),C("iconClick",function(){let i=b(t).$implicit,r=u(2);return y(r.removeOption(i))}),c(1,"span",8)(2,"input",9,1),C("blur",function(i){let r=b(t).index,m=u(2);return y(m.updateOption(r,i))})("click",function(i){return b(t),y(i.cancelBubble=!0)}),p()(),c(4,"span",10),C("click",function(i){let r=b(t).index,m=u(2);return y(m.editName(r,i))}),f(5),p()()}if(e&2){let t=l.$implicit,n=l.last,i=l.index,r=u(2);w("selected",n&&r.lastSelected)("locked",t.locked),a("icon",t.locked?"lock":"times")("colorFrom",r.groupName),o(),a("hidden",r.editingIndex!==i),o(),a("ngModel",t.name),o(2),w("editable",!t.locked&&!t.id),a("hidden",r.editingIndex===i),o(),T(t.name)}}function is(e,l){if(e&1&&(c(0,"div",5),g(1,ts,6,12,"vdr-chip",6),p()),e&2){let t=u();o(),a("ngForOf",t.optionValues)}}var ns={provide:ra,useExisting:yo(()=>wi),multi:!0},wi=(()=>{class e{get optionValues(){return this.formValue??this.options??[]}constructor(t){this.changeDetector=t,this.groupName="",this.add=new ht,this.remove=new ht,this.edit=new ht,this.disabled=!1,this.input="",this.isFocussed=!1,this.lastSelected=!1,this.editingIndex=-1}registerOnChange(t){this.onChangeFn=t}registerOnTouched(t){this.onTouchFn=t}setDisabledState(t){this.disabled=t,this.changeDetector.markForCheck()}writeValue(t){this.formValue=t||[]}focus(){this.textArea.nativeElement.focus()}editName(t,n){let i=this.optionValues[t];if(!i.locked&&!i.id){n.cancelBubble=!0,this.editingIndex=t;let r=this.nameInputs.get(t)?.nativeElement;setTimeout(()=>r?.focus())}}updateOption(t,n){let i=this.optionValues[t],r=n.target.value;i&&(r&&(i.name=r,this.edit.emit({index:t,option:i})),this.editingIndex=-1)}removeOption(t){t.locked||(this.formValue?(this.formValue=this.formValue?.filter(n=>n.name!==t.name),this.onChangeFn(this.formValue)):this.remove.emit(t))}handleKey(t){switch(t.key){case",":case"Enter":this.addOptionValue(),t.preventDefault();break;case"Backspace":this.lastSelected?(this.removeLastOption(),this.lastSelected=!1):this.input===""&&(this.lastSelected=!0);break;default:this.lastSelected=!1}}handleBlur(){this.isFocussed=!1,this.addOptionValue()}addOptionValue(){let t=this.parseInputIntoOptions(this.input).filter(n=>!(this.options??this.formValue)?.find(r=>r?.name===n.name));if(!this.formValue&&this.options)for(let n of t)this.add.emit(n);else this.formValue=(0,vr.unique)([...this.formValue,...t]),this.onChangeFn(this.formValue);this.input=""}parseInputIntoOptions(t){return t.split(/[,\n]/).map(n=>n.trim()).filter(n=>n!=="").map(n=>({name:n,locked:!1}))}removeLastOption(){if(this.optionValues.length){let t=this.optionValues[this.optionValues.length-1];this.removeOption(t)}}static{this.\u0275fac=function(n){return new(n||e)(P(pe))}}static{this.\u0275cmp=E({type:e,selectors:[["vdr-option-value-input"]],viewQuery:function(n,i){if(n&1&&(pt(Xl,7),pt(es,5,en)),n&2){let r;Ze(r=Je())&&(i.textArea=r.first),Ze(r=Je())&&(i.nameInputs=r)}},inputs:{groupName:"groupName",options:"options",disabled:"disabled"},outputs:{add:"add",remove:"remove",edit:"edit"},standalone:!1,features:[tn([ns])],decls:4,vars:5,consts:[["textArea",""],["editNameInput",""],[1,"input-wrapper",3,"click"],["class","chips",4,"ngIf"],[3,"keyup","focus","blur","ngModelChange","ngModel","disabled"],[1,"chips"],[3,"icon","selected","locked","colorFrom","iconClick",4,"ngFor","ngForOf"],[3,"iconClick","icon","colorFrom"],[3,"hidden"],["type","text",3,"blur","click","ngModel"],[1,"option-name",3,"click","hidden"]],template:function(n,i){if(n&1){let r=D();c(0,"div",2),C("click",function(){b(r);let _=U(3);return y(_.focus())}),g(1,is,2,1,"div",3),c(2,"textarea",4,0),C("keyup",function(_){return b(r),y(i.handleKey(_))})("focus",function(){return b(r),y(i.isFocussed=!0)})("blur",function(){return b(r),y(i.handleBlur())}),$e("ngModelChange",function(_){return b(r),Ue(i.input,_)||(i.input=_),y(_)}),p()()}n&2&&(w("focus",i.isFocussed),o(),a("ngIf",0<i.optionValues.length),o(),Le("ngModel",i.input),a("disabled",i.disabled))},dependencies:[$,A,ie,Z,et,Ve,K],styles:[`.input-wrapper[_ngcontent-%COMP%]{background-color:var(--color-form-input-bg);border-radius:3px!important;border:1px solid var(--color-grey-300)!important;cursor:text}.input-wrapper.focus[_ngcontent-%COMP%]{border-color:var(--color-primary-500)!important;box-shadow:0 0 1px 1px var(--color-primary-100)}.input-wrapper[_ngcontent-%COMP%] .chips[_ngcontent-%COMP%]{padding:5px}.input-wrapper[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{border:none;width:100%;height:24px;margin-top:3px;padding:0 6px}.input-wrapper[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]:focus{outline:none;box-shadow:none}.input-wrapper[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]:disabled{background-color:var(--color-component-bg-100)}vdr-chip[_ngcontent-%COMP%] .wrapper{margin:0 3px}vdr-chip.locked[_ngcontent-%COMP%]{opacity:.8}vdr-chip.selected[_ngcontent-%COMP%] .wrapper{border-color:var(--color-warning-500)!important;box-shadow:0 0 1px 1px var(--color-warning-400);opacity:.6}vdr-chip[_ngcontent-%COMP%] .option-name.editable[_ngcontent-%COMP%]:hover{outline:1px solid var(--color-component-bg-300);outline-offset:1px;border-radius:1px}vdr-chip[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{padding:0!important;margin-top:-2px;margin-bottom:-2px}
|
|
5
|
+
/*# sourceMappingURL=option-value-input.component-EIW2EGWX.css.map */`]})}}return e})();function os(e,l){if(e&1){let t=D();c(0,"div",19)(1,"vdr-form-field",20),s(2,"translate"),c(3,"input",21),$e("ngModelChange",function(i){let r=b(t).$implicit;return Ue(r.name,i)||(r.name=i),y(i)}),p()(),c(4,"vdr-form-field",22),s(5,"translate"),c(6,"vdr-option-value-input",23,0),C("add",function(i){let r=b(t).index,m=u();return y(m.addOption(r,i.name))})("remove",function(i){let r=b(t).index,m=u();return y(m.removeOption(r,i))}),p()(),c(8,"div")(9,"button",24),C("click",function(){let i=b(t).$implicit,r=u();return y(r.removeOptionGroup(i))}),h(10,"clr-icon",25),p()()()}if(e&2){let t=l.$implicit;o(),a("label",d(2,7,"catalog.option")),o(2),Le("ngModel",t.name),a("readonly",!t.isNew),o(),a("label",d(5,9,"catalog.option-values")),o(2),a("options",t.values)("groupName",t.name)("disabled",t.name==="")}}function as(e,l){if(e&1&&f(0),e&2){let t=l.item;v(" ",t.id," ")}}function rs(e,l){if(e&1&&(f(0),s(1,"localeDate")),e&2){let t=l.item;v(" ",O(1,1,t.createdAt,"short")," ")}}function ls(e,l){if(e&1&&(f(0),s(1,"localeDate")),e&2){let t=l.item;v(" ",O(1,1,t.updatedAt,"short")," ")}}function ss(e,l){if(e&1&&f(0),e&2){let t=l.item;v(" ",t.name," ")}}function cs(e,l){if(e&1&&f(0),e&2){let t=l.item;v(" ",t.sku," ")}}function ps(e,l){if(e&1&&(c(0,"vdr-chip",28),f(1),p()),e&2){let t=l.ngIf,n=u(2).$implicit;a("colorFrom",n.code),o(),T(t.name)}}function ds(e,l){if(e&1){let t=D();c(0,"div",29)(1,"ng-select",30),C("change",function(i){b(t);let r=u().item,m=u().$implicit,_=u();return y(_.setOptionToAddToVariant(r.id,m.id,i==null?null:i.id))}),p(),c(2,"button",31),C("click",function(){b(t);let i=u().item,r=u(2);return y(r.addOptionToVariant(i))}),h(3,"clr-icon",32),p()()}if(e&2){let t=u().item,n=u().$implicit,i=u();o(),a("items",n.options),o(),w("primary",!!(i.optionsToAddToVariant[t.id]!=null&&i.optionsToAddToVariant[t.id][n.id])),a("disabled",!(i.optionsToAddToVariant[t.id]!=null&&i.optionsToAddToVariant[t.id][n.id]))}}function ms(e,l){if(e&1&&g(0,ps,2,2,"vdr-chip",27)(1,ds,4,4,"ng-template",null,1,Q),e&2){let t=l.item,n=U(2),i=u().$implicit,r=u();a("ngIf",r.getOption(t,i.id))("ngIfElse",n)}}function us(e,l){if(e&1&&(c(0,"vdr-dt2-column",26),g(1,ms,3,2,"ng-template"),p()),e&2){let t=l.$implicit;a("heading",t.name)("id",t.code)}}function gs(e,l){if(e&1&&(f(0),s(1,"localeCurrency")),e&2){let t=l.item;v(" ",O(1,1,t.price,t.currencyCode)," ")}}function _s(e,l){if(e&1&&(f(0),s(1,"localeCurrency")),e&2){let t=l.item;v(" ",O(1,1,t.priceWithTax,t.currencyCode)," ")}}function fs(e,l){if(e&1){let t=D();c(0,"button",33),C("click",function(){let i=b(t).item,r=u();return y(r.deleteVariant(i))}),h(1,"clr-icon",34),p()}}var br=class{constructor(l){for(let t of Object.keys(l))this[t]=l[t]}},Wn=(()=>{class e{constructor(t,n,i,r,m,_){this.route=t,this.dataService=n,this.productDetailService=i,this.notificationService=r,this.modalService=m,this.changeDetector=_,this.formValueChanged=!1,this.optionsChanged=!1,this.itemsPerPage=100,this.currentPage=1,this.searchTermControl=new vt(""),this.selectionManager=new Ia({multiSelect:!0,itemsAreEqual:(x,I)=>x.id===I.id,additiveMode:!0}),this.optionsToAddToVariant={},this.refresh$=new ft}ngOnInit(){this.languageCode=this.route.snapshot.paramMap.get("lang")||na(),this.dataService.settings.getActiveChannel().single$.subscribe(n=>{this.currencyCode=n.activeChannel.defaultCurrencyCode});let t=this.refresh$.pipe(B(()=>this.dataService.product.getProductVariantsOptions(this.route.parent?.snapshot.paramMap.get("id")).mapSingle(n=>n.product)),st(this.route.snapshot.data.product));this.variants$=t.pipe(B(n=>this.searchTermControl.valueChanges.pipe(st(""),F(i=>i?n.variants.filter(r=>r.name.toLowerCase().includes(i.toLowerCase())):n.variants)))),this.optionGroups$=t.pipe(F(n=>n.optionGroups)),this.totalItems$=this.variants$.pipe(F(n=>n.length)),t.subscribe(n=>{this.product=n;let i=n.variants.map(m=>m.options.map(_=>_.id)).flat(),r=n.variants.map(m=>m.options.map(_=>_.groupId)).flat();this.optionGroups=n.optionGroups.map(m=>({id:m.id,isNew:!1,name:m.name,locked:r.includes(m.id),values:m.options.map(_=>({id:_.id,name:_.name,locked:i.includes(_.id)}))}))})}setItemsPerPage(t){this.itemsPerPage=t,this.currentPage=1}setPageNumber(t){this.currentPage=t}onFormChanged(t){this.formValueChanged=!0,t.enabled=!0}canDeactivate(){return!this.formValueChanged}addOptionGroup(){this.modalService.fromComponent($n,{locals:{languageCode:this.languageCode}}).pipe(B(t=>t?this.dataService.product.createProductOptionGroups(t).pipe(B(({createProductOptionGroup:n})=>this.dataService.product.addOptionGroupToProduct({optionGroupId:n.id,productId:this.product.id}))):le)).subscribe(t=>{this.notificationService.success("common.notify-create-success",{entity:"ProductOptionGroup"}),this.refresh$.next(),this.changeDetector.markForCheck()})}removeOptionGroup(t){let n=t.id,i=this.product.variants.filter(r=>r.options.map(m=>m.groupId).includes(n)).length;this.modalService.dialog({title:"catalog.confirm-delete-product-option-group",body:i?"catalog.confirm-delete-product-option-group-body":"",translationVars:{name:t.name,count:i},buttons:[{type:"secondary",label:"common.cancel"},{type:"danger",label:"common.delete",returnValue:!0}]}).pipe(B(r=>r?this.dataService.product.removeOptionGroupFromProduct({optionGroupId:n,productId:this.product.id,force:!0}):le)).subscribe(({removeOptionGroupFromProduct:r})=>{r.__typename==="Product"?(this.notificationService.success("common.notify-delete-success",{entity:"ProductOptionGroup"}),this.refresh$.next()):r.__typename==="ProductOptionInUseError"&&this.notificationService.error(r.message??"")})}addOption(t,n){let i=this.optionGroups[t];i&&i.id&&this.dataService.product.addOptionToGroup({productOptionGroupId:i.id,code:(0,yr.normalizeString)(n,"-"),translations:[{name:n,languageCode:this.languageCode}]}).subscribe(({createProductOption:r})=>{this.notificationService.success("common.notify-create-success",{entity:"ProductOption"}),this.refresh$.next()})}removeOption(t,{id:n,name:i}){let r=this.optionGroups[t];r&&this.modalService.dialog({title:"catalog.confirm-delete-product-option",translationVars:{name:i},buttons:[{type:"secondary",label:"common.cancel"},{type:"danger",label:"common.delete",returnValue:!0}]}).pipe(B(m=>m?this.dataService.product.deleteProductOption(n):le)).subscribe(({deleteProductOption:m})=>{m.result===Xe.DELETED?(this.notificationService.success("common.notify-delete-success",{entity:"ProductOption"}),r.values=r.values.filter(_=>_.id!==n),this.refresh$.next()):this.notificationService.error(m.message??"")})}setOptionToAddToVariant(t,n,i){this.optionsToAddToVariant[t]||(this.optionsToAddToVariant[t]={}),i?this.optionsToAddToVariant[t][n]=i:delete this.optionsToAddToVariant[t][n]}addOptionToVariant(t){let n=[...t.options.map(i=>i.id),...Object.values(this.optionsToAddToVariant[t.id])];this.dataService.product.updateProductVariants([{id:t.id,optionIds:(0,xr.unique)(n)}]).subscribe(({updateProductVariants:i})=>{this.refresh$.next()})}deleteVariant(t){this.modalService.dialog({title:"catalog.confirm-delete-product-variant",translationVars:{name:t.name},buttons:[{type:"secondary",label:"common.cancel"},{type:"danger",label:"common.delete",returnValue:!0}]}).pipe(B(n=>n?this.productDetailService.deleteProductVariant(t.id,this.product.id):le)).subscribe(()=>{this.notificationService.success("common.notify-delete-success",{entity:"ProductVariant"}),this.refresh$.next()},n=>{this.notificationService.error("common.notify-delete-error",{entity:"ProductVariant"})})}createNewVariant(){this.modalService.fromComponent(jn,{locals:{product:this.product}}).pipe(B(t=>t?this.dataService.product.createProductVariants([t]):le)).subscribe(t=>{this.notificationService.success("common.notify-create-success",{entity:"ProductVariant"}),this.refresh$.next()})}getOption(t,n){return t.options.find(i=>i.groupId===n)}static{this.\u0275fac=function(n){return new(n||e)(P(xt),P(k),P(ai),P(Y),P(te),P(pe))}}static{this.\u0275cmp=E({type:e,selectors:[["vdr-product-variants-editor"]],standalone:!1,decls:44,vars:55,consts:[["optionValueInputComponent",""],["selectOption",""],["class","option-groups",4,"ngFor","ngForOf"],[1,"button","mt-1",3,"click"],["shape","plus"],[3,"paddingX"],[1,"mx-3"],[1,"button",3,"click"],["id","manage-product-variant-list",3,"pageChange","itemsPerPageChange","items","itemsPerPage","totalItems","currentPage"],[3,"searchTermControl","searchTermPlaceholder"],["id","id",3,"heading","hiddenByDefault"],["id","created-at",3,"heading","hiddenByDefault"],["id","updated-at",3,"heading","hiddenByDefault"],["id","name",3,"heading","optional"],["id","sku",3,"heading","optional"],[3,"heading","id",4,"ngFor","ngForOf"],["id","price",3,"heading","hiddenByDefault"],["id","price-with-tax",3,"heading","hiddenByDefault"],["id","delete",3,"heading","optional"],[1,"option-groups"],[3,"label"],["clrInput","","name","name",3,"ngModelChange","ngModel","readonly"],[1,"flex-spacer",3,"label"],[3,"add","remove","options","groupName","disabled"],[1,"button-small","mt-4",3,"click"],["shape","trash"],[3,"heading","id"],[3,"colorFrom",4,"ngIf","ngIfElse"],[3,"colorFrom"],[1,"flex","center"],["bindLabel","name","bindValue","id","appendTo","body",3,"change","items"],[1,"button-small","ml-1",3,"click","disabled"],["shape","floppy"],[1,"button-small",3,"click"],["shape","trash is-danger"]],template:function(n,i){n&1&&(c(0,"vdr-page-block")(1,"vdr-card"),g(2,os,11,11,"div",2),c(3,"button",3),C("click",function(){return i.addOptionGroup()}),h(4,"clr-icon",4),f(5),s(6,"translate"),p()(),c(7,"vdr-card",5)(8,"div",6)(9,"button",7),C("click",function(){return i.createNewVariant()}),h(10,"clr-icon",4),f(11),s(12,"translate"),p()(),c(13,"vdr-data-table-2",8),s(14,"async"),s(15,"async"),C("pageChange",function(m){return i.setPageNumber(m)})("itemsPerPageChange",function(m){return i.setItemsPerPage(m)}),h(16,"vdr-dt2-search",9),s(17,"translate"),c(18,"vdr-dt2-column",10),s(19,"translate"),g(20,as,1,1,"ng-template"),p(),c(21,"vdr-dt2-column",11),s(22,"translate"),g(23,rs,2,4,"ng-template"),p(),c(24,"vdr-dt2-column",12),s(25,"translate"),g(26,ls,2,4,"ng-template"),p(),c(27,"vdr-dt2-column",13),s(28,"translate"),g(29,ss,1,1,"ng-template"),p(),c(30,"vdr-dt2-column",14),s(31,"translate"),g(32,cs,1,1,"ng-template"),p(),g(33,us,2,2,"vdr-dt2-column",15),s(34,"async"),c(35,"vdr-dt2-column",16),s(36,"translate"),g(37,gs,2,4,"ng-template"),p(),c(38,"vdr-dt2-column",17),s(39,"translate"),g(40,_s,2,4,"ng-template"),p(),c(41,"vdr-dt2-column",18),s(42,"translate"),g(43,fs,2,0,"ng-template"),p()()()()),n&2&&(o(2),a("ngForOf",i.optionGroups),o(3),v(" ",d(6,27,"catalog.create-product-option-group")," "),o(2),a("paddingX",!1),o(4),v(" ",d(12,29,"catalog.create-product-variant")," "),o(2),a("items",d(14,31,i.variants$))("itemsPerPage",i.itemsPerPage)("totalItems",d(15,33,i.totalItems$))("currentPage",i.currentPage),o(3),a("searchTermControl",i.searchTermControl)("searchTermPlaceholder",d(17,35,"catalog.filter-by-name")),o(2),a("heading",d(19,37,"common.id"))("hiddenByDefault",!0),o(3),a("heading",d(22,39,"common.created-at"))("hiddenByDefault",!0),o(3),a("heading",d(25,41,"common.updated-at"))("hiddenByDefault",!0),o(3),a("heading",d(28,43,"catalog.name"))("optional",!1),o(3),a("heading",d(31,45,"catalog.sku"))("optional",!1),o(3),a("ngForOf",d(34,47,i.optionGroups$)),o(2),a("heading",d(36,49,"common.price"))("hiddenByDefault",!0),o(3),a("heading",d(39,51,"common.price-with-tax"))("hiddenByDefault",!0),o(3),a("heading",d(42,53,"common.delete"))("optional",!1))},dependencies:[J,Gt,$,A,ie,Z,et,Ii,Ve,me,K,ot,He,nt,de,gt,wi,G,R,it,Tt],styles:[`.option-groups[_ngcontent-%COMP%]{display:flex;width:100%;gap:var(--space-unit)}.values[_ngcontent-%COMP%]{flex:1;margin:0 6px}.variants-preview[_ngcontent-%COMP%] tr.disabled[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{background-color:var(--color-component-bg-100);color:var(--color-grey-400)}
|
|
6
|
+
/*# sourceMappingURL=product-variants-editor.component-G3OD5Q3Y.css.map */`]})}}return e})();var Pr=(()=>{class e extends Ka{constructor(t,n){super(t,{__typename:"Product",id:"",createdAt:"",updatedAt:"",name:"",languageCode:"",optionGroups:[],variants:[]},i=>n.product.getProductVariantsOptions(i).mapStream(r=>r.product))}static{this.\u0275fac=function(n){return new(n||e)(Mt(dt),Mt(k))}}static{this.\u0275prov=hi({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();var Ir=e=>[{path:"products",component:Ft,data:{locationId:"product-list",breadcrumb:"breadcrumb.products"},children:e.getPageTabRoutes("product-list")},{path:"inventory",redirectTo:"products"},{path:"products/:id",component:Ft,data:{locationId:"product-detail",breadcrumb:{label:"breadcrumb.products",link:["../","products"]}},children:[{path:"manage-variants",component:Wn,canDeactivate:[wn],data:{breadcrumb:({product:l})=>[{label:`${l.name}`,link:["../"]},{label:"breadcrumb.manage-variants",link:["manage-variants"]}]},resolve:{product:l=>Po(k).product.getProductVariantsOptions(l.parent?.params.id).mapSingle(t=>t.product)}},...e.getPageTabRoutes("product-detail")]},{path:"products/:productId/variants/:id",component:Ft,data:{locationId:"product-variant-detail",breadcrumb:{label:"breadcrumb.products",link:["../","products"]}},children:e.getPageTabRoutes("product-variant-detail")},{path:"products/:id/options",component:Un,resolve:Ya(Pr),canDeactivate:[wn],data:{breadcrumb:hs}},{path:"facets",component:Ft,data:{locationId:"facet-list",breadcrumb:"breadcrumb.facets"},children:e.getPageTabRoutes("facet-list")},{path:"facets/:id",component:Ft,data:{locationId:"facet-detail",breadcrumb:{label:"breadcrumb.facets",link:["../","facets"]}},children:e.getPageTabRoutes("facet-detail")},{path:"collections",component:Ft,data:{locationId:"collection-list",breadcrumb:"breadcrumb.collections"},children:e.getPageTabRoutes("collection-list")},{path:"collections/:id",component:Ft,data:{locationId:"collection-detail",breadcrumb:{label:"breadcrumb.collections",link:["../","collections"]}},children:e.getPageTabRoutes("collection-detail")},{path:"assets",component:Ft,data:{locationId:"asset-list",breadcrumb:"breadcrumb.assets"},children:e.getPageTabRoutes("asset-list")},{path:"assets/:id",component:Ft,data:{locationId:"asset-detail",breadcrumb:{label:"breadcrumb.assets",link:["../","assets"]}},children:e.getPageTabRoutes("asset-detail")}];function hs(e,l){return e.entity.pipe(F(t=>[{label:"breadcrumb.products",link:["../","products"]},{label:`${t.name}`,link:["../","products",l.id]},{label:"breadcrumb.product-options",link:["options"]}]))}function Cs(e,l){e&1&&(f(0),s(1,"translate")),e&2&&T(d(1,1,"catalog.add-facets"))}function bs(e,l){if(e&1){let t=D();c(0,"button",3),C("click",function(){b(t);let i=u();return y(i.cancel())}),f(1),s(2,"translate"),p(),c(3,"button",4),C("click",function(){b(t);let i=u();return y(i.selectValues())}),f(4),s(5,"translate"),p()}if(e&2){let t=u();o(),T(d(2,3,"common.cancel")),o(2),a("disabled",t.selectedValues.length===0),o(),v(" ",d(5,5,"catalog.add-facets")," ")}}var Hi=(()=>{class e{constructor(t){this.changeDetector=t,this.selectedValues=[]}ngAfterViewInit(){setTimeout(()=>this.selector.focus(),0)}selectValues(){this.resolveWith(this.selectedValues)}cancel(){this.resolveWith()}static{this.\u0275fac=function(n){return new(n||e)(P(pe))}}static{this.\u0275cmp=E({type:e,selectors:[["vdr-apply-facet-dialog"]],viewQuery:function(n,i){if(n&1&&pt(Di,5),n&2){let r;Ze(r=Je())&&(i.selector=r.first)}},standalone:!1,decls:3,vars:0,consts:[["vdrDialogTitle",""],[3,"selectedValuesChange"],["vdrDialogButtons",""],["type","button",1,"btn",3,"click"],["type","submit",1,"btn","btn-primary",3,"click","disabled"]],template:function(n,i){n&1&&(g(0,Cs,2,3,"ng-template",0),c(1,"vdr-facet-value-selector",1),C("selectedValuesChange",function(m){return i.selectedValues=m}),p(),g(2,bs,6,7,"ng-template",2))},dependencies:[Di,We,Oe,R],encapsulation:2,changeDetection:0})}}return e})();var ys=()=>["UpdateCatalog","UpdateAsset"];function xs(e,l){if(e&1){let t=D();c(0,"button",3),C("click",function(){b(t);let i=u();return y(i.save())}),f(1),s(2,"translate"),p()}if(e&2){let t=u();a("disabled",t.detailForm.invalid||t.detailForm.pristine),o(),v(" ",d(2,2,"common.update")," ")}}var xg=ne`
|
|
7
7
|
query AssetDetailQuery($id: ID!) {
|
|
8
8
|
asset(id: $id) {
|
|
9
9
|
...Asset
|
|
@@ -14,10 +14,10 @@ import{a as ni}from"./chunk-MZFFGCAS.js";import{$ as Io,$c as sn,$d as Pi,$e as
|
|
|
14
14
|
}
|
|
15
15
|
${rn}
|
|
16
16
|
${Ko}
|
|
17
|
-
`,Tr=(()=>{class e extends St{constructor(t,n,i){super(),this.notificationService=t,this.dataService=n,this.formBuilder=i,this.customFields=this.getCustomFieldConfig("Asset"),this.detailForm=new la({name:new vt(""),tags:new vt([]),customFields:this.formBuilder.group(_t(this.customFields))})}ngOnInit(){this.init()}ngOnDestroy(){this.destroy()}onAssetChange(t){this.detailForm.get("name")?.setValue(t.name),this.detailForm.get("tags")?.setValue(t.tags),this.detailForm.markAsDirty()}save(){this.dataService.product.updateAsset({id:this.id,name:this.detailForm.value.name,tags:this.detailForm.value.tags,customFields:this.detailForm.value.customFields}).subscribe(()=>{this.notificationService.success("common.notify-update-success",{entity:"Asset"})},t=>{this.notificationService.error("common.notify-update-error",{entity:"Asset"})})}setFormValues(t,n){this.detailForm.get("name")?.setValue(t.name),this.detailForm.get("tags")?.setValue(t.tags.map(i=>i.id)),this.customFields.length&&this.setCustomFieldFormValues(this.customFields,this.detailForm.get(["customFields"]),t)}static{this.\u0275fac=function(n){return new(n||e)(P(Y),P(k),P(un))}}static{this.\u0275cmp=E({type:e,selectors:[["vdr-asset-detail"]],standalone:!1,features:[ce],decls:10,vars:8,consts:[["locationId","asset-detail"],["class","btn btn-primary",3,"disabled","click",4,"vdrIfPermissions"],[3,"assetChange","asset","editable","customFields","customFieldsForm"],[1,"btn","btn-primary",3,"click","disabled"]],template:function(n,i){n&1&&(c(0,"vdr-page-block")(1,"vdr-action-bar"),h(2,"vdr-ab-left"),c(3,"vdr-ab-right"),h(4,"vdr-action-bar-items",0),g(5,xs,3,4,"button",1),h(6,"vdr-action-bar-dropdown-menu",0),p()()(),c(7,"vdr-page-block")(8,"vdr-asset-preview",2),s(9,"async"),C("assetChange",function(m){return i.onAssetChange(m)}),p()()),n&2&&(o(5),a("vdrIfPermissions",W(7,ys)),o(3),a("asset",d(9,5,i.entity$))("editable",!0)("customFields",i.customFields)("customFieldsForm",i.detailForm.get("customFields")))},dependencies:[
|
|
18
|
-
/*# sourceMappingURL=asset-detail.component-PDCI4HIA.css.map */`],changeDetection:0})}}return e})();var Ps=()=>({}),Is=()=>["DeleteCatalog","DeleteAsset"],Sr=(()=>{class e extends za{constructor(t,n,i,r,m){super(r,m),this.notificationService=t,this.modalService=n,this.dataService=i,this.searchTerm$=new
|
|
19
|
-
/*# sourceMappingURL=asset-list.component-VYMP4D56.css.map */`]})}}return e})();var Er=e=>({channel:e}),Ds=e=>({channelCode:e});function Fs(e,l){e&1&&(M(0),f(1),s(2,"translate"),N()),e&2&&(o(),T(d(2,1,"catalog.assign-variants-to-channel")))}function Ss(e,l){e&1&&(f(0),s(1,"translate")),e&2&&T(d(1,1,"catalog.assign-products-to-channel"))}function Es(e,l){if(e&1&&g(0,Fs,3,3,"ng-container",14)(1,Ss,2,3,"ng-template",null,1,Q),e&2){let t=U(2),n=u();a("ngIf",n.isProductVariantMode)("ngIfElse",t)}}function Os(e,l){if(e&1&&(f(0),s(1,"translate")),e&2){let t=u();v(" ",O(1,1,"catalog.price-in-channel",j(4,Er,t.selectedChannel==null?null:t.selectedChannel.code))," ")}}function Vs(e,l){e&1&&(f(0),s(1,"translate")),e&2&&v(" ",d(1,1,"catalog.no-channel-selected")," ")}function ks(e,l){if(e&1&&(f(0),s(1,"localeCurrency")),e&2){let t=u().$implicit,n=u();v(" ",O(1,1,t.pricePreview,n.selectedChannel==null?null:n.selectedChannel.defaultCurrencyCode)," ")}}function Rs(e,l){e&1&&f(0," - ")}function Bs(e,l){if(e&1&&(c(0,"tr")(1,"td"),f(2),p(),c(3,"td"),f(4),s(5,"localeCurrency"),p(),c(6,"td"),g(7,ks,2,4,"ng-template",11)(8,Rs,1,0,"ng-template",null,2,Q),p()()),e&2){let t=l.$implicit,n=U(9),i=u();o(2),T(t.name),o(2),T(O(5,4,t.price,i.currentChannel==null?null:i.currentChannel.defaultCurrencyCode)),o(3),a("ngIf",i.selectedChannel)("ngIfElse",n)}}function As(e,l){if(e&1&&(f(0),s(1,"translate")),e&2){let t=u(2);v(" ",O(1,1,"catalog.assign-to-named-channel",j(4,Ds,t.selectedChannel==null?null:t.selectedChannel.code))," ")}}function ws(e,l){e&1&&(f(0),s(1,"translate")),e&2&&v(" ",d(1,1,"catalog.no-channel-selected")," ")}function Ms(e,l){if(e&1){let t=D();c(0,"button",15),C("click",function(){b(t);let i=u();return y(i.cancel())}),f(1),s(2,"translate"),p(),c(3,"button",16),C("click",function(){b(t);let i=u();return y(i.assign())}),g(4,As,2,6,"ng-template",11)(5,ws,2,3,"ng-template",null,0,Q),p()}if(e&2){let t=U(6),n=u();o(),T(d(2,4,"common.cancel")),o(2),a("disabled",!n.selectedChannel),o(),a("ngIf",n.selectedChannel)("ngIfElse",t)}}var
|
|
20
|
-
/*# sourceMappingURL=assign-products-to-channel-dialog.component-BAT3DWZF.css.map */`],changeDetection:0})}}return e})();var Hn=se(
|
|
17
|
+
`,Tr=(()=>{class e extends St{constructor(t,n,i){super(),this.notificationService=t,this.dataService=n,this.formBuilder=i,this.customFields=this.getCustomFieldConfig("Asset"),this.detailForm=new la({name:new vt(""),tags:new vt([]),customFields:this.formBuilder.group(_t(this.customFields))})}ngOnInit(){this.init()}ngOnDestroy(){this.destroy()}onAssetChange(t){this.detailForm.get("name")?.setValue(t.name),this.detailForm.get("tags")?.setValue(t.tags),this.detailForm.markAsDirty()}save(){this.dataService.product.updateAsset({id:this.id,name:this.detailForm.value.name,tags:this.detailForm.value.tags,customFields:this.detailForm.value.customFields}).subscribe(()=>{this.notificationService.success("common.notify-update-success",{entity:"Asset"})},t=>{this.notificationService.error("common.notify-update-error",{entity:"Asset"})})}setFormValues(t,n){this.detailForm.get("name")?.setValue(t.name),this.detailForm.get("tags")?.setValue(t.tags.map(i=>i.id)),this.customFields.length&&this.setCustomFieldFormValues(this.customFields,this.detailForm.get(["customFields"]),t)}static{this.\u0275fac=function(n){return new(n||e)(P(Y),P(k),P(un))}}static{this.\u0275cmp=E({type:e,selectors:[["vdr-asset-detail"]],standalone:!1,features:[ce],decls:10,vars:8,consts:[["locationId","asset-detail"],["class","btn btn-primary",3,"disabled","click",4,"vdrIfPermissions"],[3,"assetChange","asset","editable","customFields","customFieldsForm"],[1,"btn","btn-primary",3,"click","disabled"]],template:function(n,i){n&1&&(c(0,"vdr-page-block")(1,"vdr-action-bar"),h(2,"vdr-ab-left"),c(3,"vdr-ab-right"),h(4,"vdr-action-bar-items",0),g(5,xs,3,4,"button",1),h(6,"vdr-action-bar-dropdown-menu",0),p()()(),c(7,"vdr-page-block")(8,"vdr-asset-preview",2),s(9,"async"),C("assetChange",function(m){return i.onAssetChange(m)}),p()()),n&2&&(o(5),a("vdrIfPermissions",W(7,ys)),o(3),a("asset",d(9,5,i.entity$))("editable",!0)("customFields",i.customFields)("customFieldsForm",i.detailForm.get("customFields")))},dependencies:[Te,Pe,Ie,Be,Sa,xe,ke,de,G,R],styles:[`[_nghost-%COMP%]{display:flex;flex-direction:column;height:100%}
|
|
18
|
+
/*# sourceMappingURL=asset-detail.component-PDCI4HIA.css.map */`],changeDetection:0})}}return e})();var Ps=()=>({}),Is=()=>["DeleteCatalog","DeleteAsset"],Sr=(()=>{class e extends za{constructor(t,n,i,r,m){super(r,m),this.notificationService=t,this.modalService=n,this.dataService=i,this.searchTerm$=new Ae(void 0),this.filterByTags$=new Ae(void 0),this.uploading=!1,super.setQueryFn((..._)=>this.dataService.product.getAssetList(..._).refetchOnChannelChange(),_=>_.assets,(_,x)=>{let I=this.searchTerm$.value,S=this.filterByTags$.value?.map(L=>L.value);return{options:fe(X({skip:_,take:x},I?{filter:{name:{contains:I}}}:{}),{sort:{createdAt:Mo.DESC},tags:S,tagsOperator:mi.AND})}},{take:25,skip:0})}ngOnInit(){super.ngOnInit(),this.paginationConfig$=ee(this.itemsPerPage$,this.currentPage$,this.totalItems$).pipe(F(([t,n,i])=>({itemsPerPage:t,currentPage:n,totalItems:i}))),this.searchTerm$.pipe(rt(250),Vt(this.destroy$)).subscribe(()=>this.refresh()),this.filterByTags$.pipe(Vt(this.destroy$)).subscribe(()=>this.refresh()),this.allTags$=this.dataService.product.getTagList().mapStream(t=>t.tags.items)}filesSelected(t){t.length&&(this.uploading=!0,this.dataService.product.createAssets(t).pipe(Xi(()=>this.uploading=!1)).subscribe(({createAssets:n})=>{let i=0;for(let r of n)switch(r.__typename){case"Asset":i++;break;case"MimeTypeError":this.notificationService.error(r.message);break}0<i&&(super.refresh(),this.notificationService.success("asset.notify-create-assets-success",{count:i}))}))}deleteAssets(t){this.showModalAndDelete(t.map(n=>n.id)).pipe(B(n=>n.result===Xe.DELETED?[!0]:this.showModalAndDelete(t.map(i=>i.id),n.message||"").pipe(F(i=>i.result===Xe.DELETED)))).subscribe(()=>{this.notificationService.success("common.notify-delete-success",{entity:"Assets"}),this.refresh()},n=>{this.notificationService.error("common.notify-delete-error",{entity:"Assets"})})}showModalAndDelete(t,n){return this.modalService.dialog({title:"catalog.confirm-delete-assets",translationVars:{count:t.length},body:n,buttons:[{type:"secondary",label:"common.cancel"},{type:"danger",label:"common.delete",returnValue:!0}]}).pipe(B(i=>i?this.dataService.product.deleteAssets(t,!!n):le),F(i=>i.deleteAssets))}static{this.\u0275fac=function(n){return new(n||e)(P(Y),P(te),P(k),P(dt),P(xt))}}static{this.\u0275cmp=E({type:e,selectors:[["vdr-asset-list"]],standalone:!1,features:[ce],decls:17,vars:30,consts:[[1,"my-2"],[3,"searchTermChange","tagsChange","tags"],["dropZoneTarget",".content-area",3,"selectFiles","uploading"],[3,"deleteAssets","assets","multiSelect","canDelete"],[1,"paging-controls"],[3,"itemsPerPageChange","itemsPerPage"],[3,"pageChange","currentPage","itemsPerPage","totalItems"]],template:function(n,i){n&1&&(c(0,"vdr-page-block")(1,"div",0)(2,"vdr-asset-search-input",1),s(3,"async"),C("searchTermChange",function(m){return i.searchTerm$.next(m)})("tagsChange",function(m){return i.filterByTags$.next(m)}),c(4,"vdr-asset-file-input",2),C("selectFiles",function(m){return i.filesSelected(m)}),p()()(),c(5,"vdr-asset-gallery",3),s(6,"async"),s(7,"async"),s(8,"paginate"),s(9,"hasPermission"),C("deleteAssets",function(m){return i.deleteAssets(m)}),p(),c(10,"div",4)(11,"vdr-items-per-page-controls",5),s(12,"async"),C("itemsPerPageChange",function(m){return i.setItemsPerPage(m)}),p(),c(13,"vdr-pagination-controls",6),s(14,"async"),s(15,"async"),s(16,"async"),C("pageChange",function(m){return i.setPageNumber(m)}),p()()()),n&2&&(o(2),a("tags",d(3,9,i.allTags$)),o(2),a("uploading",i.uploading),o(),a("assets",O(8,15,d(6,11,i.items$),d(7,13,i.paginationConfig$)||W(28,Ps)))("multiSelect",!0)("canDelete",d(9,18,W(29,Is))),o(6),a("itemsPerPage",d(12,20,i.itemsPerPage$)),o(2),a("currentPage",d(14,22,i.currentPage$))("itemsPerPage",d(15,24,i.itemsPerPage$))("totalItems",d(16,26,i.totalItems$)))},dependencies:[Ta,Fi,Si,Da,Oa,de,G,Kt,qe],styles:[`[_nghost-%COMP%]{display:flex;flex-direction:column;height:100%}vdr-asset-gallery[_ngcontent-%COMP%]{flex:1}.paging-controls[_ngcontent-%COMP%]{padding-top:6px;border-top:1px solid var(--color-component-border-100);display:flex;justify-content:space-between}.search-input[_ngcontent-%COMP%]{margin-top:6px;min-width:300px}
|
|
19
|
+
/*# sourceMappingURL=asset-list.component-VYMP4D56.css.map */`]})}}return e})();var Er=e=>({channel:e}),Ds=e=>({channelCode:e});function Fs(e,l){e&1&&(M(0),f(1),s(2,"translate"),N()),e&2&&(o(),T(d(2,1,"catalog.assign-variants-to-channel")))}function Ss(e,l){e&1&&(f(0),s(1,"translate")),e&2&&T(d(1,1,"catalog.assign-products-to-channel"))}function Es(e,l){if(e&1&&g(0,Fs,3,3,"ng-container",14)(1,Ss,2,3,"ng-template",null,1,Q),e&2){let t=U(2),n=u();a("ngIf",n.isProductVariantMode)("ngIfElse",t)}}function Os(e,l){if(e&1&&(f(0),s(1,"translate")),e&2){let t=u();v(" ",O(1,1,"catalog.price-in-channel",j(4,Er,t.selectedChannel==null?null:t.selectedChannel.code))," ")}}function Vs(e,l){e&1&&(f(0),s(1,"translate")),e&2&&v(" ",d(1,1,"catalog.no-channel-selected")," ")}function ks(e,l){if(e&1&&(f(0),s(1,"localeCurrency")),e&2){let t=u().$implicit,n=u();v(" ",O(1,1,t.pricePreview,n.selectedChannel==null?null:n.selectedChannel.defaultCurrencyCode)," ")}}function Rs(e,l){e&1&&f(0," - ")}function Bs(e,l){if(e&1&&(c(0,"tr")(1,"td"),f(2),p(),c(3,"td"),f(4),s(5,"localeCurrency"),p(),c(6,"td"),g(7,ks,2,4,"ng-template",11)(8,Rs,1,0,"ng-template",null,2,Q),p()()),e&2){let t=l.$implicit,n=U(9),i=u();o(2),T(t.name),o(2),T(O(5,4,t.price,i.currentChannel==null?null:i.currentChannel.defaultCurrencyCode)),o(3),a("ngIf",i.selectedChannel)("ngIfElse",n)}}function As(e,l){if(e&1&&(f(0),s(1,"translate")),e&2){let t=u(2);v(" ",O(1,1,"catalog.assign-to-named-channel",j(4,Ds,t.selectedChannel==null?null:t.selectedChannel.code))," ")}}function ws(e,l){e&1&&(f(0),s(1,"translate")),e&2&&v(" ",d(1,1,"catalog.no-channel-selected")," ")}function Ms(e,l){if(e&1){let t=D();c(0,"button",15),C("click",function(){b(t);let i=u();return y(i.cancel())}),f(1),s(2,"translate"),p(),c(3,"button",16),C("click",function(){b(t);let i=u();return y(i.assign())}),g(4,As,2,6,"ng-template",11)(5,ws,2,3,"ng-template",null,0,Q),p()}if(e&2){let t=U(6),n=u();o(),T(d(2,4,"common.cancel")),o(2),a("disabled",!n.selectedChannel),o(),a("ngIf",n.selectedChannel)("ngIfElse",t)}}var di=(()=>{class e{get isProductVariantMode(){return this.productVariantIds!=null}constructor(t,n){this.dataService=t,this.notificationService=n,this.priceFactorControl=new Bt(1),this.selectedChannelIdControl=new Bt}ngOnInit(){let t=this.dataService.client.userStatus().mapSingle(({userStatus:i})=>i.activeChannelId),n=this.dataService.settings.getChannels().mapSingle(i=>i.channels);ee(t,n).subscribe(([i,r])=>{this.currentChannel=r.items.find(m=>m.id===i),this.availableChannels=r.items}),this.selectedChannelIdControl.valueChanges.subscribe(i=>{this.selectChannel(i)}),this.variantsPreview$=ee(Ui(this.getTopVariants(10)),this.priceFactorControl.valueChanges.pipe(st(1))).pipe(F(([i,r])=>i.map(m=>({id:m.id,name:m.name,price:m.price,pricePreview:m.price*+r}))))}selectChannel(t){this.selectedChannel=this.availableChannels.find(n=>n.id===t[0])}assign(){let t=this.selectedChannel;t&&(this.isProductVariantMode?this.productVariantIds&&this.dataService.product.assignVariantsToChannel({channelId:t.id,productVariantIds:this.productVariantIds,priceFactor:+this.priceFactorControl.value}).subscribe(()=>{this.notificationService.success("catalog.assign-variant-to-channel-success",{channel:t.code,count:this.productVariantIds.length}),this.resolveWith(!0)}):this.dataService.product.assignProductsToChannel({channelId:t.id,productIds:this.productIds,priceFactor:+this.priceFactorControl.value}).subscribe(()=>{this.notificationService.success("catalog.assign-product-to-channel-success",{channel:t.code,count:this.productIds.length}),this.resolveWith(!0)}))}cancel(){this.resolveWith()}getTopVariants(t){return go(this,null,function*(){return(yield Zi(this.dataService.product.getProductVariants({filterOperator:mi.OR,filter:{productId:{in:this.productIds},id:{in:this.productVariantIds}},take:t}).single$)).productVariants.items})}static{this.\u0275fac=function(n){return new(n||e)(P(k),P(Y))}}static{this.\u0275cmp=E({type:e,selectors:[["vdr-assign-products-to-channel-dialog"]],standalone:!1,decls:36,vars:32,consts:[["noSelection",""],["productModeTitle",""],["noChannelSelected",""],["vdrDialogTitle",""],[1,"flex"],["clrInput","",3,"multiple","includeDefaultChannel","disableChannelIds","formControl"],[1,"flex-spacer"],["clrInput","","type","number","min","0","max","99999",3,"formControl"],[1,"channel-price-preview"],[1,"clr-control-label"],[1,"table"],[3,"ngIf","ngIfElse"],[4,"ngFor","ngForOf"],["vdrDialogButtons",""],[4,"ngIf","ngIfElse"],["type","button",1,"btn",3,"click"],["type","submit",1,"btn","btn-primary",3,"click","disabled"]],template:function(n,i){if(n&1&&(g(0,Es,3,2,"ng-template",3),c(1,"div",4)(2,"clr-input-container")(3,"label"),f(4),s(5,"translate"),p(),h(6,"vdr-channel-assignment-control",5),p(),h(7,"div",6),c(8,"clr-input-container")(9,"label"),f(10),s(11,"translate"),p(),h(12,"input",7),p()(),c(13,"div",8)(14,"label",9),f(15),s(16,"translate"),p(),c(17,"table",10)(18,"thead")(19,"tr")(20,"th"),f(21),s(22,"translate"),p(),c(23,"th"),f(24),s(25,"channelCodeToLabel"),s(26,"translate"),s(27,"translate"),p(),c(28,"th"),g(29,Os,2,6,"ng-template",11)(30,Vs,2,3,"ng-template",null,0,Q),p()()(),c(32,"tbody"),g(33,Bs,10,7,"tr",12),s(34,"async"),p()()(),g(35,Ms,7,6,"ng-template",13)),n&2){let r=U(31);o(4),T(d(5,13,"common.channel")),o(2),a("multiple",!1)("includeDefaultChannel",!1)("disableChannelIds",i.currentChannelIds)("formControl",i.selectedChannelIdControl),o(4),T(d(11,15,"catalog.price-conversion-factor")),o(2),a("formControl",i.priceFactorControl),o(3),T(d(16,17,"catalog.channel-price-preview")),o(6),T(d(22,19,"common.name")),o(3),v(" ",O(27,25,"catalog.price-in-channel",j(30,Er,d(26,23,d(25,21,i.currentChannel==null?null:i.currentChannel.code))))," "),o(5),a("ngIf",i.selectedChannel)("ngIfElse",r),o(4),a("ngForOf",d(34,28,i.variantsPreview$))}},dependencies:[Ee,Gt,_n,$,A,ie,Ut,Z,yi,sa,Pt,K,We,Oe,Va,G,R,Cn,Tt],styles:[`vdr-channel-assignment-control[_ngcontent-%COMP%]{min-width:200px}.channel-price-preview[_ngcontent-%COMP%]{margin-top:24px}.channel-price-preview[_ngcontent-%COMP%] table.table[_ngcontent-%COMP%]{margin-top:6px}
|
|
20
|
+
/*# sourceMappingURL=assign-products-to-channel-dialog.component-BAT3DWZF.css.map */`],changeDetection:0})}}return e})();var Hn=se(Jt());var Or=ne`
|
|
21
21
|
query GetProductsWithFacetValuesByIds($ids: [String!]!) {
|
|
22
22
|
products(options: { filter: { id: { in: $ids } } }) {
|
|
23
23
|
items {
|
|
@@ -81,36 +81,36 @@ import{a as ni}from"./chunk-MZFFGCAS.js";import{$ as Io,$c as sn,$d as Pi,$e as
|
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
83
|
`;function Ns(e,l){e&1&&(f(0),s(1,"translate")),e&2&&v(" ",d(1,1,"catalog.edit-facet-values"),`
|
|
84
|
-
`)}function Ls(e,l){if(e&1&&(c(0,"div",14),f(1),p()),e&2){let t=u().$implicit;o(),T(t.sku)}}function Us(e,l){if(e&1){let t=D();c(0,"vdr-facet-value-chip",15),C("remove",function(){let i=b(t).$implicit,r=u().$implicit,m=u(2);return y(m.removeFacetValue(r,i.id))}),p()}if(e&2){let t=l.$implicit;a("facetValue",t)}}function $s(e,l){if(e&1&&(c(0,"tr")(1,"td",10)(2,"div"),f(3),p(),g(4,Ls,2,1,"div",11),p(),c(5,"td",12),g(6,Us,1,1,"vdr-facet-value-chip",13),p()()),e&2){let t=l.$implicit;o(3),T(t.name),o(),a("ngIf",t.sku),o(2),a("ngForOf",t.facetValues)}}function Gs(e,l){if(e&1&&(c(0,"table",8)(1,"tbody"),g(2,$s,7,3,"tr",9),p()()),e&2){let t=u();o(2),a("ngForOf",t.items)}}function js(e,l){e&1&&(c(0,"div",16),h(1,"clr-spinner"),p())}function Ws(e,l){if(e&1){let t=D();c(0,"button",17),C("click",function(){b(t);let i=u();return y(i.cancel())}),f(1),s(2,"translate"),p(),c(3,"button",18),C("click",function(){b(t);let i=u();return y(i.addFacetValues())}),f(4),s(5,"translate"),p()}if(e&2){let t=u();o(),T(d(2,3,"common.cancel")),o(2),a("disabled",t.selectedValues.length===0&&t.facetValuesRemoved===!1),o(),v(" ",d(5,5,"common.update")," ")}}var Qi=(()=>{class e{constructor(t,n){this.dataService=t,this.changeDetectorRef=n,this.mode="product",this.state="loading",this.selectedValues=[],this.items=[],this.facetValuesRemoved=!1}ngOnInit(){let t=this.mode==="product"?this.dataService.query(Or,{ids:this.ids??[]}).mapSingle(({products:n})=>n.items.map(i=>fe(X({},i),{facetValues:[...i.facetValues]}))):this.dataService.query(Vr,{ids:this.ids??[]}).mapSingle(({productVariants:n})=>n.items.map(i=>fe(X({},i),{facetValues:[...i.facetValues]})));this.subscription=t.subscribe({next:n=>{this.items=n,this.state="ready",this.changeDetectorRef.markForCheck()}})}ngOnDestroy(){this.subscription?.unsubscribe()}cancel(){this.resolveWith()}removeFacetValue(t,n){t.facetValues=t.facetValues.filter(i=>i.id!==n),this.facetValuesRemoved=!0}addFacetValues(){let t=this.selectedValues.map(i=>i.id);return this.state="saving",(this.mode==="product"?this.dataService.mutate(kr,{input:this.items?.map(i=>({id:i.id,facetValueIds:(0,Hn.unique)([...i.facetValues.map(r=>r.id),...t])}))}):this.dataService.mutate(Rr,{input:this.items?.map(i=>({id:i.id,facetValueIds:(0,Hn.unique)([...i.facetValues.map(r=>r.id),...t])}))})).subscribe(i=>{this.resolveWith(this.selectedValues)})}static{this.\u0275fac=function(n){return new(n||e)(P(k),P(pe))}}static{this.\u0275cmp=E({type:e,selectors:[["vdr-bulk-add-facet-values-dialog"]],standalone:!1,decls:11,vars:5,consts:[["placeholder",""],["vdrDialogTitle",""],[1,"flex"],[1,"flex","center"],[1,"mr2"],[3,"selectedValuesChange"],["class","table",4,"ngIf","ngIfElse"],["vdrDialogButtons",""],[1,"table"],[4,"ngFor","ngForOf"],[1,"left","align-middle"],["class","sku",4,"ngIf"],[1,"left"],[3,"facetValue","remove",4,"ngFor","ngForOf"],[1,"sku"],[3,"remove","facetValue"],[1,"loading"],["type","button",1,"btn",3,"click"],["type","submit",1,"btn","btn-primary",3,"click","disabled"]],template:function(n,i){if(n&1){let r=D();g(0,Ns,2,3,"ng-template",1),c(1,"div",2)(2,"div",3)(3,"div",4),f(4),s(5,"translate"),p(),c(6,"vdr-facet-value-selector",5),C("selectedValuesChange",function(_){return b(r),y(i.selectedValues=_)}),p()()(),g(7,Gs,3,1,"table",6)(8,js,2,0,"ng-template",null,0,Q)(10,Ws,6,7,"ng-template",7)}if(n&2){let r=U(9);o(4),v(" ",d(5,3,"catalog.add-facet-value")," "),o(3),a("ngIf",i.state!=="loading")("ngIfElse",r)}},dependencies:[ua,$,A,Di,
|
|
85
|
-
/*# sourceMappingURL=bulk-add-facet-values-dialog.component-RXBCJHHY.css.map */`],changeDetection:0})}}return e})();var qs=e=>({$implicit:e}),Hs=e=>["/catalog/products",e];function Qs(e,l){e&1&&kt(0)}function Ys(e,l){if(e&1&&f(0),e&2){let t=l.item;v(" ",t.id," ")}}function Ks(e,l){if(e&1&&(f(0),s(1,"localeDate")),e&2){let t=l.item;v(" ",O(1,1,t.createdAt,"short")," ")}}function zs(e,l){if(e&1&&(f(0),s(1,"localeDate")),e&2){let t=l.item;v(" ",O(1,1,t.updatedAt,"short")," ")}}function Zs(e,l){if(e&1&&(c(0,"a",11)(1,"span"),f(2),p(),h(3,"clr-icon",12),p()),e&2){let t=l.item;a("routerLink",j(2,Hs,t.productId)),o(2),T(t.name)}}function Js(e,l){if(e&1&&f(0),e&2){let t=l.item;v(" ",t.sku," ")}}var Yi=(()=>{class e{constructor(t,n,i){this.route=t,this.router=n,this.dataService=i,this.previewUpdatedFilters=!1,this.filterTermControl=new Bt(""),this.isLoading=!1,this.collectionIdChange$=new
|
|
86
|
-
/*# sourceMappingURL=collection-contents.component-HHSCBWP7.css.map */`],changeDetection:0})}}return e})();var Xs=["collectionRow"],ec=[[["vdr-bulk-action-menu"]]],tc=["vdr-bulk-action-menu"],ic=(e,l,t,n)=>({itemsPerPage:e,currentPage:l,totalItems:t,id:n}),nc=(e,l)=>({item:e,i:l,depth:0}),oc=(e,l,t)=>({currentStart:e,currentEnd:l,totalItems:t}),ac=(e,l)=>({depth:e,collection:l}),rc=e=>({rowItem:e}),wr=(e,l)=>({item:e,depth:l});function lc(e,l){if(e&1&&h(0,"vdr-data-table-filter-presets",19),e&2){let t=u();a("filters",t.filters)("dataTableId",t.id)}}function sc(e,l){if(e&1){let t=D();c(0,"th",20)(1,"div",21),h(2,"div",22),c(3,"input",23),C("change",function(){b(t);let i=u();return y(i.onToggleAllClick())}),p()()()}if(e&2){let t=u();o(3),a("checked",t.selectionManager==null?null:t.selectionManager.areAllCurrentItemsSelected())}}function cc(e,l){e&1&&h(0,"clr-icon",33)}function pc(e,l){e&1&&h(0,"clr-icon",34)}function dc(e,l){e&1&&h(0,"clr-icon",35)}function mc(e,l){if(e&1&&(c(0,"div",36),f(1),p()),e&2){let t=u().ngIf;o(),T(t.sortOrder)}}function uc(e,l){if(e&1){let t=D();c(0,"div",27)(1,"button",28),C("click",function(){let i=b(t).ngIf;return y(i.toggleSortOrder())}),g(2,cc,1,0,"clr-icon",29)(3,pc,1,0,"clr-icon",30)(4,dc,1,0,"clr-icon",31),p(),g(5,mc,2,1,"div",32),p()}if(e&2){let t=l.ngIf;o(),w("active",t.sortOrder),o(),a("ngIf",!t.sortOrder),o(),a("ngIf",t.sortOrder==="ASC"),o(),a("ngIf",t.sortOrder==="DESC"),o(),a("ngIf",t.sortOrder)}}function gc(e,l){if(e&1&&(c(0,"th")(1,"div",24)(2,"vdr-ui-extension-point",25)(3,"span"),f(4),p()(),g(5,uc,6,6,"div",26),p()()),e&2){let t=l.$implicit,n=u();w("expand",t.expand),o(),a("ngClass",t.align),o(),a("locationId",n.id)("metadata",t.id)("topPx",-6)("leftPx",-24),o(2),T(t.heading),o(),a("ngIf",t.sort)}}function _c(e,l){e&1&&kt(0)}function fc(e,l){e&1&&kt(0)}function hc(e,l){if(e&1&&h(0,"vdr-data-table-filters",45),e&2){let t=l.$implicit,n=u(3);a("filterWithValue",t)("filters",n.filters)}}function vc(e,l){if(e&1&&h(0,"vdr-data-table-filters",46),e&2){let t=u(3);a("filters",t.filters)}}function Cc(e,l){if(e&1&&(M(0),c(1,"div",42),g(2,hc,1,2,"vdr-data-table-filters",43)(3,vc,1,1,"vdr-data-table-filters",44),h(4,"vdr-add-filter-preset-button",19),p(),N()),e&2){let t=u(2);o(2),a("ngForOf",t.filters.activeFilters),o(),a("ngIf",t.filters.length),o(),a("filters",t.filters)("dataTableId",t.id)}}function bc(e,l){if(e&1){let t=D();c(0,"tr")(1,"th",37)(2,"button",38),s(3,"translate"),C("click",function(){b(t);let i=u();return y(i.toggleSearchFilterRow())}),h(4,"clr-icon",39),p(),c(5,"div",40),g(6,_c,1,0,"ng-container",41)(7,fc,1,0,"ng-container",41)(8,Cc,5,4,"ng-container",12),p()()()}if(e&2){let t=u();o(),w("active",t.showSearchFilterRow),Bn("colspan",t.visibleSortedColumns.length+(t.selectionManager?2:1)),o(),w("active",t.showSearchFilterRow),a("title",d(3,11,"common.search-and-filter-list")),o(3),w("hidden",!t.showSearchFilterRow),o(),a("ngTemplateOutlet",t.searchComponent==null?null:t.searchComponent.template),o(),a("ngTemplateOutlet",t.customSearchTemplate),o(),a("ngIf",t.filters)}}function yc(e,l){if(e&1&&(M(0),kt(1,47),N()),e&2){let t=l.$implicit,n=l.index;u();let i=U(24);o(),a("ngTemplateOutlet",i)("ngTemplateOutletContext",Rt(2,nc,t,n))}}function xc(e,l){if(e&1&&(c(0,"tr")(1,"td"),h(2,"vdr-empty-placeholder",48),p()()),e&2){let t=u();o(),Bn("colspan",t.visibleSortedColumns.length+(t.selectionManager?2:1)),o(),a("emptyStateLabel",t.emptyStateLabel)}}function Pc(e,l){if(e&1){let t=D();c(0,"vdr-items-per-page-controls",49),C("itemsPerPageChange",function(i){b(t);let r=u();return y(r.itemsPerPageChange.emit(i))}),p()}if(e&2){let t=u();a("itemsPerPage",t.itemsPerPage)}}function Ic(e,l){if(e&1&&(c(0,"div",50),f(1),s(2,"translate"),p()),e&2){let t=u();o(),v(" ",O(2,1,"common.total-items",nn(4,oc,t.currentStart,t.currentEnd,t.totalItems))," ")}}function Tc(e,l){if(e&1){let t=D();c(0,"vdr-pagination-controls",51),C("pageChange",function(i){b(t);let r=u();return y(r.pageChange.emit(i))}),p()}if(e&2){let t=u();a("id",t.id)("currentPage",t.currentPage)("itemsPerPage",t.itemsPerPage)("totalItems",t.totalItems)}}function Dc(e,l){if(e&1){let t=D();c(0,"td",20)(1,"div",21)(2,"div",56),s(3,"translate"),h(4,"clr-icon",57),p(),c(5,"input",58),C("click",function(i){b(t);let r=u().item,m=u();return y(m.onRowClick(r,i))}),p()()()}if(e&2){let t=u().item,n=u();w("active",n.activeIndex===n.absoluteIndex[t.id]),o(2),a("title",d(3,4,"catalog.reorder-collection")),o(3),a("checked",n.selectionManager==null?null:n.selectionManager.isSelected(t))}}function Fc(e,l){e&1&&kt(0)}function Sc(e,l){if(e&1&&(M(0),g(1,Fc,1,0,"ng-container",60),N()),e&2){let t=l.ngIf,n=u(2).item;o(),a("ngComponentOutlet",t.config.component)("ngComponentOutletInputs",j(3,rc,n))("ngComponentOutletInjector",t.injector)}}function Ec(e,l){e&1&&kt(0)}function Oc(e,l){if(e&1&&g(0,Ec,1,0,"ng-container",61),e&2){let t=u().$implicit,n=u(),i=n.item,r=n.depth;a("ngTemplateOutlet",t.template)("ngTemplateOutletContext",Rt(2,wr,i,r))}}function Vc(e,l){if(e&1&&(c(0,"td")(1,"div",24),g(2,Sc,2,5,"ng-container",59)(3,Oc,1,5,"ng-template",null,2,Q),p()()),e&2){let t=l.$implicit,n=U(4),i=u().item,r=u();w("active",r.activeIndex===r.absoluteIndex[i.id]),o(),a("ngClass",t.align),o(),a("ngIf",r.customComponents.get(t.id))("ngIfElse",n)}}function kc(e,l){e&1&&kt(0)}function Rc(e,l){if(e&1&&(M(0),g(1,kc,1,0,"ng-container",61),N()),e&2){let t=l.$implicit,n=u().depth;u();let i=U(24);o(),a("ngTemplateOutlet",i)("ngTemplateOutletContext",Rt(2,wr,t,n+1))}}function Bc(e,l){if(e&1&&(c(0,"tr",52,1),g(2,Dc,6,6,"td",53)(3,Vc,5,5,"td",54),h(4,"td"),p(),g(5,Rc,2,5,"ng-container",55)),e&2){let t=l.item,n=l.depth,i=u();a("cdkDragData",Rt(6,ac,n,t)),o(2),a("ngIf",i.selectionManager),o(),a("ngForOf",i.visibleSortedColumns),o(),w("active",i.activeIndex===i.absoluteIndex[t.id]),o(),a("ngForOf",i.getSubcollections(t))}}var Ki=(()=>{class e extends ot{constructor(t,n){super(t,n),this.changeDetectorRef=t,this.dataService=n,this.changeOrder=new ht,this.dragRefs=[],this.absoluteIndex={},this.sortPredicate=(i,r)=>this.dropList.getSortedItems()[i]?.data.collection.parentId===r.data.collection.parentId}ngOnChanges(t){if(super.ngOnChanges(t),t.subCollections||t.items){let n=[];for(let i of this.items??[]){n.push(i);let r=this.getSubcollections(i);n.push(...r.flat())}n.forEach((i,r)=>this.absoluteIndex[i.id]=r)}}ngAfterViewInit(){this.collectionRowList.changes.subscribe(t=>{this.dropList.getSortedItems().forEach(n=>this.dropList.removeItem(n));for(let n of t.toArray())n.dropContainer=this.dropList,n._dragRef._withDropContainer(this.dropList._dropListRef),this.dropList.addItem(n)})}getSubcollections(t){return this.subCollections?.filter(n=>n.parentId===t.id)??[]}onDrop(t){let n=t.item.data.collection.breadcrumbs.length===2,i=n?(this.currentPage-1)*this.itemsPerPage:0,r=t.item.data.collection.parentId,m=this.items.findIndex(x=>x.id===r),_=i+t.currentIndex-m-1;if(this.changeOrder.emit({collectionId:t.item.data.collection.id,index:_,parentId:t.item.data.collection.parentId}),n)this.items=[...this.items],this.items.splice(t.previousIndex,1),this.items.splice(t.currentIndex,0,t.item.data.collection);else{let x=this.items.find(I=>I.id===r);if(x){let I=this.getSubcollections(x),S=i+t.previousIndex-m-1;I.splice(S,1),I.splice(t.currentIndex,0,t.item.data.collection)}}this.changeDetectorRef.markForCheck()}static{this.\u0275fac=function(n){return new(n||e)(P(pe),P(k))}}static{this.\u0275cmp=E({type:e,selectors:[["vdr-collection-data-table"]],viewQuery:function(n,i){if(n&1&&(pt(Pi,7),pt(Xs,5,xi)),n&2){let r;Ze(r=Je())&&(i.dropList=r.first),Ze(r=Je())&&(i.collectionRowList=r)}},inputs:{subCollections:"subCollections"},outputs:{changeOrder:"changeOrder"},standalone:!1,features:[ce,yt],ngContentSelectors:tc,decls:25,vars:27,consts:[["collectionRowTmp",""],["collectionRow",""],["defaultComponent",""],[3,"filters","dataTableId",4,"ngIf"],[1,"table-wrapper"],[1,"bulk-actions"],[1,""],[1,"heading-row"],["class","selection-col",4,"ngIf"],[3,"expand",4,"ngFor","ngForOf"],[1,"column-picker"],[3,"reorder","resetColumns","uiLanguage","columns"],[4,"ngIf"],["cdkDropList","","cdkDropListLockAxis","y",3,"cdkDropListDropped","cdkDropListSortPredicate"],[4,"ngFor","ngForOf","ngForTrackBy"],[1,"table-footer"],[3,"itemsPerPage","itemsPerPageChange",4,"ngIf"],["class","p5 total-items-count",4,"ngIf"],[3,"id","currentPage","itemsPerPage","totalItems","pageChange",4,"ngIf"],[3,"filters","dataTableId"],[1,"selection-col"],[1,"flex"],[1,"drag-handle-spacer"],["type","checkbox","clrCheckbox","",3,"change","checked"],[1,"cell-content",3,"ngClass"],["api","dataTable","display","block",3,"locationId","metadata","topPx","leftPx"],["class","sort-toggle",4,"ngIf"],[1,"sort-toggle"],[3,"click"],["shape","two-way-arrows left",4,"ngIf"],["shape","arrow up",4,"ngIf"],["shape","arrow down",4,"ngIf"],["class","sort-label",4,"ngIf"],["shape","two-way-arrows left"],["shape","arrow up"],["shape","arrow down"],[1,"sort-label"],[1,"filter-row"],[1,"button-ghost","toggle-search-filter-row",3,"click","title"],["shape","search"],[1,"filter-row-wrapper"],[4,"ngTemplateOutlet"],[1,"filters"],["class","mt-1",3,"filterWithValue","filters",4,"ngFor","ngForOf"],["class","mt-1",3,"filters",4,"ngIf"],[1,"mt-1",3,"filterWithValue","filters"],[1,"mt-1",3,"filters"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"emptyStateLabel"],[3,"itemsPerPageChange","itemsPerPage"],[1,"p5","total-items-count"],[3,"pageChange","id","currentPage","itemsPerPage","totalItems"],["cdkDrag","","cdkDragBoundary","tbody",3,"cdkDragData"],["class","selection-col",3,"active",4,"ngIf"],[3,"active",4,"ngFor","ngForOf"],[4,"ngFor","ngForOf"],["cdkDragHandle","",1,"drag-handle",3,"title"],["shape","drag-handle"],["type","checkbox","clrCheckbox","",3,"click","checked"],[4,"ngIf","ngIfElse"],[4,"ngComponentOutlet","ngComponentOutletInputs","ngComponentOutletInjector"],[4,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(n,i){if(n&1){let r=D();So(ec),g(0,lc,1,2,"vdr-data-table-filter-presets",3),c(1,"div",4)(2,"div",5),Eo(3),p(),c(4,"table",6)(5,"thead")(6,"tr",7),g(7,sc,4,1,"th",8)(8,gc,6,9,"th",9),c(9,"th")(10,"div",10)(11,"vdr-data-table-colum-picker",11),s(12,"async"),C("reorder",function(_){return b(r),y(i.onColumnReorder(_))})("resetColumns",function(){return b(r),y(i.onColumnsReset())}),p()()()(),g(13,bc,9,13,"tr",12),p(),c(14,"tbody",13),C("cdkDropListDropped",function(_){return b(r),y(i.onDrop(_))}),g(15,yc,2,5,"ng-container",14),s(16,"paginate"),M(17),g(18,xc,3,2,"tr",12),N(),p()()(),c(19,"div",15),g(20,Pc,1,1,"vdr-items-per-page-controls",16)(21,Ic,3,8,"div",17)(22,Tc,1,4,"vdr-pagination-controls",18),p(),g(23,Bc,6,9,"ng-template",null,0,Q)}n&2&&(a("ngIf",i.filters),o(4),w("no-select",i.disableSelect),o(),w("items-selected",i.selectionManager==null?null:i.selectionManager.selection.length),o(2),a("ngIf",i.selectionManager),o(),a("ngForOf",i.visibleSortedColumns),o(3),a("uiLanguage",d(12,17,i.uiLanguage$))("columns",i.sortedColumns),o(2),a("ngIf",i.searchComponent||i.customSearchTemplate||(i.filters==null?null:i.filters.length)),o(),a("cdkDropListSortPredicate",i.sortPredicate),o(),a("ngForOf",O(16,19,i.items,ko(22,ic,i.itemsPerPage,i.currentPage,i.totalItems,i.id)))("ngForTrackBy",i.trackByFn.bind(i)),o(3),a("ngIf",!(i.items!=null&&i.items.length)),o(2),a("ngIf",i.totalItems),o(),a("ngIf",i.totalItems),o(),a("ngIf",i.totalItems))},dependencies:[J,ye,Nt,Bo,$,A,on,Pi,xi,gn,Fi,Si,K,Ra,va,Ba,Aa,wa,Ma,G,Yt,R],styles:[`[_nghost-%COMP%]{display:block;max-width:100%;position:relative;margin-bottom:calc(var(--space-unit) * 4);container-type:inline-size}th[_ngcontent-%COMP%]{border-bottom:1px solid var(--color-table-header-border);color:var(--color-weight-700);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;position:relative;white-space:nowrap;background-color:transparent}th[_ngcontent-%COMP%], td[_ngcontent-%COMP%]{padding:calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 1);color:var(--color-text-100)}tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:first-of-type, tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:first-of-type{text-align:center}@media screen and (min-width: 992px){tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:first-of-type, tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:first-of-type{padding-inline-start:var(--surface-margin-left);text-align:start}}th[_ngcontent-%COMP%]:last-of-type, td[_ngcontent-%COMP%]:last-of-type{border-inline-end:1px solid var(--color-table-header-border)}tr[_ngcontent-%COMP%]:first-of-type th[_ngcontent-%COMP%]:last-of-type{border-image:linear-gradient(0deg,var(--color-table-header-border),transparent) 1}tr[_ngcontent-%COMP%]:last-of-type td[_ngcontent-%COMP%]:last-of-type{border-image:linear-gradient(180deg,var(--color-table-header-border),transparent) 1}tbody[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{border-bottom:1px solid var(--color-table-row-separator)}tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover{background-color:var(--color-table-row-hover-bg)}.bulk-actions[_ngcontent-%COMP%]{margin-inline-start:calc(var(--space-unit) * 5);background-color:var(--color-surface-bg);z-index:10;display:flex;position:absolute;top:5px;height:40px}@media screen and (min-width: 992px){.bulk-actions[_ngcontent-%COMP%]{margin-inline-start:calc(var(--space-unit) * 8.5)}}@media screen and (min-width: 1280px){.bulk-actions[_ngcontent-%COMP%]{margin-inline-start:calc(var(--space-unit) * 10.5)}}.table-wrapper[_ngcontent-%COMP%]{display:block;overflow-y:hidden;overflow-x:auto;position:relative;width:100%;max-width:var(--surface-width)}table[_ngcontent-%COMP%]{width:100%}table.no-select[_ngcontent-%COMP%]{-webkit-user-select:none;user-select:none}.column-picker[_ngcontent-%COMP%]{width:24px}.sort-toggle[_ngcontent-%COMP%]{display:flex;align-items:center;margin-inline-start:calc(var(--space-unit) * .5)}.sort-toggle[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{border:0;border-radius:var(--border-radius-lg);color:var(--color-weight-500);padding:0 2px;cursor:pointer;background-color:transparent}.sort-toggle[_ngcontent-%COMP%] button.active[_ngcontent-%COMP%]{color:var(--color-primary-700)}.sort-toggle[_ngcontent-%COMP%] .sort-label[_ngcontent-%COMP%]{margin-inline-start:calc(var(--space-unit) * .5);font-size:10px;color:var(--color-primary-600);font-weight:400}.toggle-search-filter-row[_ngcontent-%COMP%]{position:absolute;top:-12px;left:4px}@media screen and (min-width: 1280px){.toggle-search-filter-row[_ngcontent-%COMP%]{left:8px}}.toggle-search-filter-row.active[_ngcontent-%COMP%]{background-color:var(--color-primary-700);color:var(--color-primary-100);border-color:var(--color-primary-700)}th.filter-row[_ngcontent-%COMP%]{position:relative;font-size:var(--font-size-base);font-weight:400;background-color:var(--color-weight-100);box-shadow:var(--data-table-filter-box-shadow);border-left-width:0;border-right-width:0;text-align:initial;padding:0}th.filter-row[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:100%}th.filter-row.active[_ngcontent-%COMP%]{border-bottom:1px solid var(--color-table-header-border)}th.filter-row[_ngcontent-%COMP%] .filters[_ngcontent-%COMP%]{margin-top:calc(var(--space-unit) * 1);display:flex;flex-wrap:wrap;gap:calc(var(--space-unit) * .5)}.filter-row-wrapper[_ngcontent-%COMP%]{padding:calc(var(--space-unit) * 4);padding-inline-start:0;max-height:150px;transition:max-height .2s,padding .2s,opacity .2s}.filter-row-wrapper.hidden[_ngcontent-%COMP%]{max-height:0px;padding-top:0;padding-bottom:0;overflow:hidden;opacity:0}.cell-link[_ngcontent-%COMP%]{display:block;width:100%;height:100%}td.active[_ngcontent-%COMP%]{background-color:var(--color-table-row-active-bg)}.cell-content[_ngcontent-%COMP%]{display:flex;align-items:center;line-height:var(--font-size-sm);color:var(--color-weight-700)}.cell-content.left[_ngcontent-%COMP%]{justify-content:flex-start}.cell-content.center[_ngcontent-%COMP%]{justify-content:center}.cell-content.right[_ngcontent-%COMP%]{justify-content:flex-end}.selection-col[_ngcontent-%COMP%]{width:calc(var(--space-unit) * 8)}vdr-empty-placeholder[_ngcontent-%COMP%]{width:100%}.table-footer[_ngcontent-%COMP%]{display:flex;align-items:baseline;justify-content:space-between;margin-top:var(--space-unit);margin-inline-start:var(--surface-margin-left);margin-inline-end:var(--space-unit)}.total-items-count[_ngcontent-%COMP%]{font-size:var(--font-size-xs)}@container (max-width: 500px){.total-items-count[_ngcontent-%COMP%]{display:none}}
|
|
84
|
+
`)}function Ls(e,l){if(e&1&&(c(0,"div",14),f(1),p()),e&2){let t=u().$implicit;o(),T(t.sku)}}function Us(e,l){if(e&1){let t=D();c(0,"vdr-facet-value-chip",15),C("remove",function(){let i=b(t).$implicit,r=u().$implicit,m=u(2);return y(m.removeFacetValue(r,i.id))}),p()}if(e&2){let t=l.$implicit;a("facetValue",t)}}function $s(e,l){if(e&1&&(c(0,"tr")(1,"td",10)(2,"div"),f(3),p(),g(4,Ls,2,1,"div",11),p(),c(5,"td",12),g(6,Us,1,1,"vdr-facet-value-chip",13),p()()),e&2){let t=l.$implicit;o(3),T(t.name),o(),a("ngIf",t.sku),o(2),a("ngForOf",t.facetValues)}}function Gs(e,l){if(e&1&&(c(0,"table",8)(1,"tbody"),g(2,$s,7,3,"tr",9),p()()),e&2){let t=u();o(2),a("ngForOf",t.items)}}function js(e,l){e&1&&(c(0,"div",16),h(1,"clr-spinner"),p())}function Ws(e,l){if(e&1){let t=D();c(0,"button",17),C("click",function(){b(t);let i=u();return y(i.cancel())}),f(1),s(2,"translate"),p(),c(3,"button",18),C("click",function(){b(t);let i=u();return y(i.addFacetValues())}),f(4),s(5,"translate"),p()}if(e&2){let t=u();o(),T(d(2,3,"common.cancel")),o(2),a("disabled",t.selectedValues.length===0&&t.facetValuesRemoved===!1),o(),v(" ",d(5,5,"common.update")," ")}}var Qi=(()=>{class e{constructor(t,n){this.dataService=t,this.changeDetectorRef=n,this.mode="product",this.state="loading",this.selectedValues=[],this.items=[],this.facetValuesRemoved=!1}ngOnInit(){let t=this.mode==="product"?this.dataService.query(Or,{ids:this.ids??[]}).mapSingle(({products:n})=>n.items.map(i=>fe(X({},i),{facetValues:[...i.facetValues]}))):this.dataService.query(Vr,{ids:this.ids??[]}).mapSingle(({productVariants:n})=>n.items.map(i=>fe(X({},i),{facetValues:[...i.facetValues]})));this.subscription=t.subscribe({next:n=>{this.items=n,this.state="ready",this.changeDetectorRef.markForCheck()}})}ngOnDestroy(){this.subscription?.unsubscribe()}cancel(){this.resolveWith()}removeFacetValue(t,n){t.facetValues=t.facetValues.filter(i=>i.id!==n),this.facetValuesRemoved=!0}addFacetValues(){let t=this.selectedValues.map(i=>i.id);return this.state="saving",(this.mode==="product"?this.dataService.mutate(kr,{input:this.items?.map(i=>({id:i.id,facetValueIds:(0,Hn.unique)([...i.facetValues.map(r=>r.id),...t])}))}):this.dataService.mutate(Rr,{input:this.items?.map(i=>({id:i.id,facetValueIds:(0,Hn.unique)([...i.facetValues.map(r=>r.id),...t])}))})).subscribe(i=>{this.resolveWith(this.selectedValues)})}static{this.\u0275fac=function(n){return new(n||e)(P(k),P(pe))}}static{this.\u0275cmp=E({type:e,selectors:[["vdr-bulk-add-facet-values-dialog"]],standalone:!1,decls:11,vars:5,consts:[["placeholder",""],["vdrDialogTitle",""],[1,"flex"],[1,"flex","center"],[1,"mr2"],[3,"selectedValuesChange"],["class","table",4,"ngIf","ngIfElse"],["vdrDialogButtons",""],[1,"table"],[4,"ngFor","ngForOf"],[1,"left","align-middle"],["class","sku",4,"ngIf"],[1,"left"],[3,"facetValue","remove",4,"ngFor","ngForOf"],[1,"sku"],[3,"remove","facetValue"],[1,"loading"],["type","button",1,"btn",3,"click"],["type","submit",1,"btn","btn-primary",3,"click","disabled"]],template:function(n,i){if(n&1){let r=D();g(0,Ns,2,3,"ng-template",1),c(1,"div",2)(2,"div",3)(3,"div",4),f(4),s(5,"translate"),p(),c(6,"vdr-facet-value-selector",5),C("selectedValuesChange",function(_){return b(r),y(i.selectedValues=_)}),p()()(),g(7,Gs,3,1,"table",6)(8,js,2,0,"ng-template",null,0,Q)(10,Ws,6,7,"ng-template",7)}if(n&2){let r=U(9);o(4),v(" ",d(5,3,"catalog.add-facet-value")," "),o(3),a("ngIf",i.state!=="loading")("ngIfElse",r)}},dependencies:[ua,$,A,Di,Yt,We,Oe,R],styles:[`.loading[_ngcontent-%COMP%]{min-height:25vh;display:flex;justify-content:center;align-items:center}.sku[_ngcontent-%COMP%]{color:var(--color-text-300)}
|
|
85
|
+
/*# sourceMappingURL=bulk-add-facet-values-dialog.component-RXBCJHHY.css.map */`],changeDetection:0})}}return e})();var qs=e=>({$implicit:e}),Hs=e=>["/catalog/products",e];function Qs(e,l){e&1&&kt(0)}function Ys(e,l){if(e&1&&f(0),e&2){let t=l.item;v(" ",t.id," ")}}function Ks(e,l){if(e&1&&(f(0),s(1,"localeDate")),e&2){let t=l.item;v(" ",O(1,1,t.createdAt,"short")," ")}}function zs(e,l){if(e&1&&(f(0),s(1,"localeDate")),e&2){let t=l.item;v(" ",O(1,1,t.updatedAt,"short")," ")}}function Zs(e,l){if(e&1&&(c(0,"a",11)(1,"span"),f(2),p(),h(3,"clr-icon",12),p()),e&2){let t=l.item;a("routerLink",j(2,Hs,t.productId)),o(2),T(t.name)}}function Js(e,l){if(e&1&&f(0),e&2){let t=l.item;v(" ",t.sku," ")}}var Yi=(()=>{class e{constructor(t,n,i){this.route=t,this.router=n,this.dataService=i,this.previewUpdatedFilters=!1,this.filterTermControl=new Bt(""),this.isLoading=!1,this.collectionIdChange$=new Ae(""),this.parentIdChange$=new Ae(""),this.filterChanges$=new Ae([]),this.inheritFiltersChanges$=new Ae(!0),this.refresh$=new Ae(!0),this.destroy$=new ft}ngOnInit(){this.contentsCurrentPage$=this.route.queryParamMap.pipe(F(_=>_.get("contentsPage")),F(_=>_?+_:1),st(1),Fe()),this.contentsItemsPerPage$=this.route.queryParamMap.pipe(F(_=>_.get("contentsPerPage")),F(_=>_?+_:10),st(10),Fe());let t=this.filterTermControl.valueChanges.pipe(rt(250),ze(()=>this.setContentsPageNumber(1)),st("")),n=this.filterChanges$.asObservable().pipe($i(()=>this.previewUpdatedFilters),ze(()=>this.setContentsPageNumber(1)),st([])),i=this.inheritFiltersChanges$.asObservable().pipe($i(()=>this.inheritFilters!=null),Fe(),ze(()=>this.setContentsPageNumber(1)),st(!0)),m=ee(this.collectionIdChange$,this.parentIdChange$,this.contentsCurrentPage$,this.contentsItemsPerPage$,t,n,i,this.refresh$).pipe(Vt(this.destroy$),ze(()=>this.isLoading=!0),rt(50),B(([_,x,I,S,L,z,re])=>{let _e=S,we=(I-1)*S;if(z.length&&this.previewUpdatedFilters){let Me=L?{name:{contains:L}}:void 0;return this.dataService.collection.previewCollectionVariants({parentId:x,filters:z,inheritFilters:re},{take:_e,skip:we,filter:Me}).mapSingle(fi=>fi.previewCollectionVariants).pipe(ho(()=>he({items:[],totalItems:0})))}else return _?this.dataService.collection.getCollectionContents(_,_e,we,L).mapSingle(Me=>Me.collection?.productVariants):he(null)}),ze(()=>this.isLoading=!1),Xi(()=>this.isLoading=!1));this.contents$=m.pipe(F(_=>_?_.items:[])),this.contentsTotalItems$=m.pipe(F(_=>_?_.totalItems:0))}ngOnChanges(t){"collectionId"in t&&this.collectionIdChange$.next(t.collectionId.currentValue),"parentId"in t&&this.parentIdChange$.next(t.parentId.currentValue),"inheritFilters"in t&&this.inheritFiltersChanges$.next(t.inheritFilters.currentValue),"updatedFilters"in t&&this.updatedFilters&&this.filterChanges$.next(this.updatedFilters)}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}setContentsPageNumber(t){this.setParam("contentsPage",t)}setContentsItemsPerPage(t){this.setParam("contentsPerPage",t)}refresh(){this.refresh$.next(!0)}setParam(t,n){this.router.navigate(["./"],{relativeTo:this.route,queryParams:{[t]:n},queryParamsHandling:"merge",replaceUrl:!0})}static{this.\u0275fac=function(n){return new(n||e)(P(xt),P(dt),P(k))}}static{this.\u0275cmp=E({type:e,selectors:[["vdr-collection-contents"]],contentQueries:function(n,i,r){if(n&1&&Oo(r,Io,7),n&2){let m;Ze(m=Je())&&(i.headerTemplate=m.first)}},inputs:{collectionId:"collectionId",parentId:"parentId",inheritFilters:"inheritFilters",updatedFilters:"updatedFilters",previewUpdatedFilters:"previewUpdatedFilters"},standalone:!1,features:[yt],decls:27,vars:46,consts:[[1,"table-wrapper"],[1,"progress","loop"],[1,"header-title-row"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["id","collection-contents",3,"pageChange","itemsPerPageChange","items","itemsPerPage","totalItems","currentPage"],[3,"searchTermControl","searchTermPlaceholder"],["id","id",3,"heading","hiddenByDefault"],["id","created-at",3,"heading","hiddenByDefault"],["id","updated-at",3,"heading","hiddenByDefault"],["id","name",3,"heading","optional"],["id","sku",3,"heading","optional"],[1,"button-ghost",3,"routerLink"],["shape","arrow right"]],template:function(n,i){n&1&&(c(0,"div",0),h(1,"div",1),c(2,"div",2),g(3,Qs,1,0,"ng-container",3),s(4,"async"),p(),c(5,"vdr-data-table-2",4),s(6,"async"),s(7,"async"),s(8,"async"),s(9,"async"),C("pageChange",function(m){return i.setContentsPageNumber(m)})("itemsPerPageChange",function(m){return i.setContentsItemsPerPage(m)}),h(10,"vdr-dt2-search",5),s(11,"translate"),c(12,"vdr-dt2-column",6),s(13,"translate"),g(14,Ys,1,1,"ng-template"),p(),c(15,"vdr-dt2-column",7),s(16,"translate"),g(17,Ks,2,4,"ng-template"),p(),c(18,"vdr-dt2-column",8),s(19,"translate"),g(20,zs,2,4,"ng-template"),p(),c(21,"vdr-dt2-column",9),s(22,"translate"),g(23,Zs,4,4,"ng-template"),p(),c(24,"vdr-dt2-column",10),s(25,"translate"),g(26,Js,1,1,"ng-template"),p()()()),n&2&&(o(),w("visible",i.isLoading),o(2),a("ngTemplateOutlet",i.headerTemplate)("ngTemplateOutletContext",j(44,qs,d(4,22,i.contentsTotalItems$))),o(2),w("loading",i.isLoading),a("items",d(6,24,i.contents$))("itemsPerPage",d(7,26,i.contentsItemsPerPage$))("totalItems",d(8,28,i.contentsTotalItems$))("currentPage",d(9,30,i.contentsCurrentPage$)),o(5),a("searchTermControl",i.filterTermControl)("searchTermPlaceholder",d(11,32,"catalog.filter-by-name")),o(2),a("heading",d(13,34,"common.id"))("hiddenByDefault",!0),o(3),a("heading",d(16,36,"common.created-at"))("hiddenByDefault",!0),o(3),a("heading",d(19,38,"common.updated-at"))("hiddenByDefault",!0),o(3),a("heading",d(22,40,"common.name"))("optional",!1),o(3),a("heading",d(25,42,"catalog.sku"))("optional",!1))},dependencies:[J,on,Se,ot,He,nt,G,R,it],styles:[`[_nghost-%COMP%]{display:block}[_nghost-%COMP%] table{margin-top:-1px}vdr-data-table[_ngcontent-%COMP%]{opacity:1;transition:opacity .3s}vdr-data-table.loading[_ngcontent-%COMP%]{opacity:.5}.table-wrapper[_ngcontent-%COMP%]{position:relative}.progress[_ngcontent-%COMP%]{position:absolute;top:0;left:0;overflow:hidden;height:6px;opacity:0;transition:opacity .1s}.progress.visible[_ngcontent-%COMP%]{opacity:1}.sku[_ngcontent-%COMP%]{color:var(--color-text-200)}
|
|
86
|
+
/*# sourceMappingURL=collection-contents.component-HHSCBWP7.css.map */`],changeDetection:0})}}return e})();var Xs=["collectionRow"],ec=[[["vdr-bulk-action-menu"]]],tc=["vdr-bulk-action-menu"],ic=(e,l,t,n)=>({itemsPerPage:e,currentPage:l,totalItems:t,id:n}),nc=(e,l)=>({item:e,i:l,depth:0}),oc=(e,l,t)=>({currentStart:e,currentEnd:l,totalItems:t}),ac=(e,l)=>({depth:e,collection:l}),rc=e=>({rowItem:e}),wr=(e,l)=>({item:e,depth:l});function lc(e,l){if(e&1&&h(0,"vdr-data-table-filter-presets",19),e&2){let t=u();a("filters",t.filters)("dataTableId",t.id)}}function sc(e,l){if(e&1){let t=D();c(0,"th",20)(1,"div",21),h(2,"div",22),c(3,"input",23),C("change",function(){b(t);let i=u();return y(i.onToggleAllClick())}),p()()()}if(e&2){let t=u();o(3),a("checked",t.selectionManager==null?null:t.selectionManager.areAllCurrentItemsSelected())}}function cc(e,l){e&1&&h(0,"clr-icon",33)}function pc(e,l){e&1&&h(0,"clr-icon",34)}function dc(e,l){e&1&&h(0,"clr-icon",35)}function mc(e,l){if(e&1&&(c(0,"div",36),f(1),p()),e&2){let t=u().ngIf;o(),T(t.sortOrder)}}function uc(e,l){if(e&1){let t=D();c(0,"div",27)(1,"button",28),C("click",function(){let i=b(t).ngIf;return y(i.toggleSortOrder())}),g(2,cc,1,0,"clr-icon",29)(3,pc,1,0,"clr-icon",30)(4,dc,1,0,"clr-icon",31),p(),g(5,mc,2,1,"div",32),p()}if(e&2){let t=l.ngIf;o(),w("active",t.sortOrder),o(),a("ngIf",!t.sortOrder),o(),a("ngIf",t.sortOrder==="ASC"),o(),a("ngIf",t.sortOrder==="DESC"),o(),a("ngIf",t.sortOrder)}}function gc(e,l){if(e&1&&(c(0,"th")(1,"div",24)(2,"vdr-ui-extension-point",25)(3,"span"),f(4),p()(),g(5,uc,6,6,"div",26),p()()),e&2){let t=l.$implicit,n=u();w("expand",t.expand),o(),a("ngClass",t.align),o(),a("locationId",n.id)("metadata",t.id)("topPx",-6)("leftPx",-24),o(2),T(t.heading),o(),a("ngIf",t.sort)}}function _c(e,l){e&1&&kt(0)}function fc(e,l){e&1&&kt(0)}function hc(e,l){if(e&1&&h(0,"vdr-data-table-filters",45),e&2){let t=l.$implicit,n=u(3);a("filterWithValue",t)("filters",n.filters)}}function vc(e,l){if(e&1&&h(0,"vdr-data-table-filters",46),e&2){let t=u(3);a("filters",t.filters)}}function Cc(e,l){if(e&1&&(M(0),c(1,"div",42),g(2,hc,1,2,"vdr-data-table-filters",43)(3,vc,1,1,"vdr-data-table-filters",44),h(4,"vdr-add-filter-preset-button",19),p(),N()),e&2){let t=u(2);o(2),a("ngForOf",t.filters.activeFilters),o(),a("ngIf",t.filters.length),o(),a("filters",t.filters)("dataTableId",t.id)}}function bc(e,l){if(e&1){let t=D();c(0,"tr")(1,"th",37)(2,"button",38),s(3,"translate"),C("click",function(){b(t);let i=u();return y(i.toggleSearchFilterRow())}),h(4,"clr-icon",39),p(),c(5,"div",40),g(6,_c,1,0,"ng-container",41)(7,fc,1,0,"ng-container",41)(8,Cc,5,4,"ng-container",12),p()()()}if(e&2){let t=u();o(),w("active",t.showSearchFilterRow),Bn("colspan",t.visibleSortedColumns.length+(t.selectionManager?2:1)),o(),w("active",t.showSearchFilterRow),a("title",d(3,11,"common.search-and-filter-list")),o(3),w("hidden",!t.showSearchFilterRow),o(),a("ngTemplateOutlet",t.searchComponent==null?null:t.searchComponent.template),o(),a("ngTemplateOutlet",t.customSearchTemplate),o(),a("ngIf",t.filters)}}function yc(e,l){if(e&1&&(M(0),kt(1,47),N()),e&2){let t=l.$implicit,n=l.index;u();let i=U(24);o(),a("ngTemplateOutlet",i)("ngTemplateOutletContext",Rt(2,nc,t,n))}}function xc(e,l){if(e&1&&(c(0,"tr")(1,"td"),h(2,"vdr-empty-placeholder",48),p()()),e&2){let t=u();o(),Bn("colspan",t.visibleSortedColumns.length+(t.selectionManager?2:1)),o(),a("emptyStateLabel",t.emptyStateLabel)}}function Pc(e,l){if(e&1){let t=D();c(0,"vdr-items-per-page-controls",49),C("itemsPerPageChange",function(i){b(t);let r=u();return y(r.itemsPerPageChange.emit(i))}),p()}if(e&2){let t=u();a("itemsPerPage",t.itemsPerPage)}}function Ic(e,l){if(e&1&&(c(0,"div",50),f(1),s(2,"translate"),p()),e&2){let t=u();o(),v(" ",O(2,1,"common.total-items",nn(4,oc,t.currentStart,t.currentEnd,t.totalItems))," ")}}function Tc(e,l){if(e&1){let t=D();c(0,"vdr-pagination-controls",51),C("pageChange",function(i){b(t);let r=u();return y(r.pageChange.emit(i))}),p()}if(e&2){let t=u();a("id",t.id)("currentPage",t.currentPage)("itemsPerPage",t.itemsPerPage)("totalItems",t.totalItems)}}function Dc(e,l){if(e&1){let t=D();c(0,"td",20)(1,"div",21)(2,"div",56),s(3,"translate"),h(4,"clr-icon",57),p(),c(5,"input",58),C("click",function(i){b(t);let r=u().item,m=u();return y(m.onRowClick(r,i))}),p()()()}if(e&2){let t=u().item,n=u();w("active",n.activeIndex===n.absoluteIndex[t.id]),o(2),a("title",d(3,4,"catalog.reorder-collection")),o(3),a("checked",n.selectionManager==null?null:n.selectionManager.isSelected(t))}}function Fc(e,l){e&1&&kt(0)}function Sc(e,l){if(e&1&&(M(0),g(1,Fc,1,0,"ng-container",60),N()),e&2){let t=l.ngIf,n=u(2).item;o(),a("ngComponentOutlet",t.config.component)("ngComponentOutletInputs",j(3,rc,n))("ngComponentOutletInjector",t.injector)}}function Ec(e,l){e&1&&kt(0)}function Oc(e,l){if(e&1&&g(0,Ec,1,0,"ng-container",61),e&2){let t=u().$implicit,n=u(),i=n.item,r=n.depth;a("ngTemplateOutlet",t.template)("ngTemplateOutletContext",Rt(2,wr,i,r))}}function Vc(e,l){if(e&1&&(c(0,"td")(1,"div",24),g(2,Sc,2,5,"ng-container",59)(3,Oc,1,5,"ng-template",null,2,Q),p()()),e&2){let t=l.$implicit,n=U(4),i=u().item,r=u();w("active",r.activeIndex===r.absoluteIndex[i.id]),o(),a("ngClass",t.align),o(),a("ngIf",r.customComponents.get(t.id))("ngIfElse",n)}}function kc(e,l){e&1&&kt(0)}function Rc(e,l){if(e&1&&(M(0),g(1,kc,1,0,"ng-container",61),N()),e&2){let t=l.$implicit,n=u().depth;u();let i=U(24);o(),a("ngTemplateOutlet",i)("ngTemplateOutletContext",Rt(2,wr,t,n+1))}}function Bc(e,l){if(e&1&&(c(0,"tr",52,1),g(2,Dc,6,6,"td",53)(3,Vc,5,5,"td",54),h(4,"td"),p(),g(5,Rc,2,5,"ng-container",55)),e&2){let t=l.item,n=l.depth,i=u();a("cdkDragData",Rt(6,ac,n,t)),o(2),a("ngIf",i.selectionManager),o(),a("ngForOf",i.visibleSortedColumns),o(),w("active",i.activeIndex===i.absoluteIndex[t.id]),o(),a("ngForOf",i.getSubcollections(t))}}var Ki=(()=>{class e extends ot{constructor(t,n){super(t,n),this.changeDetectorRef=t,this.dataService=n,this.changeOrder=new ht,this.dragRefs=[],this.absoluteIndex={},this.sortPredicate=(i,r)=>this.dropList.getSortedItems()[i]?.data.collection.parentId===r.data.collection.parentId}ngOnChanges(t){if(super.ngOnChanges(t),t.subCollections||t.items){let n=[];for(let i of this.items??[]){n.push(i);let r=this.getSubcollections(i);n.push(...r.flat())}n.forEach((i,r)=>this.absoluteIndex[i.id]=r)}}ngAfterViewInit(){this.collectionRowList.changes.subscribe(t=>{this.dropList.getSortedItems().forEach(n=>this.dropList.removeItem(n));for(let n of t.toArray())n.dropContainer=this.dropList,n._dragRef._withDropContainer(this.dropList._dropListRef),this.dropList.addItem(n)})}getSubcollections(t){return this.subCollections?.filter(n=>n.parentId===t.id)??[]}onDrop(t){let n=t.item.data.collection.breadcrumbs.length===2,i=n?(this.currentPage-1)*this.itemsPerPage:0,r=t.item.data.collection.parentId,m=this.items.findIndex(x=>x.id===r),_=i+t.currentIndex-m-1;if(this.changeOrder.emit({collectionId:t.item.data.collection.id,index:_,parentId:t.item.data.collection.parentId}),n)this.items=[...this.items],this.items.splice(t.previousIndex,1),this.items.splice(t.currentIndex,0,t.item.data.collection);else{let x=this.items.find(I=>I.id===r);if(x){let I=this.getSubcollections(x),S=i+t.previousIndex-m-1;I.splice(S,1),I.splice(t.currentIndex,0,t.item.data.collection)}}this.changeDetectorRef.markForCheck()}static{this.\u0275fac=function(n){return new(n||e)(P(pe),P(k))}}static{this.\u0275cmp=E({type:e,selectors:[["vdr-collection-data-table"]],viewQuery:function(n,i){if(n&1&&(pt(Pi,7),pt(Xs,5,xi)),n&2){let r;Ze(r=Je())&&(i.dropList=r.first),Ze(r=Je())&&(i.collectionRowList=r)}},inputs:{subCollections:"subCollections"},outputs:{changeOrder:"changeOrder"},standalone:!1,features:[ce,yt],ngContentSelectors:tc,decls:25,vars:27,consts:[["collectionRowTmp",""],["collectionRow",""],["defaultComponent",""],[3,"filters","dataTableId",4,"ngIf"],[1,"table-wrapper"],[1,"bulk-actions"],[1,""],[1,"heading-row"],["class","selection-col",4,"ngIf"],[3,"expand",4,"ngFor","ngForOf"],[1,"column-picker"],[3,"reorder","resetColumns","uiLanguage","columns"],[4,"ngIf"],["cdkDropList","","cdkDropListLockAxis","y",3,"cdkDropListDropped","cdkDropListSortPredicate"],[4,"ngFor","ngForOf","ngForTrackBy"],[1,"table-footer"],[3,"itemsPerPage","itemsPerPageChange",4,"ngIf"],["class","p5 total-items-count",4,"ngIf"],[3,"id","currentPage","itemsPerPage","totalItems","pageChange",4,"ngIf"],[3,"filters","dataTableId"],[1,"selection-col"],[1,"flex"],[1,"drag-handle-spacer"],["type","checkbox","clrCheckbox","",3,"change","checked"],[1,"cell-content",3,"ngClass"],["api","dataTable","display","block",3,"locationId","metadata","topPx","leftPx"],["class","sort-toggle",4,"ngIf"],[1,"sort-toggle"],[3,"click"],["shape","two-way-arrows left",4,"ngIf"],["shape","arrow up",4,"ngIf"],["shape","arrow down",4,"ngIf"],["class","sort-label",4,"ngIf"],["shape","two-way-arrows left"],["shape","arrow up"],["shape","arrow down"],[1,"sort-label"],[1,"filter-row"],[1,"button-ghost","toggle-search-filter-row",3,"click","title"],["shape","search"],[1,"filter-row-wrapper"],[4,"ngTemplateOutlet"],[1,"filters"],["class","mt-1",3,"filterWithValue","filters",4,"ngFor","ngForOf"],["class","mt-1",3,"filters",4,"ngIf"],[1,"mt-1",3,"filterWithValue","filters"],[1,"mt-1",3,"filters"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"emptyStateLabel"],[3,"itemsPerPageChange","itemsPerPage"],[1,"p5","total-items-count"],[3,"pageChange","id","currentPage","itemsPerPage","totalItems"],["cdkDrag","","cdkDragBoundary","tbody",3,"cdkDragData"],["class","selection-col",3,"active",4,"ngIf"],[3,"active",4,"ngFor","ngForOf"],[4,"ngFor","ngForOf"],["cdkDragHandle","",1,"drag-handle",3,"title"],["shape","drag-handle"],["type","checkbox","clrCheckbox","",3,"click","checked"],[4,"ngIf","ngIfElse"],[4,"ngComponentOutlet","ngComponentOutletInputs","ngComponentOutletInjector"],[4,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(n,i){if(n&1){let r=D();So(ec),g(0,lc,1,2,"vdr-data-table-filter-presets",3),c(1,"div",4)(2,"div",5),Eo(3),p(),c(4,"table",6)(5,"thead")(6,"tr",7),g(7,sc,4,1,"th",8)(8,gc,6,9,"th",9),c(9,"th")(10,"div",10)(11,"vdr-data-table-colum-picker",11),s(12,"async"),C("reorder",function(_){return b(r),y(i.onColumnReorder(_))})("resetColumns",function(){return b(r),y(i.onColumnsReset())}),p()()()(),g(13,bc,9,13,"tr",12),p(),c(14,"tbody",13),C("cdkDropListDropped",function(_){return b(r),y(i.onDrop(_))}),g(15,yc,2,5,"ng-container",14),s(16,"paginate"),M(17),g(18,xc,3,2,"tr",12),N(),p()()(),c(19,"div",15),g(20,Pc,1,1,"vdr-items-per-page-controls",16)(21,Ic,3,8,"div",17)(22,Tc,1,4,"vdr-pagination-controls",18),p(),g(23,Bc,6,9,"ng-template",null,0,Q)}n&2&&(a("ngIf",i.filters),o(4),w("no-select",i.disableSelect),o(),w("items-selected",i.selectionManager==null?null:i.selectionManager.selection.length),o(2),a("ngIf",i.selectionManager),o(),a("ngForOf",i.visibleSortedColumns),o(3),a("uiLanguage",d(12,17,i.uiLanguage$))("columns",i.sortedColumns),o(2),a("ngIf",i.searchComponent||i.customSearchTemplate||(i.filters==null?null:i.filters.length)),o(),a("cdkDropListSortPredicate",i.sortPredicate),o(),a("ngForOf",O(16,19,i.items,ko(22,ic,i.itemsPerPage,i.currentPage,i.totalItems,i.id)))("ngForTrackBy",i.trackByFn.bind(i)),o(3),a("ngIf",!(i.items!=null&&i.items.length)),o(2),a("ngIf",i.totalItems),o(),a("ngIf",i.totalItems),o(),a("ngIf",i.totalItems))},dependencies:[J,ye,Lt,Bo,$,A,on,Pi,xi,gn,Fi,Si,K,Ra,va,Ba,Aa,wa,Ma,G,Kt,R],styles:[`[_nghost-%COMP%]{display:block;max-width:100%;position:relative;margin-bottom:calc(var(--space-unit) * 4);container-type:inline-size}th[_ngcontent-%COMP%]{border-bottom:1px solid var(--color-table-header-border);color:var(--color-weight-700);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;position:relative;white-space:nowrap;background-color:transparent}th[_ngcontent-%COMP%], td[_ngcontent-%COMP%]{padding:calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 1);color:var(--color-text-100)}tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:first-of-type, tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:first-of-type{text-align:center}@media screen and (min-width: 992px){tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:first-of-type, tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:first-of-type{padding-inline-start:var(--surface-margin-left);text-align:start}}th[_ngcontent-%COMP%]:last-of-type, td[_ngcontent-%COMP%]:last-of-type{border-inline-end:1px solid var(--color-table-header-border)}tr[_ngcontent-%COMP%]:first-of-type th[_ngcontent-%COMP%]:last-of-type{border-image:linear-gradient(0deg,var(--color-table-header-border),transparent) 1}tr[_ngcontent-%COMP%]:last-of-type td[_ngcontent-%COMP%]:last-of-type{border-image:linear-gradient(180deg,var(--color-table-header-border),transparent) 1}tbody[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{border-bottom:1px solid var(--color-table-row-separator)}tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover{background-color:var(--color-table-row-hover-bg)}.bulk-actions[_ngcontent-%COMP%]{margin-inline-start:calc(var(--space-unit) * 5);background-color:var(--color-surface-bg);z-index:10;display:flex;position:absolute;top:5px;height:40px}@media screen and (min-width: 992px){.bulk-actions[_ngcontent-%COMP%]{margin-inline-start:calc(var(--space-unit) * 8.5)}}@media screen and (min-width: 1280px){.bulk-actions[_ngcontent-%COMP%]{margin-inline-start:calc(var(--space-unit) * 10.5)}}.table-wrapper[_ngcontent-%COMP%]{display:block;overflow-y:hidden;overflow-x:auto;position:relative;width:100%;max-width:var(--surface-width)}table[_ngcontent-%COMP%]{width:100%}table.no-select[_ngcontent-%COMP%]{-webkit-user-select:none;user-select:none}.column-picker[_ngcontent-%COMP%]{width:24px}.sort-toggle[_ngcontent-%COMP%]{display:flex;align-items:center;margin-inline-start:calc(var(--space-unit) * .5)}.sort-toggle[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{border:0;border-radius:var(--border-radius-lg);color:var(--color-weight-500);padding:0 2px;cursor:pointer;background-color:transparent}.sort-toggle[_ngcontent-%COMP%] button.active[_ngcontent-%COMP%]{color:var(--color-primary-700)}.sort-toggle[_ngcontent-%COMP%] .sort-label[_ngcontent-%COMP%]{margin-inline-start:calc(var(--space-unit) * .5);font-size:10px;color:var(--color-primary-600);font-weight:400}.toggle-search-filter-row[_ngcontent-%COMP%]{position:absolute;top:-12px;left:4px}@media screen and (min-width: 1280px){.toggle-search-filter-row[_ngcontent-%COMP%]{left:8px}}.toggle-search-filter-row.active[_ngcontent-%COMP%]{background-color:var(--color-primary-700);color:var(--color-primary-100);border-color:var(--color-primary-700)}th.filter-row[_ngcontent-%COMP%]{position:relative;font-size:var(--font-size-base);font-weight:400;background-color:var(--color-weight-100);box-shadow:var(--data-table-filter-box-shadow);border-left-width:0;border-right-width:0;text-align:initial;padding:0}th.filter-row[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:100%}th.filter-row.active[_ngcontent-%COMP%]{border-bottom:1px solid var(--color-table-header-border)}th.filter-row[_ngcontent-%COMP%] .filters[_ngcontent-%COMP%]{margin-top:calc(var(--space-unit) * 1);display:flex;flex-wrap:wrap;gap:calc(var(--space-unit) * .5)}.filter-row-wrapper[_ngcontent-%COMP%]{padding:calc(var(--space-unit) * 4);padding-inline-start:0;max-height:150px;transition:max-height .2s,padding .2s,opacity .2s}.filter-row-wrapper.hidden[_ngcontent-%COMP%]{max-height:0px;padding-top:0;padding-bottom:0;overflow:hidden;opacity:0}.cell-link[_ngcontent-%COMP%]{display:block;width:100%;height:100%}td.active[_ngcontent-%COMP%]{background-color:var(--color-table-row-active-bg)}.cell-content[_ngcontent-%COMP%]{display:flex;align-items:center;line-height:var(--font-size-sm);color:var(--color-weight-700)}.cell-content.left[_ngcontent-%COMP%]{justify-content:flex-start}.cell-content.center[_ngcontent-%COMP%]{justify-content:center}.cell-content.right[_ngcontent-%COMP%]{justify-content:flex-end}.selection-col[_ngcontent-%COMP%]{width:calc(var(--space-unit) * 8)}vdr-empty-placeholder[_ngcontent-%COMP%]{width:100%}.table-footer[_ngcontent-%COMP%]{display:flex;align-items:baseline;justify-content:space-between;margin-top:var(--space-unit);margin-inline-start:var(--surface-margin-left);margin-inline-end:var(--space-unit)}.total-items-count[_ngcontent-%COMP%]{font-size:var(--font-size-xs)}@container (max-width: 500px){.total-items-count[_ngcontent-%COMP%]{display:none}}
|
|
87
87
|
/*# sourceMappingURL=data-table2.component-4QQLIO3B.css.map */`,`.bulk-actions[_ngcontent-%COMP%]{margin-inline-start:calc(var(--space-unit) * 6);background-color:var(--color-surface-bg)}@media screen and (min-width: 992px){.bulk-actions[_ngcontent-%COMP%]{margin-inline-start:calc(var(--space-unit) * 9.5)}}@media screen and (min-width: 1280px){.bulk-actions[_ngcontent-%COMP%]{margin-inline-start:calc(var(--space-unit) * 11.5)}}.drag-handle[_ngcontent-%COMP%]{cursor:grab}.drag-handle-spacer[_ngcontent-%COMP%]{width:16px}.cdk-drop-list-dragging[_ngcontent-%COMP%] .cdk-drag[_ngcontent-%COMP%]{transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drag-animating[_ngcontent-%COMP%]{transition:transform .3s cubic-bezier(0,0,.2,1)}.cdk-drag-preview[_ngcontent-%COMP%]{opacity:0}.cdk-drag-placeholder[_ngcontent-%COMP%]{background-color:var(--color-primary-100)!important}
|
|
88
|
-
/*# sourceMappingURL=collection-data-table.component-WIB4YF35.css.map */`],changeDetection:0})}}return e})();var Lr=se(
|
|
88
|
+
/*# sourceMappingURL=collection-data-table.component-WIB4YF35.css.map */`],changeDetection:0})}}return e})();var Lr=se(oi());var wc=["collectionContents"],Mc=e=>({pattern:e}),Nc=()=>["/catalog/collections"],Lc=e=>["/catalog/collections",e],Uc=e=>({count:e}),$c=()=>({standalone:!0});function Gc(e,l){if(e&1){let t=D();c(0,"button",31),C("click",function(){b(t);let i=u();return y(i.create())}),f(1),s(2,"translate"),p()}if(e&2){let t=u();a("disabled",t.detailForm.invalid||t.detailForm.pristine),o(),v(" ",d(2,2,"common.create")," ")}}function jc(e,l){if(e&1){let t=D();c(0,"button",31),C("click",function(){b(t);let i=u(2);return y(i.save())}),f(1),s(2,"translate"),p()}if(e&2){let t=u(2);a("disabled",(t.detailForm.invalid||t.detailForm.pristine)&&!t.assetsChanged()),o(),v(" ",d(2,2,"common.update")," ")}}function Wc(e,l){if(e&1&&g(0,jc,3,4,"button",32),e&2){let t=u();a("vdrIfPermissions",t.updatePermission)}}function qc(e,l){e&1&&(M(0),f(1),s(2,"translate"),N()),e&2&&(o(),T(d(2,1,"catalog.public")))}function Hc(e,l){e&1&&(f(0),s(1,"translate")),e&2&&T(d(1,1,"catalog.private"))}function Qc(e,l){if(e&1&&(c(0,"vdr-card"),h(1,"vdr-page-entity-info",33),p()),e&2){let t=l.ngIf;o(),a("entity",t)}}function Yc(e,l){e&1&&(c(0,"a",38),f(1),s(2,"translate"),p()),e&2&&(a("routerLink",W(4,Nc)),o(),T(d(2,2,"catalog.root-collection")))}function Kc(e,l){if(e&1&&(c(0,"a",38),f(1),s(2,"translate"),p()),e&2){let t=u().$implicit;a("routerLink",j(4,Lc,t.id)),o(),T(d(2,2,t.name))}}function zc(e,l){if(e&1&&(M(0),f(1),s(2,"translate"),N()),e&2){let t=u().$implicit;o(),T(d(2,1,t.name))}}function Zc(e,l){if(e&1&&(c(0,"li"),g(1,Yc,3,5,"a",37)(2,Kc,3,6,"a",37)(3,zc,3,3,"ng-container",12),p()),e&2){let t=l.first,n=l.last;o(),a("ngIf",t),o(),a("ngIf",!t&&!n),o(),a("ngIf",n)}}function Jc(e,l){if(e&1&&(c(0,"vdr-page-block")(1,"nav",34)(2,"ul",35),g(3,Zc,4,3,"li",36),p()()()),e&2){let t=l.ngIf;o(3),a("ngForOf",t.breadcrumbs)}}function Xc(e,l){if(e&1&&(c(0,"vdr-card",39),s(1,"translate"),h(2,"vdr-tabbed-custom-fields",40),s(3,"hasPermission"),p()),e&2){let t=u();a("title",d(1,4,"common.custom-fields")),o(2),a("customFields",t.customFields)("customFieldsFormGroup",t.detailForm.get("customFields"))("readonly",!d(3,6,t.updatePermission))}}function ep(e,l){e&1&&(M(0),f(1),s(2,"translate"),N()),e&2&&(o(),T(d(2,1,"catalog.inherit-filters-from-parent")))}function tp(e,l){e&1&&(f(0),s(1,"translate")),e&2&&T(d(1,1,"catalog.do-not-inherit-filters"))}function ip(e,l){if(e&1){let t=D();M(0),c(1,"vdr-configurable-input",41),s(2,"hasPermission"),C("remove",function(){let i=b(t).index,r=u();return y(r.removeFilter(i))}),p(),N()}if(e&2){let t=l.$implicit,n=l.index,i=u();o(),a("position",n)("operation",t)("operationDefinition",i.getFilterDefinition(t))("formControlName",n)("readonly",!d(2,5,i.updatePermission))}}function np(e,l){if(e&1){let t=D();c(0,"button",47),C("click",function(){let i=b(t).$implicit,r=u(2);return y(r.addFilter(i))}),f(1),p()}if(e&2){let t=l.$implicit;o(),v(" ",t.description," ")}}function op(e,l){if(e&1&&(c(0,"div")(1,"vdr-dropdown")(2,"button",42),h(3,"clr-icon",43),c(4,"span"),f(5),s(6,"translate"),p(),h(7,"clr-icon",44),p(),c(8,"vdr-dropdown-menu",45),g(9,np,2,1,"button",46),p()()()),e&2){let t=u();o(5),T(d(6,2,"marketing.add-condition")),o(4),a("ngForOf",t.allFilters)}}function ap(e,l){if(e&1){let t=D();c(0,"div",48)(1,"div",49),f(2),s(3,"translate"),s(4,"translate"),p(),c(5,"clr-checkbox-wrapper")(6,"input",50),C("ngModelChange",function(){b(t);let i=u();return y(i.toggleLivePreview())}),p(),c(7,"label"),f(8),s(9,"translate"),p()()()}if(e&2){let t,n,i=l.$implicit,r=u();o(2),Nt(" ",d(3,8,"catalog.collection-contents")," (",O(4,10,"common.results-count",j(15,Uc,i)),") "),o(3),w("disabled",(t=r.detailForm.get("filters"))==null?null:t.pristine),o(),a("ngModelOptions",W(17,$c))("disabled",(n=r.detailForm.get("filters"))==null?null:n.pristine)("ngModel",r.livePreview),o(2),T(d(9,13,"catalog.live-preview-contents"))}}var C_=ne`
|
|
89
89
|
query CollectionDetailQuery($id: ID!) {
|
|
90
90
|
collection(id: $id) {
|
|
91
91
|
...Collection
|
|
92
92
|
}
|
|
93
93
|
}
|
|
94
94
|
${Jo}
|
|
95
|
-
`,Ur=(()=>{class e extends St{constructor(t,n,i,r,m,_){super(),this.changeDetector=t,this.dataService=n,this.formBuilder=i,this.notificationService=r,this.modalService=m,this.localStorageService=_,this.customFields=this.getCustomFieldConfig("Collection"),this.detailForm=this.formBuilder.group({name:["",Qe.required],slug:["",Tn(/^[\p{Letter}0-9._-]+$/u)],description:"",visible:!1,inheritFilters:!0,filters:this.formBuilder.array([]),customFields:this.formBuilder.group(_t(this.customFields))}),this.assetChanges={},this.filters=[],this.allFilters=[],this.livePreview=!1,this.updatePermission=[V.UpdateCatalog,V.UpdateCollection],this.filterRemoved$=new ft,this.livePreview=this.localStorageService.get("livePreviewCollectionContents")??!1}ngOnInit(){this.init(),this.dataService.collection.getCollectionFilters().single$.subscribe(i=>{this.allFilters=i.collectionFilters});let t=this.detailForm.get("filters"),n=this.detailForm.get("inheritFilters");this.inheritFilters$=n.valueChanges.pipe(Ie()),this.updatedFilters$=fo(t.statusChanges,this.filterRemoved$).pipe(rt(200),$i(()=>t.touched),F(()=>this.mapOperationsToInputs(this.filters,t.value).filter(i=>{for(let r of i.arguments)if(r.value==="")return!1;return!0}))),this.parentId$=this.route.paramMap.pipe(F(i=>i.get("parentId")||void 0),B(i=>i?he(i):this.entity$.pipe(F(r=>r.parent?.id))))}ngOnDestroy(){this.destroy()}getFilterDefinition(t){return this.allFilters.find(n=>n.code===t.code)}assetsChanged(){return!!Object.values(this.assetChanges).length}updateSlug(t){let n=this.detailForm.get(["slug"]),i=this.entity?ue(this.entity,this.languageCode):void 0,r=!i||!i.slug;n&&n.pristine&&r&&n.setValue((0,Lr.normalizeString)(`${t}`,"-"))}addFilter(t){let n=this.detailForm.get("filters"),i=t.args.reduce((r,m)=>fe(X({},r),{[m.name]:An(m.value)}),{});n.push(this.formBuilder.control({code:t.code,args:i})),this.filters.push({code:t.code,args:t.args.map(r=>({name:r.name,value:An(r.value)}))})}removeFilter(t){let n=this.detailForm.get("filters");t!==-1&&(n.removeAt(t),n.markAsDirty(),n.markAsTouched(),this.filters.splice(t,1),this.filterRemoved$.next())}create(){if(!this.detailForm.dirty)return;let t=this.getUpdatedCollection({id:"",createdAt:"",updatedAt:"",languageCode:this.languageCode,name:"",slug:"",isPrivate:!1,breadcrumbs:[],description:"",featuredAsset:null,assets:[],translations:[],inheritFilters:!0,filters:[],parent:{},children:null},this.detailForm,this.languageCode),n=this.route.snapshot.paramMap.get("parentId");n&&(t.parentId=n),this.dataService.collection.createCollection(t).subscribe(i=>{this.notificationService.success("common.notify-create-success",{entity:"Collection"}),this.assetChanges={},this.detailForm.markAsPristine(),this.changeDetector.markForCheck(),this.router.navigate(["../",i.createCollection.id],{relativeTo:this.route})},i=>{this.notificationService.error("common.notify-create-error",{entity:"Collection"})})}save(){ee(this.entity$,this.languageCode$).pipe(lt(1),we(([t,n])=>{let i=this.getUpdatedCollection(t,this.detailForm,n);return this.dataService.collection.updateCollection(i)})).subscribe(()=>{this.assetChanges={},this.detailForm.markAsPristine(),this.changeDetector.markForCheck(),this.notificationService.success("common.notify-update-success",{entity:"Collection"}),this.contentsComponent.refresh()},t=>{this.notificationService.error("common.notify-update-error",{entity:"Collection"})})}canDeactivate(){return super.canDeactivate()&&!this.assetChanges.assets&&!this.assetChanges.featuredAsset}toggleLivePreview(){this.livePreview=!this.livePreview,this.localStorageService.set("livePreviewCollectionContents",this.livePreview)}trackByFn(t,n){return JSON.stringify(n)}setFormValues(t,n){let i=ue(t,n);this.detailForm.patchValue({name:i?i.name:"",slug:i?i.slug:"",description:i?i.description:"",visible:!t.isPrivate,inheritFilters:t.inheritFilters});let r=this.detailForm.get("filters");r.length!==t.filters.length&&(r.clear(),this.filters=[],t.filters.forEach(m=>this.addFilter(m))),this.customFields.length&&this.setCustomFieldFormValues(this.customFields,this.detailForm.get(["customFields"]),t,i)}getUpdatedCollection(t,n,i){let r=at({translatable:t,updatedFields:n.value,customFieldConfig:this.customFields,languageCode:i,defaultTranslation:{languageCode:i,name:t.name||"",slug:t.slug||"",description:t.description||""}});return fe(X({},r),{assetIds:this.assetChanges.assets?.map(m=>m.id),featuredAssetId:this.assetChanges.featuredAsset?.id,isPrivate:!n.value.visible,filters:this.mapOperationsToInputs(this.filters,this.detailForm.value.filters)})}mapOperationsToInputs(t,n){return t.map((i,r)=>({code:i.code,arguments:Object.entries(n[r].args).map(([m,_],x)=>({name:m,value:ya(_)}))}))}static{this.\u0275fac=function(n){return new(n||e)(P(pe),P(k),P($e),P(Y),P(te),P(ea))}}static{this.\u0275cmp=E({type:e,selectors:[["vdr-collection-detail"]],viewQuery:function(n,i){if(n&1&&pt(wc,5),n&2){let r;Ze(r=Je())&&(i.contentsComponent=r.first)}},standalone:!1,features:[ce],decls:74,vars:89,consts:[["updateButton",""],["private",""],["noInherit",""],["collectionContents",""],[3,"languageCodeChange","disabled","availableLanguageCodes","currentLanguageCode"],["locationId","collection-detail"],["class","btn btn-primary",3,"disabled","click",4,"ngIf","ngIfElse"],[1,"form",3,"formGroup"],["for","visibility",3,"label"],["type","checkbox","clrToggle","","formControlName","visible","id","visibility",3,"vdrDisabled"],[1,"visible-toggle"],[4,"ngIf","ngIfElse"],[4,"ngIf"],[1,"form-grid"],["for","name",3,"label"],["id","name","type","text","formControlName","name",3,"input","readonly"],["for","slug",3,"label","errors"],["id","slug","type","text","formControlName","slug",3,"readonly"],["for","slug",1,"form-grid-span",3,"label"],["formControlName","description",3,"readonly"],["formGroupName","customFields",3,"title",4,"ngIf"],["locationId","collection-detail",3,"entity$","detailForm"],[3,"title"],[3,"change","assets","featuredAsset","updatePermissions"],["for","inheritFilters",3,"label"],["type","checkbox","clrToggle","","formControlName","inheritFilters","id","inheritFilters",3,"vdrDisabled"],["formArrayName","filters"],[4,"ngFor","ngForOf","ngForTrackBy"],[4,"vdrIfPermissions"],[3,"title","paddingX"],[3,"collectionId","parentId","updatedFilters","inheritFilters","previewUpdatedFilters"],[1,"btn","btn-primary",3,"click","disabled"],["class","btn btn-primary",3,"disabled","click",4,"vdrIfPermissions"],[3,"entity"],["role","navigation"],[1,"collection-breadcrumbs"],[4,"ngFor","ngForOf"],[3,"routerLink",4,"ngIf"],[3,"routerLink"],["formGroupName","customFields",3,"title"],["entityName","Collection",3,"customFields","customFieldsFormGroup","readonly"],[3,"remove","position","operation","operationDefinition","formControlName","readonly"],["vdrDropdownTrigger","",1,"btn","btn-outline"],["shape","plus"],["shape","ellipsis-vertical"],["vdrPosition","bottom-left"],["type","button","vdrDropdownItem","",3,"click",4,"ngFor","ngForOf"],["type","button","vdrDropdownItem","",3,"click"],[1,"ml-3"],[1,"contents-title"],["type","checkbox","clrCheckbox","",3,"ngModelChange","ngModelOptions","disabled","ngModel"]],template:function(n,i){if(n&1){let r=D();c(0,"vdr-page-block")(1,"vdr-action-bar")(2,"vdr-ab-left")(3,"vdr-language-selector",4),s(4,"async"),s(5,"async"),s(6,"async"),C("languageCodeChange",function(_){return b(r),y(i.setLanguage(_))}),p()(),c(7,"vdr-ab-right"),h(8,"vdr-action-bar-items",5),g(9,Gc,3,4,"button",6),s(10,"async"),g(11,Wc,1,1,"ng-template",null,0,Q),h(13,"vdr-action-bar-dropdown-menu",5),p()()(),c(14,"form",7)(15,"vdr-page-detail-layout")(16,"vdr-page-detail-sidebar")(17,"vdr-card")(18,"vdr-form-field",8),s(19,"translate"),c(20,"clr-toggle-wrapper"),h(21,"input",9),s(22,"hasPermission"),c(23,"label",10),g(24,qc,3,3,"ng-container",11)(25,Hc,2,3,"ng-template",null,1,Q),p()()()(),g(27,Qc,2,1,"vdr-card",12),s(28,"async"),p(),g(29,Jc,4,1,"vdr-page-block",12),s(30,"async"),c(31,"vdr-page-block")(32,"vdr-card")(33,"div",13)(34,"vdr-form-field",14),s(35,"translate"),c(36,"input",15),s(37,"hasPermission"),C("input",function(_){return b(r),y(i.updateSlug(_.target.value))}),p()(),c(38,"vdr-form-field",16),s(39,"translate"),s(40,"translate"),h(41,"input",17),s(42,"hasPermission"),p(),c(43,"vdr-form-field",18),s(44,"translate"),h(45,"vdr-rich-text-editor",19),s(46,"hasPermission"),p()()(),g(47,Xc,4,8,"vdr-card",20),h(48,"vdr-custom-detail-component-host",21),c(49,"vdr-card",22),s(50,"translate"),c(51,"vdr-assets",23),C("change",function(_){return b(r),y(i.assetChanges=_)}),p()(),c(52,"vdr-card",22),s(53,"translate"),c(54,"vdr-form-field",24),s(55,"translate"),c(56,"clr-toggle-wrapper"),h(57,"input",25),s(58,"hasPermission"),c(59,"label",10),g(60,ep,3,3,"ng-container",11)(61,tp,2,3,"ng-template",null,2,Q),p()()(),c(63,"div",26),g(64,ip,3,7,"ng-container",27),p(),g(65,op,10,4,"div",28),p(),c(66,"vdr-card",29),s(67,"translate"),c(68,"vdr-collection-contents",30,3),s(70,"async"),s(71,"async"),s(72,"async"),g(73,ap,10,18,"ng-template"),p()()()()()}if(n&2){let r=U(12),m=U(26),_=U(62);o(3),a("disabled",d(4,41,i.isNew$))("availableLanguageCodes",d(5,43,i.availableLanguages$))("currentLanguageCode",d(6,45,i.languageCode$)),o(6),a("ngIf",d(10,47,i.isNew$))("ngIfElse",r),o(5),a("formGroup",i.detailForm),o(4),a("label",d(19,49,"catalog.visibility")),o(3),a("vdrDisabled",!d(22,51,i.updatePermission)),o(3),a("ngIf",i.detailForm.value.visible)("ngIfElse",m),o(3),a("ngIf",d(28,53,i.entity$)),o(2),a("ngIf",d(30,55,i.entity$)),o(5),a("label",d(35,57,"common.name")),o(2),a("readonly",!d(37,59,i.updatePermission)),o(2),a("label",d(39,61,"catalog.slug"))("errors",j(87,Mc,d(40,63,"catalog.slug-pattern-error"))),o(3),a("readonly",!d(42,65,i.updatePermission)),o(2),a("label",d(44,67,"common.description")),o(2),a("readonly",!d(46,69,i.updatePermission)),o(2),a("ngIf",i.customFields.length),o(),a("entity$",i.entity$)("detailForm",i.detailForm),o(),a("title",d(50,71,"catalog.assets")),o(2),a("assets",i.entity==null?null:i.entity.assets)("featuredAsset",i.entity==null?null:i.entity.featuredAsset)("updatePermissions",i.updatePermission),o(),a("title",d(53,73,"catalog.filters")),o(2),a("label",d(55,75,"catalog.filter-inheritance")),o(3),a("vdrDisabled",!d(58,77,i.updatePermission)),o(3),a("ngIf",i.detailForm.value.inheritFilters)("ngIfElse",_),o(4),a("ngForOf",i.filters)("ngForTrackBy",i.trackByFn),o(),a("vdrIfPermissions",i.updatePermission),o(),a("title",d(67,79,"common.contents"))("paddingX",!1),o(2),a("collectionId",i.id)("parentId",d(70,81,i.parentId$))("updatedFilters",d(71,83,i.updatedFilters$))("inheritFilters",d(72,85,i.inheritFilters$))("previewUpdatedFilters",i.livePreview)}},dependencies:[J,De,ye,tt,$,A,mt,ie,Ue,Z,ve,et,Ce,be,Ut,bi,Te,Ve,Ee,Oe,He,Oi,xa,me,K,ke,bn,Gt,jt,Wt,It,xe,We,qt,ut,Xt,de,Dt,Kt,zt,gt,Yi,G,R,je],styles:[`@charset "UTF-8";.visible-toggle[_ngcontent-%COMP%]{margin-top:-3px!important}clr-checkbox-wrapper[_ngcontent-%COMP%]{transition:opacity .3s}clr-checkbox-wrapper.disabled[_ngcontent-%COMP%]{opacity:.5}.collection-breadcrumbs[_ngcontent-%COMP%]{list-style-type:none;background-color:var(--color-component-bg-200);padding:2px 6px;margin-bottom:6px;border-radius:var(--clr-global-borderradius)}.collection-breadcrumbs[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{font-size:.65rem;display:inline-block;margin-inline-end:10px}.collection-breadcrumbs[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:last-child{font-weight:600}.collection-breadcrumbs[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:not(:last-child):after{content:"\\203a";top:0;color:var(--color-grey-400);margin-inline-start:10px}
|
|
95
|
+
`,Ur=(()=>{class e extends St{constructor(t,n,i,r,m,_){super(),this.changeDetector=t,this.dataService=n,this.formBuilder=i,this.notificationService=r,this.modalService=m,this.localStorageService=_,this.customFields=this.getCustomFieldConfig("Collection"),this.detailForm=this.formBuilder.group({name:["",Qe.required],slug:["",Tn(/^[\p{Letter}0-9._-]+$/u)],description:"",visible:!1,inheritFilters:!0,filters:this.formBuilder.array([]),customFields:this.formBuilder.group(_t(this.customFields))}),this.assetChanges={},this.filters=[],this.allFilters=[],this.livePreview=!1,this.updatePermission=[V.UpdateCatalog,V.UpdateCollection],this.filterRemoved$=new ft,this.livePreview=this.localStorageService.get("livePreviewCollectionContents")??!1}ngOnInit(){this.init(),this.dataService.collection.getCollectionFilters().single$.subscribe(i=>{this.allFilters=i.collectionFilters});let t=this.detailForm.get("filters"),n=this.detailForm.get("inheritFilters");this.inheritFilters$=n.valueChanges.pipe(Fe()),this.updatedFilters$=fo(t.statusChanges,this.filterRemoved$).pipe(rt(200),$i(()=>t.touched),F(()=>this.mapOperationsToInputs(this.filters,t.value).filter(i=>{for(let r of i.arguments)if(r.value==="")return!1;return!0}))),this.parentId$=this.route.paramMap.pipe(F(i=>i.get("parentId")||void 0),B(i=>i?he(i):this.entity$.pipe(F(r=>r.parent?.id))))}ngOnDestroy(){this.destroy()}getFilterDefinition(t){return this.allFilters.find(n=>n.code===t.code)}assetsChanged(){return!!Object.values(this.assetChanges).length}updateSlug(t){let n=this.detailForm.get(["slug"]),i=this.entity?ue(this.entity,this.languageCode):void 0,r=!i||!i.slug;n&&n.pristine&&r&&n.setValue((0,Lr.normalizeString)(`${t}`,"-"))}addFilter(t){let n=this.detailForm.get("filters"),i=t.args.reduce((r,m)=>fe(X({},r),{[m.name]:An(m.value)}),{});n.push(this.formBuilder.control({code:t.code,args:i})),this.filters.push({code:t.code,args:t.args.map(r=>({name:r.name,value:An(r.value)}))})}removeFilter(t){let n=this.detailForm.get("filters");t!==-1&&(n.removeAt(t),n.markAsDirty(),n.markAsTouched(),this.filters.splice(t,1),this.filterRemoved$.next())}create(){if(!this.detailForm.dirty)return;let t=this.getUpdatedCollection({id:"",createdAt:"",updatedAt:"",languageCode:this.languageCode,name:"",slug:"",isPrivate:!1,breadcrumbs:[],description:"",featuredAsset:null,assets:[],translations:[],inheritFilters:!0,filters:[],parent:{},children:null},this.detailForm,this.languageCode),n=this.route.snapshot.paramMap.get("parentId");n&&(t.parentId=n),this.dataService.collection.createCollection(t).subscribe(i=>{this.notificationService.success("common.notify-create-success",{entity:"Collection"}),this.assetChanges={},this.detailForm.markAsPristine(),this.changeDetector.markForCheck(),this.router.navigate(["../",i.createCollection.id],{relativeTo:this.route})},i=>{this.notificationService.error("common.notify-create-error",{entity:"Collection"})})}save(){ee(this.entity$,this.languageCode$).pipe(lt(1),Ne(([t,n])=>{let i=this.getUpdatedCollection(t,this.detailForm,n);return this.dataService.collection.updateCollection(i)})).subscribe(()=>{this.assetChanges={},this.detailForm.markAsPristine(),this.changeDetector.markForCheck(),this.notificationService.success("common.notify-update-success",{entity:"Collection"}),this.contentsComponent.refresh()},t=>{this.notificationService.error("common.notify-update-error",{entity:"Collection"})})}canDeactivate(){return super.canDeactivate()&&!this.assetChanges.assets&&!this.assetChanges.featuredAsset}toggleLivePreview(){this.livePreview=!this.livePreview,this.localStorageService.set("livePreviewCollectionContents",this.livePreview)}trackByFn(t,n){return JSON.stringify(n)}setFormValues(t,n){let i=ue(t,n);this.detailForm.patchValue({name:i?i.name:"",slug:i?i.slug:"",description:i?i.description:"",visible:!t.isPrivate,inheritFilters:t.inheritFilters});let r=this.detailForm.get("filters");r.length!==t.filters.length&&(r.clear(),this.filters=[],t.filters.forEach(m=>this.addFilter(m))),this.customFields.length&&this.setCustomFieldFormValues(this.customFields,this.detailForm.get(["customFields"]),t,i)}getUpdatedCollection(t,n,i){let r=at({translatable:t,updatedFields:n.value,customFieldConfig:this.customFields,languageCode:i,defaultTranslation:{languageCode:i,name:t.name||"",slug:t.slug||"",description:t.description||""}});return fe(X({},r),{assetIds:this.assetChanges.assets?.map(m=>m.id),featuredAssetId:this.assetChanges.featuredAsset?.id,isPrivate:!n.value.visible,filters:this.mapOperationsToInputs(this.filters,this.detailForm.value.filters)})}mapOperationsToInputs(t,n){return t.map((i,r)=>({code:i.code,arguments:Object.entries(n[r].args).map(([m,_],x)=>({name:m,value:ya(_)}))}))}static{this.\u0275fac=function(n){return new(n||e)(P(pe),P(k),P(je),P(Y),P(te),P(ea))}}static{this.\u0275cmp=E({type:e,selectors:[["vdr-collection-detail"]],viewQuery:function(n,i){if(n&1&&pt(wc,5),n&2){let r;Ze(r=Je())&&(i.contentsComponent=r.first)}},standalone:!1,features:[ce],decls:74,vars:89,consts:[["updateButton",""],["private",""],["noInherit",""],["collectionContents",""],[3,"languageCodeChange","disabled","availableLanguageCodes","currentLanguageCode"],["locationId","collection-detail"],["class","btn btn-primary",3,"disabled","click",4,"ngIf","ngIfElse"],[1,"form",3,"formGroup"],["for","visibility",3,"label"],["type","checkbox","clrToggle","","formControlName","visible","id","visibility",3,"vdrDisabled"],[1,"visible-toggle"],[4,"ngIf","ngIfElse"],[4,"ngIf"],[1,"form-grid"],["for","name",3,"label"],["id","name","type","text","formControlName","name",3,"input","readonly"],["for","slug",3,"label","errors"],["id","slug","type","text","formControlName","slug",3,"readonly"],["for","slug",1,"form-grid-span",3,"label"],["formControlName","description",3,"readonly"],["formGroupName","customFields",3,"title",4,"ngIf"],["locationId","collection-detail",3,"entity$","detailForm"],[3,"title"],[3,"change","assets","featuredAsset","updatePermissions"],["for","inheritFilters",3,"label"],["type","checkbox","clrToggle","","formControlName","inheritFilters","id","inheritFilters",3,"vdrDisabled"],["formArrayName","filters"],[4,"ngFor","ngForOf","ngForTrackBy"],[4,"vdrIfPermissions"],[3,"title","paddingX"],[3,"collectionId","parentId","updatedFilters","inheritFilters","previewUpdatedFilters"],[1,"btn","btn-primary",3,"click","disabled"],["class","btn btn-primary",3,"disabled","click",4,"vdrIfPermissions"],[3,"entity"],["role","navigation"],[1,"collection-breadcrumbs"],[4,"ngFor","ngForOf"],[3,"routerLink",4,"ngIf"],[3,"routerLink"],["formGroupName","customFields",3,"title"],["entityName","Collection",3,"customFields","customFieldsFormGroup","readonly"],[3,"remove","position","operation","operationDefinition","formControlName","readonly"],["vdrDropdownTrigger","",1,"btn","btn-outline"],["shape","plus"],["shape","ellipsis-vertical"],["vdrPosition","bottom-left"],["type","button","vdrDropdownItem","",3,"click",4,"ngFor","ngForOf"],["type","button","vdrDropdownItem","",3,"click"],[1,"ml-3"],[1,"contents-title"],["type","checkbox","clrCheckbox","",3,"ngModelChange","ngModelOptions","disabled","ngModel"]],template:function(n,i){if(n&1){let r=D();c(0,"vdr-page-block")(1,"vdr-action-bar")(2,"vdr-ab-left")(3,"vdr-language-selector",4),s(4,"async"),s(5,"async"),s(6,"async"),C("languageCodeChange",function(_){return b(r),y(i.setLanguage(_))}),p()(),c(7,"vdr-ab-right"),h(8,"vdr-action-bar-items",5),g(9,Gc,3,4,"button",6),s(10,"async"),g(11,Wc,1,1,"ng-template",null,0,Q),h(13,"vdr-action-bar-dropdown-menu",5),p()()(),c(14,"form",7)(15,"vdr-page-detail-layout")(16,"vdr-page-detail-sidebar")(17,"vdr-card")(18,"vdr-form-field",8),s(19,"translate"),c(20,"clr-toggle-wrapper"),h(21,"input",9),s(22,"hasPermission"),c(23,"label",10),g(24,qc,3,3,"ng-container",11)(25,Hc,2,3,"ng-template",null,1,Q),p()()()(),g(27,Qc,2,1,"vdr-card",12),s(28,"async"),p(),g(29,Jc,4,1,"vdr-page-block",12),s(30,"async"),c(31,"vdr-page-block")(32,"vdr-card")(33,"div",13)(34,"vdr-form-field",14),s(35,"translate"),c(36,"input",15),s(37,"hasPermission"),C("input",function(_){return b(r),y(i.updateSlug(_.target.value))}),p()(),c(38,"vdr-form-field",16),s(39,"translate"),s(40,"translate"),h(41,"input",17),s(42,"hasPermission"),p(),c(43,"vdr-form-field",18),s(44,"translate"),h(45,"vdr-rich-text-editor",19),s(46,"hasPermission"),p()()(),g(47,Xc,4,8,"vdr-card",20),h(48,"vdr-custom-detail-component-host",21),c(49,"vdr-card",22),s(50,"translate"),c(51,"vdr-assets",23),C("change",function(_){return b(r),y(i.assetChanges=_)}),p()(),c(52,"vdr-card",22),s(53,"translate"),c(54,"vdr-form-field",24),s(55,"translate"),c(56,"clr-toggle-wrapper"),h(57,"input",25),s(58,"hasPermission"),c(59,"label",10),g(60,ep,3,3,"ng-container",11)(61,tp,2,3,"ng-template",null,2,Q),p()()(),c(63,"div",26),g(64,ip,3,7,"ng-container",27),p(),g(65,op,10,4,"div",28),p(),c(66,"vdr-card",29),s(67,"translate"),c(68,"vdr-collection-contents",30,3),s(70,"async"),s(71,"async"),s(72,"async"),g(73,ap,10,18,"ng-template"),p()()()()()}if(n&2){let r=U(12),m=U(26),_=U(62);o(3),a("disabled",d(4,41,i.isNew$))("availableLanguageCodes",d(5,43,i.availableLanguages$))("currentLanguageCode",d(6,45,i.languageCode$)),o(6),a("ngIf",d(10,47,i.isNew$))("ngIfElse",r),o(5),a("formGroup",i.detailForm),o(4),a("label",d(19,49,"catalog.visibility")),o(3),a("vdrDisabled",!d(22,51,i.updatePermission)),o(3),a("ngIf",i.detailForm.value.visible)("ngIfElse",m),o(3),a("ngIf",d(28,53,i.entity$)),o(2),a("ngIf",d(30,55,i.entity$)),o(5),a("label",d(35,57,"common.name")),o(2),a("readonly",!d(37,59,i.updatePermission)),o(2),a("label",d(39,61,"catalog.slug"))("errors",j(87,Mc,d(40,63,"catalog.slug-pattern-error"))),o(3),a("readonly",!d(42,65,i.updatePermission)),o(2),a("label",d(44,67,"common.description")),o(2),a("readonly",!d(46,69,i.updatePermission)),o(2),a("ngIf",i.customFields.length),o(),a("entity$",i.entity$)("detailForm",i.detailForm),o(),a("title",d(50,71,"catalog.assets")),o(2),a("assets",i.entity==null?null:i.entity.assets)("featuredAsset",i.entity==null?null:i.entity.featuredAsset)("updatePermissions",i.updatePermission),o(),a("title",d(53,73,"catalog.filters")),o(2),a("label",d(55,75,"catalog.filter-inheritance")),o(3),a("vdrDisabled",!d(58,77,i.updatePermission)),o(3),a("ngIf",i.detailForm.value.inheritFilters)("ngIfElse",_),o(4),a("ngForOf",i.filters)("ngForTrackBy",i.trackByFn),o(),a("vdrIfPermissions",i.updatePermission),o(),a("title",d(67,79,"common.contents"))("paddingX",!1),o(2),a("collectionId",i.id)("parentId",d(70,81,i.parentId$))("updatedFilters",d(71,83,i.updatedFilters$))("inheritFilters",d(72,85,i.inheritFilters$))("previewUpdatedFilters",i.livePreview)}},dependencies:[J,Ee,ye,tt,$,A,mt,ie,Ge,Z,ve,et,Ce,be,$t,bi,Se,Te,Pe,Ie,Be,Oi,xa,me,K,Re,bn,jt,Wt,qt,It,xe,ke,Ht,ut,ei,de,Dt,zt,Zt,gt,Yi,G,R,qe],styles:[`@charset "UTF-8";.visible-toggle[_ngcontent-%COMP%]{margin-top:-3px!important}clr-checkbox-wrapper[_ngcontent-%COMP%]{transition:opacity .3s}clr-checkbox-wrapper.disabled[_ngcontent-%COMP%]{opacity:.5}.collection-breadcrumbs[_ngcontent-%COMP%]{list-style-type:none;background-color:var(--color-component-bg-200);padding:2px 6px;margin-bottom:6px;border-radius:var(--clr-global-borderradius)}.collection-breadcrumbs[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{font-size:.65rem;display:inline-block;margin-inline-end:10px}.collection-breadcrumbs[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:last-child{font-weight:600}.collection-breadcrumbs[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:not(:last-child):after{content:"\\203a";top:0;color:var(--color-grey-400);margin-inline-start:10px}
|
|
96
96
|
/*# sourceMappingURL=collection-detail.component-X5MKSSLI.css.map */`],changeDetection:0})}}return e})();var zi=(()=>{class e{transform(t){return t?.breadcrumbs.slice(1,-1)}static{this.\u0275fac=function(n){return new(n||e)}}static{this.\u0275pipe=Do({name:"collectionBreadcrumb",type:e,pure:!0,standalone:!1})}}return e})();var rp=e=>({name:e});function lp(e,l){e&1&&(f(0),s(1,"translate")),e&2&&v(" ",d(1,1,"catalog.move-collections"),`
|
|
97
|
-
`)}function sp(e,l){if(e&1&&f(0),e&2){let t=l.item;v(" ",t.id," ")}}function cp(e,l){if(e&1&&h(0,"clr-icon",12),e&2){let t=u().depth;w("transparent",t===0)}}function pp(e,l){e&1&&h(0,"clr-icon",16)}function dp(e,l){e&1&&h(0,"clr-icon",17)}function mp(e,l){if(e&1){let t=D();c(0,"button",13),C("click",function(){b(t);let i=u().item,r=u();return y(r.toggleExpanded(i))}),g(1,pp,1,0,"clr-icon",14)(2,dp,1,0,"clr-icon",15),p()}if(e&2){let t=u().item,n=u();o(),a("ngIf",!n.expandedIds.includes(t.id)),o(),a("ngIf",n.expandedIds.includes(t.id))}}function up(e,l){e&1&&(c(0,"button",18),h(1,"clr-icon",19),p())}function gp(e,l){if(e&1){let t=D();h(0,"div",7),g(1,cp,1,2,"clr-icon",8)(2,mp,3,2,"button",9)(3,up,2,0,"button",10),c(4,"button",11),C("click",function(){let i=b(t).item,r=u();return y(r.resolveWith(i))}),c(5,"span"),f(6),s(7,"translate"),p()()}if(e&2){let t=l.item,n=l.depth;a("ngClass","indent-"+n),o(),a("ngIf",!(t.children!=null&&t.children.length)&&t.parentId!=="__"),o(),a("ngIf",t.children==null?null:t.children.length),o(),a("ngIf",t.parentId==="__"),o(3),T(O(7,5,"catalog.move-collection-to",j(8,rp,t.name)))}}function _p(e,l){if(e&1&&(c(0,"div")(1,"span",24),f(2,"/"),p(),f(3),p()),e&2){let t=l.$implicit;o(3),v("",t.name," ")}}function fp(e,l){if(e&1&&(M(0),g(1,_p,4,1,"div",23),N()),e&2){let t=u().ngIf;o(),a("ngForOf",t)}}function hp(e,l){e&1&&(c(0,"span",24),f(1,"/"),p())}function vp(e,l){if(e&1&&(M(0),g(1,fp,2,1,"ng-container",21)(2,hp,2,0,"span",22),N()),e&2){let t=l.ngIf;o(),a("ngIf",t.length),o(),a("ngIf",!t.length)}}function Cp(e,l){if(e&1&&(c(0,"div",20),g(1,vp,3,2,"ng-container",21),s(2,"collectionBreadcrumb"),p()),e&2){let t=l.item;o(),a("ngIf",d(2,1,t))}}function bp(e,l){if(e&1&&f(0),e&2){let t=l.item;v(" ",t.slug," ")}}var to=(()=>{class e{constructor(t,n){this.dataService=t,this.i18nService=n,this.searchTermControl=new vt(""),this.currentPage$=new
|
|
98
|
-
/*# sourceMappingURL=collection-list-common-CEK3MWRQ.css.map */`],changeDetection:0})}}return e})();var Gr=Pn({location:"collection-list",requiresPermission:e=>e.includes(V.DeleteCollection)||e.includes(V.DeleteCatalog),getItemName:e=>e.name,bulkDelete:(e,l)=>e.collection.deleteCollections(l).pipe(F(t=>t.deleteCollections))}),jr={location:"collection-list",label:"catalog.move-collections",icon:"drag-handle",requiresPermission:e=>e.includes(V.UpdateCatalog)||e.includes(V.UpdateCollection),onClick:({injector:e,selection:l,hostComponent:t,clearSelection:n})=>{let i=e.get(te),r=e.get(k),m=e.get(Y);i.fromComponent(to,{size:"xl",closable:!0}).pipe(B(_=>{if(_){let x=l.map(I=>({collectionId:I.id,parentId:_.id,index:0}));return r.collection.moveCollection(x)}else return le})).subscribe(_=>{m.success("catalog.move-collections-success",{count:l.length}),n(),t.refresh()})}},Wr=In({location:"collection-list",requiresPermission:e=>e.includes(V.UpdateCatalog)||e.includes(V.UpdateCollection),getItemName:e=>e.name,bulkAssignToChannel:(e,l,t)=>t.map(n=>e.collection.assignCollectionsToChannel({collectionIds:l,channelId:n}).pipe(F(i=>i.assignCollectionsToChannel)))}),qr=ii({location:"collection-list",requiresPermission:e=>e.includes(V.DeleteCatalog)||e.includes(V.DeleteCollection),getItemName:e=>e.name,bulkRemoveFromChannel:(e,l,t)=>e.collection.removeCollectionsFromChannel({channelId:t,collectionIds:l}).pipe(F(n=>n.removeCollectionsFromChannel))}),Hr={location:"collection-list",label:"common.duplicate",icon:"copy",onClick:({injector:e,selection:l,hostComponent:t,clearSelection:n})=>{e.get(te).fromComponent(ki,{locals:{entities:l,entityName:"Collection",title:"catalog.duplicate-collections",getEntityName:r=>r.name}}).subscribe(r=>{r&&(n(),t.refresh())})}};var yp=()=>["CreateCatalog","CreateCollection"],xp=()=>["./create"],Qr=e=>["./",e],Pp=e=>({contents:e}),Ip=()=>({contentsPage:1});function Tp(e,l){e&1&&(c(0,"a",6),h(1,"clr-icon",7),f(2),s(3,"translate"),p()),e&2&&(a("routerLink",W(4,xp)),o(2),v(" ",d(3,2,"catalog.create-new-collection")," "))}function Dp(e,l){if(e&1&&f(0),e&2){let t=l.item;v(" ",t.id," ")}}function Fp(e,l){if(e&1&&(f(0),s(1,"localeDate")),e&2){let t=l.item;v(" ",O(1,1,t.createdAt,"short")," ")}}function Sp(e,l){if(e&1&&(f(0),s(1,"localeDate")),e&2){let t=l.item;v(" ",O(1,1,t.updatedAt,"short")," ")}}function Ep(e,l){if(e&1&&f(0),e&2){let t=l.item;v(" ",t.position," ")}}function Op(e,l){if(e&1&&h(0,"clr-icon",26),e&2){let t=u().depth;w("transparent",t===0)}}function Vp(e,l){e&1&&h(0,"clr-icon",30)}function kp(e,l){e&1&&h(0,"clr-icon",31)}function Rp(e,l){if(e&1){let t=D();c(0,"button",27),C("click",function(){b(t);let i=u().item,r=u(2);return y(r.toggleExpanded(i))}),g(1,Vp,1,0,"clr-icon",28)(2,kp,1,0,"clr-icon",29),p()}if(e&2){let t=u().item,n=u(2);o(),a("ngIf",!n.expandedIds.includes(t.id)),o(),a("ngIf",n.expandedIds.includes(t.id))}}function Bp(e,l){if(e&1&&(h(0,"div",21),g(1,Op,1,2,"clr-icon",22)(2,Rp,3,2,"button",23),c(3,"a",24)(4,"span"),f(5),p(),h(6,"clr-icon",25),p()),e&2){let t=l.item,n=l.depth;a("ngClass","indent-"+n),o(),a("ngIf",!(t.children!=null&&t.children.length)),o(),a("ngIf",t.children==null?null:t.children.length),o(),a("routerLink",j(5,Qr,t.id)),o(2),T(t.name)}}function Ap(e,l){if(e&1&&(c(0,"div")(1,"span",36),f(2,"/"),p(),f(3),p()),e&2){let t=l.$implicit;o(3),v("",t.name," ")}}function wp(e,l){if(e&1&&(M(0),g(1,Ap,4,1,"div",35),N()),e&2){let t=u().ngIf;o(),a("ngForOf",t)}}function Mp(e,l){e&1&&(c(0,"span",36),f(1,"/"),p())}function Np(e,l){if(e&1&&(M(0),g(1,wp,2,1,"ng-container",33)(2,Mp,2,0,"span",34),N()),e&2){let t=l.ngIf;o(),a("ngIf",t.length),o(),a("ngIf",!t.length)}}function Lp(e,l){if(e&1&&(c(0,"div",32),g(1,Np,3,2,"ng-container",33),s(2,"collectionBreadcrumb"),p()),e&2){let t=l.item;o(),a("ngIf",d(2,1,t))}}function Up(e,l){if(e&1&&f(0),e&2){let t=l.item;v(" ",t.slug," ")}}function $p(e,l){e&1&&(c(0,"vdr-chip",39),f(1),s(2,"translate"),p()),e&2&&(o(),T(d(2,1,"common.private")))}function Gp(e,l){e&1&&(c(0,"vdr-chip",40),f(1),s(2,"translate"),p()),e&2&&(o(),T(d(2,1,"common.public")))}function jp(e,l){if(e&1&&g(0,$p,3,3,"vdr-chip",37)(1,Gp,3,3,"vdr-chip",38),e&2){let t=l.item;a("ngIf",t.isPrivate),o(),a("ngIf",!t.isPrivate)}}function Wp(e,l){if(e&1&&(c(0,"a",41)(1,"span"),f(2),s(3,"translate"),p(),h(4,"clr-icon",42),p()),e&2){let t=l.item;a("routerLink",j(7,Qr,j(5,Pp,t.id)))("queryParams",W(9,Ip)),o(2),T(d(3,3,"common.view-contents"))}}function qp(e,l){if(e&1&&h(0,"vdr-dt2-custom-field-column",43),e&2){let t=l.$implicit,n=u(2);a("customField",t)("sorts",n.sorts)}}function Hp(e,l){if(e&1){let t=D();c(0,"vdr-collection-data-table",8),s(1,"async"),s(2,"async"),s(3,"async"),s(4,"async"),s(5,"async"),s(6,"async"),C("pageChange",function(i){b(t);let r=u();return y(r.setPageNumber(i))})("itemsPerPageChange",function(i){b(t);let r=u();return y(r.setItemsPerPage(i))})("changeOrder",function(i){b(t);let r=u();return y(r.onRearrange(i))})("visibleColumnsChange",function(i){b(t);let r=u();return y(r.setVisibleColumns(i))}),h(7,"vdr-bulk-action-menu",9)(8,"vdr-dt2-search",10),s(9,"translate"),c(10,"vdr-dt2-column",11),s(11,"translate"),g(12,Dp,1,1,"ng-template"),p(),c(13,"vdr-dt2-column",12),s(14,"translate"),g(15,Fp,2,4,"ng-template"),p(),c(16,"vdr-dt2-column",13),s(17,"translate"),g(18,Sp,2,4,"ng-template"),p(),c(19,"vdr-dt2-column",14),s(20,"translate"),g(21,Ep,1,1,"ng-template"),p(),c(22,"vdr-dt2-column",15),s(23,"translate"),g(24,Bp,7,7,"ng-template"),p(),c(25,"vdr-dt2-column",16),s(26,"translate"),g(27,Lp,3,3,"ng-template"),p(),c(28,"vdr-dt2-column",17),s(29,"translate"),g(30,Up,1,1,"ng-template"),p(),c(31,"vdr-dt2-column",18),s(32,"translate"),g(33,jp,2,2,"ng-template"),p(),c(34,"vdr-dt2-column",19),s(35,"translate"),g(36,Wp,5,10,"ng-template"),p(),g(37,qp,1,2,"vdr-dt2-custom-field-column",20),p()}if(e&2){let t=u();a("id",t.dataTableListId)("items",d(1,33,t.items$))("subCollections",d(2,35,t.subCollections$))("itemsPerPage",d(3,37,t.itemsPerPage$))("totalItems",d(4,39,t.totalItems$))("currentPage",d(5,41,t.currentPage$))("filters",t.filters)("activeIndex",d(6,43,t.activeCollectionIndex$)),o(7),a("hostComponent",t)("selectionManager",t.selectionManager),o(),a("searchTermControl",t.searchTermControl)("searchTermPlaceholder",d(9,45,"common.search-by-name")),o(2),a("heading",d(11,47,"common.id"))("hiddenByDefault",!0),o(3),a("heading",d(14,49,"common.created-at"))("hiddenByDefault",!0)("sort",t.sorts.get("createdAt")),o(3),a("heading",d(17,51,"common.updated-at"))("hiddenByDefault",!0)("sort",t.sorts.get("updatedAt")),o(3),a("heading",d(20,53,"common.position"))("hiddenByDefault",!0)("sort",t.sorts.get("position")),o(3),a("heading",d(23,55,"common.name"))("optional",!1)("sort",t.sorts.get("name")),o(3),a("heading",d(26,57,"common.breadcrumb")),o(3),a("heading",d(29,59,"common.slug"))("sort",t.sorts.get("slug")),o(3),a("heading",d(32,61,"common.visibility")),o(3),a("heading",d(35,63,"common.view-contents"))("optional",!1),o(3),a("ngForOf",t.customFields)}}function Qp(e,l){if(e&1&&(M(0),h(1,"vdr-collection-contents",44),s(2,"async"),N()),e&2){let t=u(2);o(),a("collectionId",d(2,1,t.activeCollectionId$))}}function Yp(e,l){if(e&1&&(g(0,Qp,3,3,"ng-container",33),s(1,"async")),e&2){let t=u();a("ngIf",d(1,1,t.activeCollectionId$))}}var Yr=(()=>{class e extends ti{constructor(t,n){super(),this.dataService=t,this.notificationService=n,this.expandedIds=[],this.dataTableListId="collection-list",this.customFields=this.getCustomFieldConfig("Collection"),this.filters=this.createFilterCollection().addIdFilter().addDateFilters().addFilter({name:"slug",label:"common.slug",type:{kind:"text"},filterField:"slug"}).addFilter({name:"visibility",type:{kind:"boolean"},label:"common.visibility",toFilterInput:i=>({isPrivate:{eq:!i}})}).addCustomFieldFilters(this.customFields).connectToRoute(this.route),this.sorts=this.createSortCollection().defaultSort("position","ASC").addSort({name:"createdAt"}).addSort({name:"updatedAt"}).addSort({name:"name"}).addSort({name:"slug"}).addSort({name:"position"}).addCustomFieldSorts(this.customFields).connectToRoute(this.route),super.configure({document:Qo,getItems:i=>i.collections,setVariables:(i,r)=>{let m=this.searchTermControl.value===""&&this.filters.activeFilters.length===0?!0:void 0;return{options:{skip:i,take:r,filter:X({name:{contains:this.searchTermControl.value}},this.filters.createFilterInput()),topLevelOnly:m,sort:this.sorts.createSortInput()}}},refreshListOnChanges:[this.filters.valueChanges,this.sorts.valueChanges]})}ngOnInit(){super.ngOnInit(),this.activeCollectionId$=this.route.paramMap.pipe(F(n=>n.get("contents")),Ie());let t=this.route.queryParamMap.pipe(F(n=>n.get("expanded")),Ie(),F(n=>n?n.split(","):[]));t.pipe(Vt(this.destroy$)).subscribe(n=>{this.expandedIds=n}),this.subCollections$=ee(t,this.refresh$).pipe(B(([n])=>n.length?this.dataService.collection.getCollections({take:999,filter:{parentId:{in:n}}}).mapStream(i=>i.collections.items):he([]))),this.activeCollectionTitle$=ee(this.activeCollectionId$,this.items$,this.subCollections$).pipe(F(([n,i,r])=>{if(n){let m=[...i,...r].find(_=>_.id===n);return m?m.name:""}return""})),this.activeCollectionIndex$=ee(this.activeCollectionId$,this.items$,this.subCollections$).pipe(F(([n,i,r])=>{if(n){let m=[];for(let _ of i){m.push(_);let x=r.filter(I=>I.parentId&&I.parentId===_.id);m.push(...x)}return m.findIndex(_=>_.id===n)}return-1}))}onRearrange(t){this.dataService.collection.moveCollection([t]).subscribe({next:()=>{this.notificationService.success("common.notify-saved-changes"),this.refresh()},error:n=>{this.notificationService.error("common.notify-save-changes-error")}})}closeContents(){let t=X({},this.route.snapshot.params);delete t.contents,this.router.navigate(["./",t],{relativeTo:this.route,queryParamsHandling:"preserve"})}setLanguage(t){this.dataService.client.setContentLanguage(t).subscribe()}toggleExpanded(t){let n=this.expandedIds;n.includes(t.id)?n=n.filter(i=>i!==t.id):n.push(t.id),this.router.navigate(["./"],{queryParams:{expanded:n.filter(i=>!!i).join(",")},queryParamsHandling:"merge",relativeTo:this.route})}static{this.\u0275fac=function(n){return new(n||e)(P(k),P(Y))}}static{this.\u0275cmp=E({type:e,selectors:[["vdr-collection-list"]],standalone:!1,features:[ce],decls:15,vars:14,consts:[[3,"languageCodeChange","availableLanguageCodes","currentLanguageCode"],["locationId","collection-list"],["class","btn btn-primary",3,"routerLink",4,"vdrIfPermissions"],[3,"closeClicked","rightPanelOpen"],["vdrSplitViewLeft",""],["vdrSplitViewRight","",3,"splitViewTitle"],[1,"btn","btn-primary",3,"routerLink"],["shape","plus"],[1,"mt-2",3,"pageChange","itemsPerPageChange","changeOrder","visibleColumnsChange","id","items","subCollections","itemsPerPage","totalItems","currentPage","filters","activeIndex"],["locationId","collection-list",3,"hostComponent","selectionManager"],[3,"searchTermControl","searchTermPlaceholder"],["id","id",3,"heading","hiddenByDefault"],["id","created-at",3,"heading","hiddenByDefault","sort"],["id","updated-at",3,"heading","hiddenByDefault","sort"],["id","position",3,"heading","hiddenByDefault","sort"],["id","name",3,"heading","optional","sort"],["id","breadcrumb",3,"heading"],["id","slug",3,"heading","sort"],["id","visibility",3,"heading"],["id","view-contents",3,"heading","optional"],[3,"customField","sorts",4,"ngFor","ngForOf"],[3,"ngClass"],["class","child-arrow","shape","child-arrow",3,"transparent",4,"ngIf"],["class","icon-button folder-button",3,"click",4,"ngIf"],[1,"button-ghost",3,"routerLink"],["shape","arrow right"],["shape","child-arrow",1,"child-arrow"],[1,"icon-button","folder-button",3,"click"],["shape","folder",4,"ngIf"],["shape","folder-open",4,"ngIf"],["shape","folder"],["shape","folder-open"],[1,"breadcrumb"],[4,"ngIf"],["class","separator",4,"ngIf"],[4,"ngFor","ngForOf"],[1,"separator"],["colorType","warning",4,"ngIf"],["colorType","success",4,"ngIf"],["colorType","warning"],["colorType","success"],["queryParamsHandling","merge",1,"button-small","bg-weight-150",3,"routerLink","queryParams"],["shape","file-group"],[3,"customField","sorts"],[3,"collectionId"]],template:function(n,i){n&1&&(c(0,"vdr-page-block")(1,"vdr-action-bar")(2,"vdr-ab-left")(3,"vdr-language-selector",0),s(4,"async"),s(5,"async"),C("languageCodeChange",function(m){return i.setLanguage(m)}),p()(),c(6,"vdr-ab-right"),h(7,"vdr-action-bar-items",1),g(8,Tp,4,5,"a",2),h(9,"vdr-action-bar-dropdown-menu",1),p()()(),c(10,"vdr-split-view",3),s(11,"async"),C("closeClicked",function(){return i.closeContents()}),g(12,Hp,38,65,"ng-template",4)(13,Yp,2,3,"ng-template",5),s(14,"async"),p()),n&2&&(o(3),a("availableLanguageCodes",d(4,5,i.availableLanguages$))("currentLanguageCode",d(5,7,i.contentLanguage$)),o(5),a("vdrIfPermissions",W(13,yp)),o(2),a("rightPanelOpen",d(11,9,i.activeCollectionId$)),o(3),a("splitViewTitle",d(14,11,i.activeCollectionTitle$)))},dependencies:[J,Nt,$,A,Te,Ve,Ee,Oe,He,Se,ke,xe,We,Jt,qe,nt,ei,Wa,Ga,ja,de,Yi,Ki,G,R,it,zi],styles:[`[_nghost-%COMP%]{--indent-spacing: 18px}.indent-1[_ngcontent-%COMP%]{padding-inline-start:var(--indent-spacing)}.indent-2[_ngcontent-%COMP%]{padding-inline-start:calc(var(--indent-spacing) * 2)}.indent-3[_ngcontent-%COMP%]{padding-inline-start:calc(var(--indent-spacing) * 3)}.indent-4[_ngcontent-%COMP%], .indent-5[_ngcontent-%COMP%], .indent-6[_ngcontent-%COMP%], .indent-7[_ngcontent-%COMP%], .indent-8[_ngcontent-%COMP%], .indent-9[_ngcontent-%COMP%]{padding-inline-start:calc(var(--indent-spacing) * 4)}.child-arrow[_ngcontent-%COMP%]{margin:1px 6px}.child-arrow.transparent[_ngcontent-%COMP%]{opacity:0}.breadcrumb[_ngcontent-%COMP%]{display:flex}.separator[_ngcontent-%COMP%]{color:var(--color-weight-500);margin:0 3px}
|
|
99
|
-
/*# sourceMappingURL=collection-list-common-CEK3MWRQ.css.map */`],changeDetection:0})}}return e})();var Ni=(()=>{class e{constructor(){this.allMoveListItems=[],this._rearrange$=new ft,this._delete$=new ft,this.rearrange$=this._rearrange$.asObservable(),this.delete$=this._delete$.asObservable()}ngOnDestroy(){this._rearrange$.complete(),this._delete$.complete()}setCollectionTree(t){this.collectionTree=t}resetMoveList(){this.allMoveListItems=[]}getMoveListItems(t){return this.allMoveListItems.length===0&&(this.allMoveListItems=this.calculateAllMoveListItems()),this.allMoveListItems.filter(n=>n.id!==t.id&&!n.ancestorIdPath.has(t.id)&&n.id!==t.parent?.id)}onDrop(t){let n=t.item.data,r=t.container.data.id;if(r==null)throw new Error("Could not determine the ID of the root Collection");this._rearrange$.next({collectionId:n.id,parentId:r,index:t.currentIndex})}onMove(t){this._rearrange$.next(t)}onDelete(t){this._delete$.next(t)}calculateAllMoveListItems(){let t=(n,i,r,m)=>{let _=i.concat(n.name);return m.push({path:_.slice(1).join(" / ")||"root",id:n.id,ancestorIdPath:r}),n.children.forEach(x=>t(x,_,new Set([...r,n.id]),m)),m};return t(this.collectionTree,[],new Set,[])}static{this.\u0275fac=function(n){return new(n||e)}}static{this.\u0275prov=hi({token:e,factory:e.\u0275fac})}}return e})();var Kp=e=>({contents:e}),zp=e=>["./",e],Zp=e=>["/catalog/collections/",e],Jp=()=>["UpdateCatalog","UpdateCollection"],Xp=()=>["CreateCatalog","CreateCollection"],ed=e=>({parentId:e}),td=e=>["./","create",e];function id(e,l){e&1&&h(0,"clr-icon",32)}function nd(e,l){e&1&&h(0,"clr-icon",33)}function od(e,l){if(e&1){let t=D();c(0,"button",29),C("click",function(){b(t);let i=u().$implicit,r=u();return y(r.toggleExpanded(i))}),g(1,id,1,0,"clr-icon",30)(2,nd,1,0,"clr-icon",31),p()}if(e&2){let t=u().$implicit,n=u();a("disabled",n.expandAll),o(),a("ngIf",!t.expanded&&!n.expandAll),o(),a("ngIf",t.expanded||n.expandAll)}}function ad(e,l){e&1&&h(0,"div",34)}function rd(e,l){e&1&&(c(0,"vdr-chip"),f(1),s(2,"translate"),p()),e&2&&(o(),T(d(2,1,"catalog.private")))}function ld(e,l){e&1&&(c(0,"div",35),h(1,"clr-icon",36),p())}function sd(e,l){if(e&1&&(c(0,"a",37),h(1,"clr-icon",38),f(2),s(3,"translate"),p()),e&2){let t=u().$implicit;a("routerLink",j(6,td,j(4,ed,t.id))),o(2),v(" ",d(3,2,"catalog.create-new-collection")," ")}}function cd(e,l){if(e&1){let t=D();c(0,"button",21),s(1,"async"),C("click",function(){let i=b(t).$implicit,r=u().$implicit,m=u();return y(m.move(r,i.id))}),c(2,"div",39)(3,"div",40),h(4,"clr-icon",41),p(),c(5,"div",42),f(6),p()()()}if(e&2){let t=l.$implicit,n=u(2);a("disabled",!d(1,2,n.hasUpdatePermission$)),o(6),v(" ",t.path," ")}}function pd(e,l){if(e&1&&h(0,"vdr-collection-tree-node",43),e&2){let t=u().$implicit,n=u();a("expandAll",n.expandAll)("collectionTree",t)("activeCollectionId",n.activeCollectionId)("selectionManager",n.selectionManager)}}function dd(e,l){if(e&1){let t=D();c(0,"div",4)(1,"div",5)(2,"div")(3,"input",6),C("click",function(i){let r=b(t).$implicit,m=u();return y(m.selectionManager.toggleSelection(r,i))}),p()(),c(4,"div",7),g(5,od,3,3,"button",8)(6,ad,1,0,"ng-template",null,1,Q),f(8),p(),h(9,"div",9),g(10,rd,3,3,"vdr-chip",10),c(11,"a",11),h(12,"clr-icon",12),f(13),s(14,"translate"),p(),c(15,"a",13),h(16,"clr-icon",14),f(17),s(18,"translate"),p(),g(19,ld,2,0,"div",15),c(20,"vdr-dropdown")(21,"button",16),C("click",function(){let i=b(t).$implicit,r=u();return y(r.getMoveListItems(i))}),h(22,"clr-icon",17),p(),c(23,"vdr-dropdown-menu",18),g(24,sd,4,8,"a",19),h(25,"div",20),c(26,"button",21),s(27,"async"),C("click",function(){let i=b(t),r=i.$implicit,m=i.index,_=u();return y(_.moveUp(r,m))}),h(28,"clr-icon",22),f(29),s(30,"translate"),p(),c(31,"button",21),s(32,"async"),C("click",function(){let i=b(t),r=i.$implicit,m=i.index,_=u();return y(_.moveDown(r,m))}),h(33,"clr-icon",23),f(34),s(35,"translate"),p(),c(36,"h4",24),f(37),s(38,"translate"),p(),g(39,cd,7,4,"button",25),h(40,"div",20),c(41,"button",26),s(42,"async"),C("click",function(){let i=b(t).$implicit,r=u();return y(r.delete(i.id))}),h(43,"clr-icon",27),f(44),s(45,"translate"),p()()()(),g(46,pd,1,4,"vdr-collection-tree-node",28),p()}if(e&2){let t=l.$implicit,n=l.index,i=U(7),r=u();w("private",t.isPrivate),a("cdkDragData",t),o(),w("active",t.id===r.activeCollectionId),a("ngClass","depth-"+r.depth),o(2),a("checked",r.selectionManager.isSelected(t)),o(2),a("ngIf",t.children==null?null:t.children.length)("ngIfElse",i),o(3),v(" ",t.name," "),o(2),a("ngIf",t.isPrivate),o(),a("routerLink",j(46,zp,j(44,Kp,t.id))),o(2),v(" ",d(14,26,"catalog.view-contents")," "),o(2),a("routerLink",j(48,Zp,t.id)),o(2),v(" ",d(18,28,"common.edit")," "),o(2),a("vdrIfPermissions",W(50,Jp)),o(5),a("vdrIfPermissions",W(51,Xp)),o(2),a("disabled",n===0||!d(27,30,r.hasUpdatePermission$)),o(3),v(" ",d(30,32,"catalog.move-up")," "),o(2),a("disabled",n===r.collectionTree.children.length-1||!d(32,34,r.hasUpdatePermission$)),o(3),v(" ",d(35,36,"catalog.move-down")," "),o(3),T(d(38,38,"catalog.move-to")),o(2),a("ngForOf",r.moveListItems),o(2),a("disabled",!d(42,40,r.hasDeletePermission$)),o(3),v(" ",d(45,42,"common.delete")," "),o(2),a("ngIf",t.expanded||r.expandAll)}}var oo=(()=>{class e{constructor(t,n,i,r,m,_){this.parent=t,this.dataService=n,this.collectionTreeService=i,this.router=r,this.route=m,this.changeDetectorRef=_,this.depth=0,this.expandAll=!1,this.moveListItems=[],t&&(this.depth=t.depth+1)}ngOnInit(){this.parentName=this.collectionTree.name||"<root>";let t=this.dataService.client.userStatus().mapStream(n=>n.userStatus.permissions).pipe(Ot(1));this.hasUpdatePermission$=t.pipe(F(n=>n.includes(V.UpdateCatalog)||n.includes(V.UpdateCollection))),this.hasDeletePermission$=t.pipe(F(n=>n.includes(V.DeleteCatalog)||n.includes(V.DeleteCollection))),this.subscription=this.selectionManager?.selectionChanges$.subscribe(()=>this.changeDetectorRef.markForCheck())}ngOnChanges(t){let n=t.expandAll;n&&n.previousValue===!0&&n.currentValue===!1&&this.collectionTree.children.forEach(i=>i.expanded=!1)}ngOnDestroy(){this.subscription?.unsubscribe()}trackByFn(t,n){return n.id}toggleExpanded(t){t.expanded=!t.expanded;let n=this.route.snapshot.queryParamMap.get("expanded")?.split(",")??[];t.expanded?n.push(t.id):n=n.filter(i=>i!==t.id),this.router.navigate(["./"],{queryParams:{expanded:n.filter(i=>!!i).join(",")},queryParamsHandling:"merge",relativeTo:this.route})}getMoveListItems(t){this.moveListItems=this.collectionTreeService.getMoveListItems(t)}move(t,n){this.collectionTreeService.onMove({index:0,parentId:n,collectionId:t.id})}moveUp(t,n){t.parent&&this.collectionTreeService.onMove({index:n-1,parentId:t.parent.id,collectionId:t.id})}moveDown(t,n){t.parent&&this.collectionTreeService.onMove({index:n+1,parentId:t.parent.id,collectionId:t.id})}drop(t){da(this.collectionTree.children,t.previousIndex,t.currentIndex),this.collectionTreeService.onDrop(t)}delete(t){this.collectionTreeService.onDelete(t)}static{this.\u0275fac=function(n){return new(n||e)(P(e,12),P(k),P(Ni),P(dt),P(xt),P(pe))}}static{this.\u0275cmp=E({type:e,selectors:[["vdr-collection-tree-node"]],inputs:{collectionTree:"collectionTree",activeCollectionId:"activeCollectionId",expandAll:"expandAll",selectionManager:"selectionManager"},standalone:!1,features:[yt],decls:4,vars:6,consts:[["dropList",""],["folderSpacer",""],["cdkDropList","",1,"tree-node",3,"cdkDropListDropped","cdkDropListData","cdkDropListDisabled"],["class","collection","cdkDrag","",3,"private","cdkDragData",4,"ngFor","ngForOf","ngForTrackBy"],["cdkDrag","",1,"collection",3,"cdkDragData"],[1,"collection-detail",3,"ngClass"],["type","checkbox","clrCheckbox","",3,"click","checked"],[1,"name"],["class","icon-button folder-button",3,"disabled","click",4,"ngIf","ngIfElse"],[1,"flex-spacer"],[4,"ngIf"],["queryParamsHandling","preserve",1,"btn","btn-link","btn-sm",3,"routerLink"],["shape","view-list"],[1,"btn","btn-link","btn-sm",3,"routerLink"],["shape","edit"],["class","drag-handle","cdkDragHandle","",4,"vdrIfPermissions"],["vdrDropdownTrigger","",1,"icon-button",3,"click"],["shape","ellipsis-vertical"],["vdrPosition","bottom-right"],["class","dropdown-item",3,"routerLink",4,"vdrIfPermissions"],[1,"dropdown-divider"],["type","button","vdrDropdownItem","",3,"click","disabled"],["shape","caret up"],["shape","caret down"],[1,"dropdown-header"],["type","button","vdrDropdownItem","",3,"disabled","click",4,"ngFor","ngForOf"],["vdrDropdownItem","",1,"button",3,"click","disabled"],["shape","trash",1,"is-danger"],[3,"expandAll","collectionTree","activeCollectionId","selectionManager",4,"ngIf"],[1,"icon-button","folder-button",3,"click","disabled"],["shape","folder",4,"ngIf"],["shape","folder-open",4,"ngIf"],["shape","folder"],["shape","folder-open"],[1,"folder-button-spacer"],["cdkDragHandle","",1,"drag-handle"],["shape","drag-handle","size","24"],[1,"dropdown-item",3,"routerLink"],["shape","plus"],[1,"move-to-item"],[1,"move-icon"],["shape","child-arrow"],[1,"path"],[3,"expandAll","collectionTree","activeCollectionId","selectionManager"]],template:function(n,i){if(n&1){let r=D();c(0,"div",2,0),s(2,"async"),C("cdkDropListDropped",function(_){return b(r),y(i.drop(_))}),g(3,dd,47,52,"div",3),p()}n&2&&(a("cdkDropListData",i.collectionTree)("cdkDropListDisabled",!d(2,4,i.hasUpdatePermission$)),o(3),a("ngForOf",i.collectionTree.children)("ngForTrackBy",i.trackByFn))},dependencies:[J,ye,Nt,$,A,Te,Pi,xi,gn,Se,K,Gt,jt,Wt,It,xe,e,G,R],styles:[`[_nghost-%COMP%]{display:block}.collection[_ngcontent-%COMP%]{background-color:var(--clr-table-bgcolor);border-radius:var(--clr-global-borderradius);font-size:.65rem;transition:transform .25s cubic-bezier(0,0,.2,1);margin-bottom:2px;border-inline-start:2px solid transparent;transition:border-left-color .2s}.collection.private[_ngcontent-%COMP%]{background-color:var(--color-component-bg-200)}.collection[_ngcontent-%COMP%] .collection-detail[_ngcontent-%COMP%]{padding:6px 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-component-border-100)}.collection[_ngcontent-%COMP%] .collection-detail.active[_ngcontent-%COMP%]{background-color:var(--clr-global-selection-color)}.collection[_ngcontent-%COMP%] .collection-detail.depth-1[_ngcontent-%COMP%]{padding-inline-start:36px}.collection[_ngcontent-%COMP%] .collection-detail.depth-2[_ngcontent-%COMP%]{padding-inline-start:60px}.collection[_ngcontent-%COMP%] .collection-detail.depth-3[_ngcontent-%COMP%]{padding-inline-start:84px}.collection[_ngcontent-%COMP%] .collection-detail.depth-4[_ngcontent-%COMP%]{padding-inline-start:108px}.collection[_ngcontent-%COMP%] .collection-detail[_ngcontent-%COMP%] .folder-button-spacer[_ngcontent-%COMP%]{display:inline-block;width:28px}.tree-node[_ngcontent-%COMP%]{display:block;background-color:var(--clr-table-bgcolor);border-radius:var(--clr-global-borderradius);overflow:hidden}.tree-node.cdk-drop-list-dragging[_ngcontent-%COMP%] > .collection[_ngcontent-%COMP%]{border-left-color:var(--color-primary-300)}.drag-placeholder[_ngcontent-%COMP%]{min-height:120px;background-color:var(--color-component-bg-300);transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drag-preview[_ngcontent-%COMP%]{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder[_ngcontent-%COMP%]{opacity:0}.cdk-drag-animating[_ngcontent-%COMP%]{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-list.cdk-drop-list-dragging[_ngcontent-%COMP%] .tree-node[_ngcontent-%COMP%]:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.move-to-item[_ngcontent-%COMP%]{display:flex;white-space:normal;align-items:baseline}.move-to-item[_ngcontent-%COMP%] .move-icon[_ngcontent-%COMP%]{flex:none;margin-inline-end:3px}.move-to-item[_ngcontent-%COMP%] .path[_ngcontent-%COMP%]{line-height:18px}
|
|
97
|
+
`)}function sp(e,l){if(e&1&&f(0),e&2){let t=l.item;v(" ",t.id," ")}}function cp(e,l){if(e&1&&h(0,"clr-icon",12),e&2){let t=u().depth;w("transparent",t===0)}}function pp(e,l){e&1&&h(0,"clr-icon",16)}function dp(e,l){e&1&&h(0,"clr-icon",17)}function mp(e,l){if(e&1){let t=D();c(0,"button",13),C("click",function(){b(t);let i=u().item,r=u();return y(r.toggleExpanded(i))}),g(1,pp,1,0,"clr-icon",14)(2,dp,1,0,"clr-icon",15),p()}if(e&2){let t=u().item,n=u();o(),a("ngIf",!n.expandedIds.includes(t.id)),o(),a("ngIf",n.expandedIds.includes(t.id))}}function up(e,l){e&1&&(c(0,"button",18),h(1,"clr-icon",19),p())}function gp(e,l){if(e&1){let t=D();h(0,"div",7),g(1,cp,1,2,"clr-icon",8)(2,mp,3,2,"button",9)(3,up,2,0,"button",10),c(4,"button",11),C("click",function(){let i=b(t).item,r=u();return y(r.resolveWith(i))}),c(5,"span"),f(6),s(7,"translate"),p()()}if(e&2){let t=l.item,n=l.depth;a("ngClass","indent-"+n),o(),a("ngIf",!(t.children!=null&&t.children.length)&&t.parentId!=="__"),o(),a("ngIf",t.children==null?null:t.children.length),o(),a("ngIf",t.parentId==="__"),o(3),T(O(7,5,"catalog.move-collection-to",j(8,rp,t.name)))}}function _p(e,l){if(e&1&&(c(0,"div")(1,"span",24),f(2,"/"),p(),f(3),p()),e&2){let t=l.$implicit;o(3),v("",t.name," ")}}function fp(e,l){if(e&1&&(M(0),g(1,_p,4,1,"div",23),N()),e&2){let t=u().ngIf;o(),a("ngForOf",t)}}function hp(e,l){e&1&&(c(0,"span",24),f(1,"/"),p())}function vp(e,l){if(e&1&&(M(0),g(1,fp,2,1,"ng-container",21)(2,hp,2,0,"span",22),N()),e&2){let t=l.ngIf;o(),a("ngIf",t.length),o(),a("ngIf",!t.length)}}function Cp(e,l){if(e&1&&(c(0,"div",20),g(1,vp,3,2,"ng-container",21),s(2,"collectionBreadcrumb"),p()),e&2){let t=l.item;o(),a("ngIf",d(2,1,t))}}function bp(e,l){if(e&1&&f(0),e&2){let t=l.item;v(" ",t.slug," ")}}var to=(()=>{class e{constructor(t,n){this.dataService=t,this.i18nService=n,this.searchTermControl=new vt(""),this.currentPage$=new Ae(1),this.itemsPerPage$=new Ae(10),this.expandedIds$=new ft,this.expandedIds=[]}ngOnInit(){let t=this.dataService.collection.getCollections(),n=this.searchTermControl.valueChanges.pipe(rt(250),Fe(),st("")),i=this.currentPage$.pipe(Fe()),r=this.itemsPerPage$.pipe(Fe());ee(n,i,r).subscribe(([_,x,I])=>{let S=_==="";t.ref.refetch({options:{skip:(x-1)*I,take:I,filter:{name:{contains:_}},topLevelOnly:S}})});let m=this.dataService.collection.getCollections({take:1,topLevelOnly:!0}).mapSingle(_=>_.collections.items[0].parentId);this.items$=ee(t.mapStream(({collections:_})=>_),m).pipe(F(([_,x])=>[...x?[{id:x,name:this.i18nService.translate("catalog.root-collection"),slug:"",parentId:"__",position:0,featuredAsset:null,children:[],breadcrumbs:[],isPrivate:!1,createdAt:"",updatedAt:""}]:[],..._.items])),this.totalItems$=t.mapStream(_=>_.collections.totalItems),this.subCollections$=this.expandedIds$.pipe(ze(_=>this.expandedIds=_),B(_=>_.length?this.dataService.collection.getCollections({take:999,filter:{parentId:{in:_}}}).mapStream(x=>x.collections.items):he([])))}toggleExpanded(t){let n=this.expandedIds;n.includes(t.id)?n=n.filter(i=>i!==t.id):n.push(t.id),this.expandedIds$.next(n)}static{this.\u0275fac=function(n){return new(n||e)(P(k),P(aa))}}static{this.\u0275cmp=E({type:e,selectors:[["vdr-move-collections-dialog"]],standalone:!1,decls:21,vars:33,consts:[["vdrDialogTitle",""],["id","move-collection-list",1,"mt-2",3,"pageChange","itemsPerPageChange","items","subCollections","itemsPerPage","totalItems","currentPage"],[3,"searchTermControl","searchTermPlaceholder"],["id","id",3,"heading","hiddenByDefault"],["id","name",3,"heading","optional"],["id","breadcrumb",3,"heading"],["id","slug",3,"heading"],[3,"ngClass"],["class","child-arrow","shape","child-arrow",3,"transparent",4,"ngIf"],["class","icon-button folder-button",3,"click",4,"ngIf"],["class","icon-button folder-button","disabled","",4,"ngIf"],[1,"button-ghost",3,"click"],["shape","child-arrow",1,"child-arrow"],[1,"icon-button","folder-button",3,"click"],["shape","folder",4,"ngIf"],["shape","folder-open",4,"ngIf"],["shape","folder"],["shape","folder-open"],["disabled","",1,"icon-button","folder-button"],["shape","folder",1,"is-solid"],[1,"breadcrumb"],[4,"ngIf"],["class","separator",4,"ngIf"],[4,"ngFor","ngForOf"],[1,"separator"]],template:function(n,i){n&1&&(g(0,lp,2,3,"ng-template",0),c(1,"vdr-collection-data-table",1),s(2,"async"),s(3,"async"),s(4,"async"),s(5,"async"),s(6,"async"),C("pageChange",function(m){return i.currentPage$.next(m)})("itemsPerPageChange",function(m){return i.itemsPerPage$.next(m)}),h(7,"vdr-dt2-search",2),s(8,"translate"),c(9,"vdr-dt2-column",3),s(10,"translate"),g(11,sp,1,1,"ng-template"),p(),c(12,"vdr-dt2-column",4),s(13,"translate"),g(14,gp,8,10,"ng-template"),p(),c(15,"vdr-dt2-column",5),s(16,"translate"),g(17,Cp,3,3,"ng-template"),p(),c(18,"vdr-dt2-column",6),s(19,"translate"),g(20,bp,1,1,"ng-template"),p()()),n&2&&(o(),a("items",d(2,13,i.items$))("subCollections",d(3,15,i.subCollections$))("itemsPerPage",d(4,17,i.itemsPerPage$))("totalItems",d(5,19,i.totalItems$))("currentPage",d(6,21,i.currentPage$)),o(6),a("searchTermControl",i.searchTermControl)("searchTermPlaceholder",d(8,23,"common.search-by-name")),o(2),a("heading",d(10,25,"common.id"))("hiddenByDefault",!0),o(3),a("heading",d(13,27,"common.name"))("optional",!1),o(3),a("heading",d(16,29,"common.breadcrumb")),o(3),a("heading",d(19,31,"common.slug")))},dependencies:[J,Lt,$,A,Oe,He,nt,Ki,G,R,zi],styles:[`[_nghost-%COMP%]{--indent-spacing: 18px}.indent-1[_ngcontent-%COMP%]{padding-inline-start:var(--indent-spacing)}.indent-2[_ngcontent-%COMP%]{padding-inline-start:calc(var(--indent-spacing) * 2)}.indent-3[_ngcontent-%COMP%]{padding-inline-start:calc(var(--indent-spacing) * 3)}.indent-4[_ngcontent-%COMP%], .indent-5[_ngcontent-%COMP%], .indent-6[_ngcontent-%COMP%], .indent-7[_ngcontent-%COMP%], .indent-8[_ngcontent-%COMP%], .indent-9[_ngcontent-%COMP%]{padding-inline-start:calc(var(--indent-spacing) * 4)}.child-arrow[_ngcontent-%COMP%]{margin:1px 6px}.child-arrow.transparent[_ngcontent-%COMP%]{opacity:0}.breadcrumb[_ngcontent-%COMP%]{display:flex}.separator[_ngcontent-%COMP%]{color:var(--color-weight-500);margin:0 3px}
|
|
98
|
+
/*# sourceMappingURL=collection-list-common-CEK3MWRQ.css.map */`],changeDetection:0})}}return e})();var Gr=Pn({location:"collection-list",requiresPermission:e=>e.includes(V.DeleteCollection)||e.includes(V.DeleteCatalog),getItemName:e=>e.name,bulkDelete:(e,l)=>e.collection.deleteCollections(l).pipe(F(t=>t.deleteCollections))}),jr={location:"collection-list",label:"catalog.move-collections",icon:"drag-handle",requiresPermission:e=>e.includes(V.UpdateCatalog)||e.includes(V.UpdateCollection),onClick:({injector:e,selection:l,hostComponent:t,clearSelection:n})=>{let i=e.get(te),r=e.get(k),m=e.get(Y);i.fromComponent(to,{size:"xl",closable:!0}).pipe(B(_=>{if(_){let x=l.map(I=>({collectionId:I.id,parentId:_.id,index:0}));return r.collection.moveCollection(x)}else return le})).subscribe(_=>{m.success("catalog.move-collections-success",{count:l.length}),n(),t.refresh()})}},Wr=In({location:"collection-list",requiresPermission:e=>e.includes(V.UpdateCatalog)||e.includes(V.UpdateCollection),getItemName:e=>e.name,bulkAssignToChannel:(e,l,t)=>t.map(n=>e.collection.assignCollectionsToChannel({collectionIds:l,channelId:n}).pipe(F(i=>i.assignCollectionsToChannel)))}),qr=ni({location:"collection-list",requiresPermission:e=>e.includes(V.DeleteCatalog)||e.includes(V.DeleteCollection),getItemName:e=>e.name,bulkRemoveFromChannel:(e,l,t)=>e.collection.removeCollectionsFromChannel({channelId:t,collectionIds:l}).pipe(F(n=>n.removeCollectionsFromChannel))}),Hr={location:"collection-list",label:"common.duplicate",icon:"copy",onClick:({injector:e,selection:l,hostComponent:t,clearSelection:n})=>{e.get(te).fromComponent(ki,{locals:{entities:l,entityName:"Collection",title:"catalog.duplicate-collections",getEntityName:r=>r.name}}).subscribe(r=>{r&&(n(),t.refresh())})}};var yp=()=>["CreateCatalog","CreateCollection"],xp=()=>["./create"],Qr=e=>["./",e],Pp=e=>({contents:e}),Ip=()=>({contentsPage:1});function Tp(e,l){e&1&&(c(0,"a",6),h(1,"clr-icon",7),f(2),s(3,"translate"),p()),e&2&&(a("routerLink",W(4,xp)),o(2),v(" ",d(3,2,"catalog.create-new-collection")," "))}function Dp(e,l){if(e&1&&f(0),e&2){let t=l.item;v(" ",t.id," ")}}function Fp(e,l){if(e&1&&(f(0),s(1,"localeDate")),e&2){let t=l.item;v(" ",O(1,1,t.createdAt,"short")," ")}}function Sp(e,l){if(e&1&&(f(0),s(1,"localeDate")),e&2){let t=l.item;v(" ",O(1,1,t.updatedAt,"short")," ")}}function Ep(e,l){if(e&1&&f(0),e&2){let t=l.item;v(" ",t.position," ")}}function Op(e,l){if(e&1&&h(0,"clr-icon",26),e&2){let t=u().depth;w("transparent",t===0)}}function Vp(e,l){e&1&&h(0,"clr-icon",30)}function kp(e,l){e&1&&h(0,"clr-icon",31)}function Rp(e,l){if(e&1){let t=D();c(0,"button",27),C("click",function(){b(t);let i=u().item,r=u(2);return y(r.toggleExpanded(i))}),g(1,Vp,1,0,"clr-icon",28)(2,kp,1,0,"clr-icon",29),p()}if(e&2){let t=u().item,n=u(2);o(),a("ngIf",!n.expandedIds.includes(t.id)),o(),a("ngIf",n.expandedIds.includes(t.id))}}function Bp(e,l){if(e&1&&(h(0,"div",21),g(1,Op,1,2,"clr-icon",22)(2,Rp,3,2,"button",23),c(3,"a",24)(4,"span"),f(5),p(),h(6,"clr-icon",25),p()),e&2){let t=l.item,n=l.depth;a("ngClass","indent-"+n),o(),a("ngIf",!(t.children!=null&&t.children.length)),o(),a("ngIf",t.children==null?null:t.children.length),o(),a("routerLink",j(5,Qr,t.id)),o(2),T(t.name)}}function Ap(e,l){if(e&1&&(c(0,"div")(1,"span",36),f(2,"/"),p(),f(3),p()),e&2){let t=l.$implicit;o(3),v("",t.name," ")}}function wp(e,l){if(e&1&&(M(0),g(1,Ap,4,1,"div",35),N()),e&2){let t=u().ngIf;o(),a("ngForOf",t)}}function Mp(e,l){e&1&&(c(0,"span",36),f(1,"/"),p())}function Np(e,l){if(e&1&&(M(0),g(1,wp,2,1,"ng-container",33)(2,Mp,2,0,"span",34),N()),e&2){let t=l.ngIf;o(),a("ngIf",t.length),o(),a("ngIf",!t.length)}}function Lp(e,l){if(e&1&&(c(0,"div",32),g(1,Np,3,2,"ng-container",33),s(2,"collectionBreadcrumb"),p()),e&2){let t=l.item;o(),a("ngIf",d(2,1,t))}}function Up(e,l){if(e&1&&f(0),e&2){let t=l.item;v(" ",t.slug," ")}}function $p(e,l){e&1&&(c(0,"vdr-chip",39),f(1),s(2,"translate"),p()),e&2&&(o(),T(d(2,1,"common.private")))}function Gp(e,l){e&1&&(c(0,"vdr-chip",40),f(1),s(2,"translate"),p()),e&2&&(o(),T(d(2,1,"common.public")))}function jp(e,l){if(e&1&&g(0,$p,3,3,"vdr-chip",37)(1,Gp,3,3,"vdr-chip",38),e&2){let t=l.item;a("ngIf",t.isPrivate),o(),a("ngIf",!t.isPrivate)}}function Wp(e,l){if(e&1&&(c(0,"a",41)(1,"span"),f(2),s(3,"translate"),p(),h(4,"clr-icon",42),p()),e&2){let t=l.item;a("routerLink",j(7,Qr,j(5,Pp,t.id)))("queryParams",W(9,Ip)),o(2),T(d(3,3,"common.view-contents"))}}function qp(e,l){if(e&1&&h(0,"vdr-dt2-custom-field-column",43),e&2){let t=l.$implicit,n=u(2);a("customField",t)("sorts",n.sorts)}}function Hp(e,l){if(e&1){let t=D();c(0,"vdr-collection-data-table",8),s(1,"async"),s(2,"async"),s(3,"async"),s(4,"async"),s(5,"async"),s(6,"async"),C("pageChange",function(i){b(t);let r=u();return y(r.setPageNumber(i))})("itemsPerPageChange",function(i){b(t);let r=u();return y(r.setItemsPerPage(i))})("changeOrder",function(i){b(t);let r=u();return y(r.onRearrange(i))})("visibleColumnsChange",function(i){b(t);let r=u();return y(r.setVisibleColumns(i))}),h(7,"vdr-bulk-action-menu",9)(8,"vdr-dt2-search",10),s(9,"translate"),c(10,"vdr-dt2-column",11),s(11,"translate"),g(12,Dp,1,1,"ng-template"),p(),c(13,"vdr-dt2-column",12),s(14,"translate"),g(15,Fp,2,4,"ng-template"),p(),c(16,"vdr-dt2-column",13),s(17,"translate"),g(18,Sp,2,4,"ng-template"),p(),c(19,"vdr-dt2-column",14),s(20,"translate"),g(21,Ep,1,1,"ng-template"),p(),c(22,"vdr-dt2-column",15),s(23,"translate"),g(24,Bp,7,7,"ng-template"),p(),c(25,"vdr-dt2-column",16),s(26,"translate"),g(27,Lp,3,3,"ng-template"),p(),c(28,"vdr-dt2-column",17),s(29,"translate"),g(30,Up,1,1,"ng-template"),p(),c(31,"vdr-dt2-column",18),s(32,"translate"),g(33,jp,2,2,"ng-template"),p(),c(34,"vdr-dt2-column",19),s(35,"translate"),g(36,Wp,5,10,"ng-template"),p(),g(37,qp,1,2,"vdr-dt2-custom-field-column",20),p()}if(e&2){let t=u();a("id",t.dataTableListId)("items",d(1,33,t.items$))("subCollections",d(2,35,t.subCollections$))("itemsPerPage",d(3,37,t.itemsPerPage$))("totalItems",d(4,39,t.totalItems$))("currentPage",d(5,41,t.currentPage$))("filters",t.filters)("activeIndex",d(6,43,t.activeCollectionIndex$)),o(7),a("hostComponent",t)("selectionManager",t.selectionManager),o(),a("searchTermControl",t.searchTermControl)("searchTermPlaceholder",d(9,45,"common.search-by-name")),o(2),a("heading",d(11,47,"common.id"))("hiddenByDefault",!0),o(3),a("heading",d(14,49,"common.created-at"))("hiddenByDefault",!0)("sort",t.sorts.get("createdAt")),o(3),a("heading",d(17,51,"common.updated-at"))("hiddenByDefault",!0)("sort",t.sorts.get("updatedAt")),o(3),a("heading",d(20,53,"common.position"))("hiddenByDefault",!0)("sort",t.sorts.get("position")),o(3),a("heading",d(23,55,"common.name"))("optional",!1)("sort",t.sorts.get("name")),o(3),a("heading",d(26,57,"common.breadcrumb")),o(3),a("heading",d(29,59,"common.slug"))("sort",t.sorts.get("slug")),o(3),a("heading",d(32,61,"common.visibility")),o(3),a("heading",d(35,63,"common.view-contents"))("optional",!1),o(3),a("ngForOf",t.customFields)}}function Qp(e,l){if(e&1&&(M(0),h(1,"vdr-collection-contents",44),s(2,"async"),N()),e&2){let t=u(2);o(),a("collectionId",d(2,1,t.activeCollectionId$))}}function Yp(e,l){if(e&1&&(g(0,Qp,3,3,"ng-container",33),s(1,"async")),e&2){let t=u();a("ngIf",d(1,1,t.activeCollectionId$))}}var Yr=(()=>{class e extends ii{constructor(t,n){super(),this.dataService=t,this.notificationService=n,this.expandedIds=[],this.dataTableListId="collection-list",this.customFields=this.getCustomFieldConfig("Collection"),this.filters=this.createFilterCollection().addIdFilter().addDateFilters().addFilter({name:"slug",label:"common.slug",type:{kind:"text"},filterField:"slug"}).addFilter({name:"visibility",type:{kind:"boolean"},label:"common.visibility",toFilterInput:i=>({isPrivate:{eq:!i}})}).addCustomFieldFilters(this.customFields).connectToRoute(this.route),this.sorts=this.createSortCollection().defaultSort("position","ASC").addSort({name:"createdAt"}).addSort({name:"updatedAt"}).addSort({name:"name"}).addSort({name:"slug"}).addSort({name:"position"}).addCustomFieldSorts(this.customFields).connectToRoute(this.route),super.configure({document:Qo,getItems:i=>i.collections,setVariables:(i,r)=>{let m=this.searchTermControl.value===""&&this.filters.activeFilters.length===0?!0:void 0;return{options:{skip:i,take:r,filter:X({name:{contains:this.searchTermControl.value}},this.filters.createFilterInput()),topLevelOnly:m,sort:this.sorts.createSortInput()}}},refreshListOnChanges:[this.filters.valueChanges,this.sorts.valueChanges]})}ngOnInit(){super.ngOnInit(),this.activeCollectionId$=this.route.paramMap.pipe(F(n=>n.get("contents")),Fe());let t=this.route.queryParamMap.pipe(F(n=>n.get("expanded")),Fe(),F(n=>n?n.split(","):[]));t.pipe(Vt(this.destroy$)).subscribe(n=>{this.expandedIds=n}),this.subCollections$=ee(t,this.refresh$).pipe(B(([n])=>n.length?this.dataService.collection.getCollections({take:999,filter:{parentId:{in:n}}}).mapStream(i=>i.collections.items):he([]))),this.activeCollectionTitle$=ee(this.activeCollectionId$,this.items$,this.subCollections$).pipe(F(([n,i,r])=>{if(n){let m=[...i,...r].find(_=>_.id===n);return m?m.name:""}return""})),this.activeCollectionIndex$=ee(this.activeCollectionId$,this.items$,this.subCollections$).pipe(F(([n,i,r])=>{if(n){let m=[];for(let _ of i){m.push(_);let x=r.filter(I=>I.parentId&&I.parentId===_.id);m.push(...x)}return m.findIndex(_=>_.id===n)}return-1}))}onRearrange(t){this.dataService.collection.moveCollection([t]).subscribe({next:()=>{this.notificationService.success("common.notify-saved-changes"),this.refresh()},error:n=>{this.notificationService.error("common.notify-save-changes-error")}})}closeContents(){let t=X({},this.route.snapshot.params);delete t.contents,this.router.navigate(["./",t],{relativeTo:this.route,queryParamsHandling:"preserve"})}setLanguage(t){this.dataService.client.setContentLanguage(t).subscribe()}toggleExpanded(t){let n=this.expandedIds;n.includes(t.id)?n=n.filter(i=>i!==t.id):n.push(t.id),this.router.navigate(["./"],{queryParams:{expanded:n.filter(i=>!!i).join(",")},queryParamsHandling:"merge",relativeTo:this.route})}static{this.\u0275fac=function(n){return new(n||e)(P(k),P(Y))}}static{this.\u0275cmp=E({type:e,selectors:[["vdr-collection-list"]],standalone:!1,features:[ce],decls:15,vars:14,consts:[[3,"languageCodeChange","availableLanguageCodes","currentLanguageCode"],["locationId","collection-list"],["class","btn btn-primary",3,"routerLink",4,"vdrIfPermissions"],[3,"closeClicked","rightPanelOpen"],["vdrSplitViewLeft",""],["vdrSplitViewRight","",3,"splitViewTitle"],[1,"btn","btn-primary",3,"routerLink"],["shape","plus"],[1,"mt-2",3,"pageChange","itemsPerPageChange","changeOrder","visibleColumnsChange","id","items","subCollections","itemsPerPage","totalItems","currentPage","filters","activeIndex"],["locationId","collection-list",3,"hostComponent","selectionManager"],[3,"searchTermControl","searchTermPlaceholder"],["id","id",3,"heading","hiddenByDefault"],["id","created-at",3,"heading","hiddenByDefault","sort"],["id","updated-at",3,"heading","hiddenByDefault","sort"],["id","position",3,"heading","hiddenByDefault","sort"],["id","name",3,"heading","optional","sort"],["id","breadcrumb",3,"heading"],["id","slug",3,"heading","sort"],["id","visibility",3,"heading"],["id","view-contents",3,"heading","optional"],[3,"customField","sorts",4,"ngFor","ngForOf"],[3,"ngClass"],["class","child-arrow","shape","child-arrow",3,"transparent",4,"ngIf"],["class","icon-button folder-button",3,"click",4,"ngIf"],[1,"button-ghost",3,"routerLink"],["shape","arrow right"],["shape","child-arrow",1,"child-arrow"],[1,"icon-button","folder-button",3,"click"],["shape","folder",4,"ngIf"],["shape","folder-open",4,"ngIf"],["shape","folder"],["shape","folder-open"],[1,"breadcrumb"],[4,"ngIf"],["class","separator",4,"ngIf"],[4,"ngFor","ngForOf"],[1,"separator"],["colorType","warning",4,"ngIf"],["colorType","success",4,"ngIf"],["colorType","warning"],["colorType","success"],["queryParamsHandling","merge",1,"button-small","bg-weight-150",3,"routerLink","queryParams"],["shape","file-group"],[3,"customField","sorts"],[3,"collectionId"]],template:function(n,i){n&1&&(c(0,"vdr-page-block")(1,"vdr-action-bar")(2,"vdr-ab-left")(3,"vdr-language-selector",0),s(4,"async"),s(5,"async"),C("languageCodeChange",function(m){return i.setLanguage(m)}),p()(),c(6,"vdr-ab-right"),h(7,"vdr-action-bar-items",1),g(8,Tp,4,5,"a",2),h(9,"vdr-action-bar-dropdown-menu",1),p()()(),c(10,"vdr-split-view",3),s(11,"async"),C("closeClicked",function(){return i.closeContents()}),g(12,Hp,38,65,"ng-template",4)(13,Yp,2,3,"ng-template",5),s(14,"async"),p()),n&2&&(o(3),a("availableLanguageCodes",d(4,5,i.availableLanguages$))("currentLanguageCode",d(5,7,i.contentLanguage$)),o(5),a("vdrIfPermissions",W(13,yp)),o(2),a("rightPanelOpen",d(11,9,i.activeCollectionId$)),o(3),a("splitViewTitle",d(14,11,i.activeCollectionTitle$)))},dependencies:[J,Lt,$,A,Se,Te,Pe,Ie,Be,Ve,Re,xe,ke,Xt,He,nt,ti,Wa,Ga,ja,de,Yi,Ki,G,R,it,zi],styles:[`[_nghost-%COMP%]{--indent-spacing: 18px}.indent-1[_ngcontent-%COMP%]{padding-inline-start:var(--indent-spacing)}.indent-2[_ngcontent-%COMP%]{padding-inline-start:calc(var(--indent-spacing) * 2)}.indent-3[_ngcontent-%COMP%]{padding-inline-start:calc(var(--indent-spacing) * 3)}.indent-4[_ngcontent-%COMP%], .indent-5[_ngcontent-%COMP%], .indent-6[_ngcontent-%COMP%], .indent-7[_ngcontent-%COMP%], .indent-8[_ngcontent-%COMP%], .indent-9[_ngcontent-%COMP%]{padding-inline-start:calc(var(--indent-spacing) * 4)}.child-arrow[_ngcontent-%COMP%]{margin:1px 6px}.child-arrow.transparent[_ngcontent-%COMP%]{opacity:0}.breadcrumb[_ngcontent-%COMP%]{display:flex}.separator[_ngcontent-%COMP%]{color:var(--color-weight-500);margin:0 3px}
|
|
99
|
+
/*# sourceMappingURL=collection-list-common-CEK3MWRQ.css.map */`],changeDetection:0})}}return e})();var Ni=(()=>{class e{constructor(){this.allMoveListItems=[],this._rearrange$=new ft,this._delete$=new ft,this.rearrange$=this._rearrange$.asObservable(),this.delete$=this._delete$.asObservable()}ngOnDestroy(){this._rearrange$.complete(),this._delete$.complete()}setCollectionTree(t){this.collectionTree=t}resetMoveList(){this.allMoveListItems=[]}getMoveListItems(t){return this.allMoveListItems.length===0&&(this.allMoveListItems=this.calculateAllMoveListItems()),this.allMoveListItems.filter(n=>n.id!==t.id&&!n.ancestorIdPath.has(t.id)&&n.id!==t.parent?.id)}onDrop(t){let n=t.item.data,r=t.container.data.id;if(r==null)throw new Error("Could not determine the ID of the root Collection");this._rearrange$.next({collectionId:n.id,parentId:r,index:t.currentIndex})}onMove(t){this._rearrange$.next(t)}onDelete(t){this._delete$.next(t)}calculateAllMoveListItems(){let t=(n,i,r,m)=>{let _=i.concat(n.name);return m.push({path:_.slice(1).join(" / ")||"root",id:n.id,ancestorIdPath:r}),n.children.forEach(x=>t(x,_,new Set([...r,n.id]),m)),m};return t(this.collectionTree,[],new Set,[])}static{this.\u0275fac=function(n){return new(n||e)}}static{this.\u0275prov=hi({token:e,factory:e.\u0275fac})}}return e})();var Kp=e=>({contents:e}),zp=e=>["./",e],Zp=e=>["/catalog/collections/",e],Jp=()=>["UpdateCatalog","UpdateCollection"],Xp=()=>["CreateCatalog","CreateCollection"],ed=e=>({parentId:e}),td=e=>["./","create",e];function id(e,l){e&1&&h(0,"clr-icon",32)}function nd(e,l){e&1&&h(0,"clr-icon",33)}function od(e,l){if(e&1){let t=D();c(0,"button",29),C("click",function(){b(t);let i=u().$implicit,r=u();return y(r.toggleExpanded(i))}),g(1,id,1,0,"clr-icon",30)(2,nd,1,0,"clr-icon",31),p()}if(e&2){let t=u().$implicit,n=u();a("disabled",n.expandAll),o(),a("ngIf",!t.expanded&&!n.expandAll),o(),a("ngIf",t.expanded||n.expandAll)}}function ad(e,l){e&1&&h(0,"div",34)}function rd(e,l){e&1&&(c(0,"vdr-chip"),f(1),s(2,"translate"),p()),e&2&&(o(),T(d(2,1,"catalog.private")))}function ld(e,l){e&1&&(c(0,"div",35),h(1,"clr-icon",36),p())}function sd(e,l){if(e&1&&(c(0,"a",37),h(1,"clr-icon",38),f(2),s(3,"translate"),p()),e&2){let t=u().$implicit;a("routerLink",j(6,td,j(4,ed,t.id))),o(2),v(" ",d(3,2,"catalog.create-new-collection")," ")}}function cd(e,l){if(e&1){let t=D();c(0,"button",21),s(1,"async"),C("click",function(){let i=b(t).$implicit,r=u().$implicit,m=u();return y(m.move(r,i.id))}),c(2,"div",39)(3,"div",40),h(4,"clr-icon",41),p(),c(5,"div",42),f(6),p()()()}if(e&2){let t=l.$implicit,n=u(2);a("disabled",!d(1,2,n.hasUpdatePermission$)),o(6),v(" ",t.path," ")}}function pd(e,l){if(e&1&&h(0,"vdr-collection-tree-node",43),e&2){let t=u().$implicit,n=u();a("expandAll",n.expandAll)("collectionTree",t)("activeCollectionId",n.activeCollectionId)("selectionManager",n.selectionManager)}}function dd(e,l){if(e&1){let t=D();c(0,"div",4)(1,"div",5)(2,"div")(3,"input",6),C("click",function(i){let r=b(t).$implicit,m=u();return y(m.selectionManager.toggleSelection(r,i))}),p()(),c(4,"div",7),g(5,od,3,3,"button",8)(6,ad,1,0,"ng-template",null,1,Q),f(8),p(),h(9,"div",9),g(10,rd,3,3,"vdr-chip",10),c(11,"a",11),h(12,"clr-icon",12),f(13),s(14,"translate"),p(),c(15,"a",13),h(16,"clr-icon",14),f(17),s(18,"translate"),p(),g(19,ld,2,0,"div",15),c(20,"vdr-dropdown")(21,"button",16),C("click",function(){let i=b(t).$implicit,r=u();return y(r.getMoveListItems(i))}),h(22,"clr-icon",17),p(),c(23,"vdr-dropdown-menu",18),g(24,sd,4,8,"a",19),h(25,"div",20),c(26,"button",21),s(27,"async"),C("click",function(){let i=b(t),r=i.$implicit,m=i.index,_=u();return y(_.moveUp(r,m))}),h(28,"clr-icon",22),f(29),s(30,"translate"),p(),c(31,"button",21),s(32,"async"),C("click",function(){let i=b(t),r=i.$implicit,m=i.index,_=u();return y(_.moveDown(r,m))}),h(33,"clr-icon",23),f(34),s(35,"translate"),p(),c(36,"h4",24),f(37),s(38,"translate"),p(),g(39,cd,7,4,"button",25),h(40,"div",20),c(41,"button",26),s(42,"async"),C("click",function(){let i=b(t).$implicit,r=u();return y(r.delete(i.id))}),h(43,"clr-icon",27),f(44),s(45,"translate"),p()()()(),g(46,pd,1,4,"vdr-collection-tree-node",28),p()}if(e&2){let t=l.$implicit,n=l.index,i=U(7),r=u();w("private",t.isPrivate),a("cdkDragData",t),o(),w("active",t.id===r.activeCollectionId),a("ngClass","depth-"+r.depth),o(2),a("checked",r.selectionManager.isSelected(t)),o(2),a("ngIf",t.children==null?null:t.children.length)("ngIfElse",i),o(3),v(" ",t.name," "),o(2),a("ngIf",t.isPrivate),o(),a("routerLink",j(46,zp,j(44,Kp,t.id))),o(2),v(" ",d(14,26,"catalog.view-contents")," "),o(2),a("routerLink",j(48,Zp,t.id)),o(2),v(" ",d(18,28,"common.edit")," "),o(2),a("vdrIfPermissions",W(50,Jp)),o(5),a("vdrIfPermissions",W(51,Xp)),o(2),a("disabled",n===0||!d(27,30,r.hasUpdatePermission$)),o(3),v(" ",d(30,32,"catalog.move-up")," "),o(2),a("disabled",n===r.collectionTree.children.length-1||!d(32,34,r.hasUpdatePermission$)),o(3),v(" ",d(35,36,"catalog.move-down")," "),o(3),T(d(38,38,"catalog.move-to")),o(2),a("ngForOf",r.moveListItems),o(2),a("disabled",!d(42,40,r.hasDeletePermission$)),o(3),v(" ",d(45,42,"common.delete")," "),o(2),a("ngIf",t.expanded||r.expandAll)}}var oo=(()=>{class e{constructor(t,n,i,r,m,_){this.parent=t,this.dataService=n,this.collectionTreeService=i,this.router=r,this.route=m,this.changeDetectorRef=_,this.depth=0,this.expandAll=!1,this.moveListItems=[],t&&(this.depth=t.depth+1)}ngOnInit(){this.parentName=this.collectionTree.name||"<root>";let t=this.dataService.client.userStatus().mapStream(n=>n.userStatus.permissions).pipe(Ot(1));this.hasUpdatePermission$=t.pipe(F(n=>n.includes(V.UpdateCatalog)||n.includes(V.UpdateCollection))),this.hasDeletePermission$=t.pipe(F(n=>n.includes(V.DeleteCatalog)||n.includes(V.DeleteCollection))),this.subscription=this.selectionManager?.selectionChanges$.subscribe(()=>this.changeDetectorRef.markForCheck())}ngOnChanges(t){let n=t.expandAll;n&&n.previousValue===!0&&n.currentValue===!1&&this.collectionTree.children.forEach(i=>i.expanded=!1)}ngOnDestroy(){this.subscription?.unsubscribe()}trackByFn(t,n){return n.id}toggleExpanded(t){t.expanded=!t.expanded;let n=this.route.snapshot.queryParamMap.get("expanded")?.split(",")??[];t.expanded?n.push(t.id):n=n.filter(i=>i!==t.id),this.router.navigate(["./"],{queryParams:{expanded:n.filter(i=>!!i).join(",")},queryParamsHandling:"merge",relativeTo:this.route})}getMoveListItems(t){this.moveListItems=this.collectionTreeService.getMoveListItems(t)}move(t,n){this.collectionTreeService.onMove({index:0,parentId:n,collectionId:t.id})}moveUp(t,n){t.parent&&this.collectionTreeService.onMove({index:n-1,parentId:t.parent.id,collectionId:t.id})}moveDown(t,n){t.parent&&this.collectionTreeService.onMove({index:n+1,parentId:t.parent.id,collectionId:t.id})}drop(t){da(this.collectionTree.children,t.previousIndex,t.currentIndex),this.collectionTreeService.onDrop(t)}delete(t){this.collectionTreeService.onDelete(t)}static{this.\u0275fac=function(n){return new(n||e)(P(e,12),P(k),P(Ni),P(dt),P(xt),P(pe))}}static{this.\u0275cmp=E({type:e,selectors:[["vdr-collection-tree-node"]],inputs:{collectionTree:"collectionTree",activeCollectionId:"activeCollectionId",expandAll:"expandAll",selectionManager:"selectionManager"},standalone:!1,features:[yt],decls:4,vars:6,consts:[["dropList",""],["folderSpacer",""],["cdkDropList","",1,"tree-node",3,"cdkDropListDropped","cdkDropListData","cdkDropListDisabled"],["class","collection","cdkDrag","",3,"private","cdkDragData",4,"ngFor","ngForOf","ngForTrackBy"],["cdkDrag","",1,"collection",3,"cdkDragData"],[1,"collection-detail",3,"ngClass"],["type","checkbox","clrCheckbox","",3,"click","checked"],[1,"name"],["class","icon-button folder-button",3,"disabled","click",4,"ngIf","ngIfElse"],[1,"flex-spacer"],[4,"ngIf"],["queryParamsHandling","preserve",1,"btn","btn-link","btn-sm",3,"routerLink"],["shape","view-list"],[1,"btn","btn-link","btn-sm",3,"routerLink"],["shape","edit"],["class","drag-handle","cdkDragHandle","",4,"vdrIfPermissions"],["vdrDropdownTrigger","",1,"icon-button",3,"click"],["shape","ellipsis-vertical"],["vdrPosition","bottom-right"],["class","dropdown-item",3,"routerLink",4,"vdrIfPermissions"],[1,"dropdown-divider"],["type","button","vdrDropdownItem","",3,"click","disabled"],["shape","caret up"],["shape","caret down"],[1,"dropdown-header"],["type","button","vdrDropdownItem","",3,"disabled","click",4,"ngFor","ngForOf"],["vdrDropdownItem","",1,"button",3,"click","disabled"],["shape","trash",1,"is-danger"],[3,"expandAll","collectionTree","activeCollectionId","selectionManager",4,"ngIf"],[1,"icon-button","folder-button",3,"click","disabled"],["shape","folder",4,"ngIf"],["shape","folder-open",4,"ngIf"],["shape","folder"],["shape","folder-open"],[1,"folder-button-spacer"],["cdkDragHandle","",1,"drag-handle"],["shape","drag-handle","size","24"],[1,"dropdown-item",3,"routerLink"],["shape","plus"],[1,"move-to-item"],[1,"move-icon"],["shape","child-arrow"],[1,"path"],[3,"expandAll","collectionTree","activeCollectionId","selectionManager"]],template:function(n,i){if(n&1){let r=D();c(0,"div",2,0),s(2,"async"),C("cdkDropListDropped",function(_){return b(r),y(i.drop(_))}),g(3,dd,47,52,"div",3),p()}n&2&&(a("cdkDropListData",i.collectionTree)("cdkDropListDisabled",!d(2,4,i.hasUpdatePermission$)),o(3),a("ngForOf",i.collectionTree.children)("ngForTrackBy",i.trackByFn))},dependencies:[J,ye,Lt,$,A,Se,Pi,xi,gn,Ve,K,jt,Wt,qt,It,xe,e,G,R],styles:[`[_nghost-%COMP%]{display:block}.collection[_ngcontent-%COMP%]{background-color:var(--clr-table-bgcolor);border-radius:var(--clr-global-borderradius);font-size:.65rem;transition:transform .25s cubic-bezier(0,0,.2,1);margin-bottom:2px;border-inline-start:2px solid transparent;transition:border-left-color .2s}.collection.private[_ngcontent-%COMP%]{background-color:var(--color-component-bg-200)}.collection[_ngcontent-%COMP%] .collection-detail[_ngcontent-%COMP%]{padding:6px 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-component-border-100)}.collection[_ngcontent-%COMP%] .collection-detail.active[_ngcontent-%COMP%]{background-color:var(--clr-global-selection-color)}.collection[_ngcontent-%COMP%] .collection-detail.depth-1[_ngcontent-%COMP%]{padding-inline-start:36px}.collection[_ngcontent-%COMP%] .collection-detail.depth-2[_ngcontent-%COMP%]{padding-inline-start:60px}.collection[_ngcontent-%COMP%] .collection-detail.depth-3[_ngcontent-%COMP%]{padding-inline-start:84px}.collection[_ngcontent-%COMP%] .collection-detail.depth-4[_ngcontent-%COMP%]{padding-inline-start:108px}.collection[_ngcontent-%COMP%] .collection-detail[_ngcontent-%COMP%] .folder-button-spacer[_ngcontent-%COMP%]{display:inline-block;width:28px}.tree-node[_ngcontent-%COMP%]{display:block;background-color:var(--clr-table-bgcolor);border-radius:var(--clr-global-borderradius);overflow:hidden}.tree-node.cdk-drop-list-dragging[_ngcontent-%COMP%] > .collection[_ngcontent-%COMP%]{border-left-color:var(--color-primary-300)}.drag-placeholder[_ngcontent-%COMP%]{min-height:120px;background-color:var(--color-component-bg-300);transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drag-preview[_ngcontent-%COMP%]{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder[_ngcontent-%COMP%]{opacity:0}.cdk-drag-animating[_ngcontent-%COMP%]{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-list.cdk-drop-list-dragging[_ngcontent-%COMP%] .tree-node[_ngcontent-%COMP%]:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.move-to-item[_ngcontent-%COMP%]{display:flex;white-space:normal;align-items:baseline}.move-to-item[_ngcontent-%COMP%] .move-icon[_ngcontent-%COMP%]{flex:none;margin-inline-end:3px}.move-to-item[_ngcontent-%COMP%] .path[_ngcontent-%COMP%]{line-height:18px}
|
|
100
100
|
/*# sourceMappingURL=collection-tree-node.component-BQYP5R2B.css.map */`],changeDetection:0})}}return e})();function zr(e,l,t=[]){let n=[],i={},r=ud(l);for(let _ of e)i[_.id]=fe(X({},_),{children:[]});for(let _ of e.map(x=>x.id))if(i.hasOwnProperty(_)){let x=i[_];x.expanded=r.get(_)?.expanded??t.includes(_);let I=x.parent;if(!I)continue;!i[I.id]?n.push(x):i[I.id]?i[I.id].children.push(x):i[I.id]={children:[x]}}return{id:n.length?n[0].parent.id:void 0,children:n}}function ud(e){let l=new Map;function t(n){l.set(n.id,n),n.children.forEach(t)}return e&&t(e),l}function gd(e,l){if(e&1&&h(0,"vdr-collection-tree-node",1),e&2){let t=u();a("expandAll",t.expandAll)("collectionTree",t.collectionTree)("selectionManager",t.selectionManager)("activeCollectionId",t.activeCollectionId)}}var _d=(()=>{class e{constructor(t){this.collectionTreeService=t,this.expandAll=!1,this.expandedIds=[],this.rearrange=new ht,this.deleteCollection=new ht}ngOnChanges(t){"collections"in t&&this.collections&&(this.collectionTree=zr(this.collections,this.collectionTree,this.expandedIds),this.collectionTreeService.setCollectionTree(this.collectionTree),this.collectionTreeService.resetMoveList())}ngOnInit(){this.collectionTreeService.rearrange$.subscribe(t=>this.rearrange.emit(t)),this.collectionTreeService.delete$.subscribe(t=>this.deleteCollection.emit(t))}static{this.\u0275fac=function(n){return new(n||e)(P(Ni))}}static{this.\u0275cmp=E({type:e,selectors:[["vdr-collection-tree"]],inputs:{collections:"collections",activeCollectionId:"activeCollectionId",expandAll:"expandAll",expandedIds:"expandedIds",selectionManager:"selectionManager"},outputs:{rearrange:"rearrange",deleteCollection:"deleteCollection"},standalone:!1,features:[tn([Ni]),yt],decls:1,vars:1,consts:[["cdkDropListGroup","",3,"expandAll","collectionTree","selectionManager","activeCollectionId",4,"ngIf"],["cdkDropListGroup","",3,"expandAll","collectionTree","selectionManager","activeCollectionId"]],template:function(n,i){n&1&&g(0,gd,1,4,"vdr-collection-tree-node",0),n&2&&a("ngIf",i.collectionTree)},dependencies:[A,ma,oo],encapsulation:2,changeDetection:0})}}return e})();function fd(e,l){e&1&&(f(0),s(1,"translate")),e&2&&v(" ",d(1,1,"catalog.confirm-deletion-of-unused-variants-title"),`
|
|
101
|
-
`)}function hd(e,l){if(e&1&&(c(0,"li"),f(1),p()),e&2){let t=l.$implicit;o(),
|
|
101
|
+
`)}function hd(e,l){if(e&1&&(c(0,"li"),f(1),p()),e&2){let t=l.$implicit;o(),Nt("",t.name," (",t.sku,")")}}function vd(e,l){if(e&1){let t=D();c(0,"button",3),C("click",function(){b(t);let i=u();return y(i.cancel())}),f(1),s(2,"translate"),p(),c(3,"button",4),C("click",function(){b(t);let i=u();return y(i.confirm())}),f(4),s(5,"translate"),p()}e&2&&(o(),T(d(2,2,"common.cancel")),o(3),v(" ",d(5,4,"common.confirm")," "))}var Cd=(()=>{class e{constructor(){this.variants=[]}confirm(){this.resolveWith(!0)}cancel(){this.resolveWith()}static{this.\u0275fac=function(n){return new(n||e)}}static{this.\u0275cmp=E({type:e,selectors:[["vdr-confirm-variant-deletion-dialog"]],standalone:!1,decls:6,vars:4,consts:[["vdrDialogTitle",""],[4,"ngFor","ngForOf"],["vdrDialogButtons",""],["type","button",1,"btn",3,"click"],["type","submit",1,"btn","btn-primary",3,"click"]],template:function(n,i){n&1&&(g(0,fd,2,3,"ng-template",0),f(1),s(2,"translate"),c(3,"ul"),g(4,hd,2,2,"li",1),p(),g(5,vd,6,6,"ng-template",2)),n&2&&(o(),v(`
|
|
102
102
|
`,d(2,2,"catalog.confirm-deletion-of-unused-variants-body"),`
|
|
103
|
-
`),o(3),a("ngForOf",i.variants))},dependencies:[$,
|
|
104
|
-
`)}function yd(e,l){if(e&1){let t=D();c(0,"button",7),C("click",function(){b(t);let i=u();return y(i.cancel())}),f(1),s(2,"translate"),p(),c(3,"button",8),C("click",function(){b(t);let i=u();return y(i.confirm())}),f(4),s(5,"translate"),p()}if(e&2){let t=u();o(),T(d(2,3,"common.cancel")),o(2),a("disabled",t.form.invalid),o(),v(" ",d(5,5,"common.confirm")," ")}}var ao=(()=>{class e{constructor(t){this.formBuilder=t,this.form=this.formBuilder.group({name:["",Qe.required],code:["",Qe.required]})}updateCode(){let t=this.form.get("name"),n=this.form.get("code");t&&n&&n.pristine&&n.setValue((0,Zr.normalizeString)(`${t.value}`,"-"))}confirm(){let{name:t,code:n}=this.form.value;!t||!n||this.resolveWith({facetId:this.facetId,code:n,translations:[{languageCode:this.languageCode,name:t}]})}cancel(){this.resolveWith()}static{this.\u0275fac=function(n){return new(n||e)(P(
|
|
103
|
+
`),o(3),a("ngForOf",i.variants))},dependencies:[$,We,Oe,R],encapsulation:2,changeDetection:0})}}return e})();var Zr=se(oi());function bd(e,l){e&1&&(f(0),s(1,"translate")),e&2&&v(" ",d(1,1,"catalog.create-facet-value"),`
|
|
104
|
+
`)}function yd(e,l){if(e&1){let t=D();c(0,"button",7),C("click",function(){b(t);let i=u();return y(i.cancel())}),f(1),s(2,"translate"),p(),c(3,"button",8),C("click",function(){b(t);let i=u();return y(i.confirm())}),f(4),s(5,"translate"),p()}if(e&2){let t=u();o(),T(d(2,3,"common.cancel")),o(2),a("disabled",t.form.invalid),o(),v(" ",d(5,5,"common.confirm")," ")}}var ao=(()=>{class e{constructor(t){this.formBuilder=t,this.form=this.formBuilder.group({name:["",Qe.required],code:["",Qe.required]})}updateCode(){let t=this.form.get("name"),n=this.form.get("code");t&&n&&n.pristine&&n.setValue((0,Zr.normalizeString)(`${t.value}`,"-"))}confirm(){let{name:t,code:n}=this.form.value;!t||!n||this.resolveWith({facetId:this.facetId,code:n,translations:[{languageCode:this.languageCode,name:t}]})}cancel(){this.resolveWith()}static{this.\u0275fac=function(n){return new(n||e)(P(je))}}static{this.\u0275cmp=E({type:e,selectors:[["vdr-create-facet-value-dialog"]],standalone:!1,decls:9,vars:7,consts:[["vdrDialogTitle",""],[1,"form-grid",3,"formGroup"],["for","name",3,"label"],["id","name","type","text","formControlName","name",3,"input"],["for","code",3,"label"],["id","code","type","text","formControlName","code"],["vdrDialogButtons",""],["type","button",1,"btn",3,"click"],["type","submit",1,"btn","btn-primary",3,"click","disabled"]],template:function(n,i){n&1&&(g(0,bd,2,3,"ng-template",0),c(1,"div",1)(2,"vdr-form-field",2),s(3,"translate"),c(4,"input",3),C("input",function(){return i.updateCode()}),p()(),c(5,"vdr-form-field",4),s(6,"translate"),h(7,"input",5),p()(),g(8,yd,6,7,"ng-template",6)),n&2&&(o(),a("formGroup",i.form),o(),a("label",d(3,3,"common.name")),o(3),a("label",d(6,5,"common.code")))},dependencies:[ie,Z,ve,Ce,be,me,K,We,Oe,R],encapsulation:2,changeDetection:0})}}return e})();var Jr=se(Mn()),ro=se(oi()),Xr=se(sn());var xd=()=>["CreateCatalog","CreateFacet"],Pd=(e,l,t)=>({currentPage:e,itemsPerPage:l,totalItems:t}),Id=e=>["values",e],Td=e=>["values",e,"customFields"];function Dd(e,l){if(e&1){let t=D();c(0,"button",20),C("click",function(){b(t);let i=u();return y(i.create())}),f(1),s(2,"translate"),p()}if(e&2){let t=u();a("disabled",t.detailForm.invalid||t.detailForm.pristine),o(),v(" ",d(2,2,"common.create")," ")}}function Fd(e,l){if(e&1){let t=D();c(0,"button",20),C("click",function(){b(t);let i=u(2);return y(i.save())}),f(1),s(2,"translate"),p()}if(e&2){let t=u(2);a("disabled",t.detailForm.invalid||t.detailForm.pristine),o(),v(" ",d(2,2,"common.update")," ")}}function Sd(e,l){if(e&1&&g(0,Fd,3,4,"button",21),e&2){let t=u();a("vdrIfPermissions",t.updatePermission)}}function Ed(e,l){e&1&&(M(0),f(1),s(2,"translate"),N()),e&2&&(o(),T(d(2,1,"catalog.public")))}function Od(e,l){e&1&&(f(0),s(1,"translate")),e&2&&T(d(1,1,"catalog.private"))}function Vd(e,l){if(e&1&&h(0,"vdr-page-entity-info",22),e&2){let t=l.ngIf;a("entity",t)}}function kd(e,l){if(e&1&&(c(0,"vdr-card",23),s(1,"translate"),h(2,"vdr-tabbed-custom-fields",24),s(3,"hasPermission"),p()),e&2){let t=u();a("title",d(1,4,"common.custom-fields")),o(2),a("customFields",t.customFields)("customFieldsFormGroup",t.detailForm.get("facet.customFields"))("readonly",!d(3,6,t.updatePermission))}}function Rd(e,l){if(e&1&&(h(0,"input",29),s(1,"translate")),e&2){let t=u(2);a("formControl",t.filterControl)("placeholder",d(1,2,"catalog.filter-by-name"))}}function Bd(e,l){e&1&&(M(0),c(1,"th"),f(2),s(3,"translate"),p(),N()),e&2&&(o(2),T(d(3,1,"common.custom-fields")))}function Ad(e,l){if(e&1&&(c(0,"td",45),h(1,"vdr-tabbed-custom-fields",46),s(2,"hasPermission"),p()),e&2){let t=u().$implicit,n=u(3);o(),a("customFields",n.customValueFields)("compact",!0)("customFieldsFormGroup",n.detailForm.get(j(6,Td,t.id)))("readonly",!d(2,4,n.updatePermission))}}function wd(e,l){if(e&1){let t=D();c(0,"tr",35)(1,"td",36),h(2,"vdr-entity-info",22),p(),c(3,"td",36)(4,"input",37),s(5,"hasPermission"),C("input",function(i){let r=b(t).$implicit,m=u(3);return y(m.updateValueCode(r.code,i.target.value,r.id))}),p()(),c(6,"td",36),h(7,"input",38),p(),g(8,Ad,3,8,"td",39),c(9,"td",36)(10,"vdr-dropdown")(11,"button",40),h(12,"clr-icon",41),p(),c(13,"vdr-dropdown-menu",42)(14,"button",43),s(15,"hasPermission"),C("click",function(){let i=b(t).$implicit,r=u(3);return y(r.deleteFacetValue(i.id))}),h(16,"clr-icon",44),f(17),s(18,"translate"),p()()()()()}if(e&2){let t=l.$implicit,n=u(3);a("formGroup",n.detailForm.get(j(12,Id,t.id))),o(2),a("entity",t),o(2),a("readonly",!d(5,6,n.updatePermission)),o(4),a("ngIf",n.customValueFields.length),o(6),a("disabled",!d(15,8,n.updatePermission)),o(3),v(" ",d(18,10,"common.delete")," ")}}function Md(e,l){if(e&1){let t=D();M(0),c(1,"table",30)(2,"thead")(3,"tr"),h(4,"th"),c(5,"th"),f(6),s(7,"translate"),p(),c(8,"th"),f(9),s(10,"translate"),p(),g(11,Bd,4,3,"ng-container",27),h(12,"th"),p()(),c(13,"tbody"),g(14,wd,19,14,"tr",31),s(15,"paginate"),p()(),c(16,"div",32)(17,"vdr-items-per-page-controls",33),C("itemsPerPageChange",function(i){b(t);let r=u(2);return y(r.setItemsPerPage(i))}),p(),c(18,"vdr-pagination-controls",34),C("pageChange",function(i){b(t);let r=u(2);return y(r.setCurrentPage(i))}),p()(),N()}if(e&2){let t=l.ngIf,n=u(2);o(6),T(d(7,8,"common.name")),o(3),T(d(10,10,"common.code")),o(2),a("ngIf",n.customValueFields.length),o(3),a("ngForOf",O(15,12,t,nn(15,Pd,n.currentPage,n.itemsPerPage,n.totalItems))),o(3),a("itemsPerPage",n.itemsPerPage),o(),a("currentPage",n.currentPage)("itemsPerPage",n.itemsPerPage)("totalItems",n.totalItems)}}function Nd(e,l){if(e&1){let t=D();c(0,"button",47),C("click",function(){b(t);let i=u(2);return y(i.addFacetValue())}),h(1,"clr-icon",48),f(2),s(3,"translate"),p()}e&2&&(o(2),v(" ",d(3,1,"catalog.add-facet-value")," "))}function Ld(e,l){if(e&1&&(c(0,"vdr-card",25),s(1,"translate"),g(2,Rd,2,4,"ng-template",26)(3,Md,19,19,"ng-container",27),s(4,"async"),c(5,"div"),g(6,Nd,4,3,"button",28),p()()),e&2){let t=u();a("title",d(1,4,"catalog.facet-values"))("paddingX",!1),o(3),a("ngIf",d(4,6,t.values$)),o(3),a("vdrIfPermissions",W(8,xd))}}var Ud=ne`
|
|
105
105
|
query GetFacetDetail($id: ID!, $facetValueListOptions: FacetValueListOptions) {
|
|
106
106
|
facet(id: $id) {
|
|
107
107
|
...FacetWithValueList
|
|
108
108
|
}
|
|
109
109
|
}
|
|
110
110
|
${ln}
|
|
111
|
-
`,el=(()=>{class e extends St{constructor(t,n,i,r,m){super(),this.changeDetector=t,this.dataService=n,this.formBuilder=i,this.notificationService=r,this.modalService=m,this.customFields=this.getCustomFieldConfig("Facet"),this.customValueFields=this.getCustomFieldConfig("FacetValue"),this.detailForm=this.formBuilder.group({facet:this.formBuilder.group({code:["",Qe.required],name:"",visible:!0,customFields:this.formBuilder.group(_t(this.customFields))}),values:this.formBuilder.record({})}),this.currentPage=1,this.itemsPerPage=10,this.totalItems=0,this.filterControl=new vt(""),this.values$=new Re([]),this.updatePermission=[V.UpdateCatalog,V.UpdateFacet]}ngOnInit(){this.init(),this.filterControl.valueChanges.pipe(rt(200),Vt(this.destroy$)).subscribe(t=>{this.currentPage=1,this.fetchFacetValues(this.currentPage,this.itemsPerPage,t)})}ngOnDestroy(){this.destroy()}updateCode(t,n){if(!t){let i=this.detailForm.get(["facet","code"]);i&&i.pristine&&i.setValue((0,ro.normalizeString)(n,"-"))}}updateValueCode(t,n,i){if(!t){let r=this.detailForm.get(["values",i,"code"]);r&&r.pristine&&r.setValue((0,ro.normalizeString)(n,"-"))}}customValueFieldIsSet(t,n){return!!this.detailForm.get(["values",t,"customFields",n])}addFacetValue(){this.modalService.fromComponent(ao,{locals:{languageCode:this.languageCode,facetId:this.id}}).pipe(B(t=>t?this.dataService.facet.createFacetValues([t]):le)).subscribe(t=>{t.createFacetValues&&(this.notificationService.success("common.notify-create-success",{entity:"FacetValue"}),this.currentPage=1,this.fetchFacetValues(this.currentPage,this.itemsPerPage))})}create(){let t=this.detailForm.get("facet");if(!t||!t.dirty)return;let n=this.getUpdatedFacet({id:"",createdAt:"",updatedAt:"",isPrivate:!1,languageCode:this.languageCode,name:"",code:"",translations:[]},t,this.languageCode);this.dataService.facet.createFacet(n).subscribe(i=>{this.notificationService.success("common.notify-create-success",{entity:"Facet"}),this.detailForm.markAsPristine(),this.changeDetector.markForCheck(),this.router.navigate(["../",i.createFacet.id],{relativeTo:this.route})},i=>{this.notificationService.error("common.notify-create-error",{entity:"Facet"})})}save(){let t=this.detailForm.get("values");ee(this.entity$,this.languageCode$).pipe(lt(1),we(([n,i])=>{let r=this.detailForm.get("facet"),m=[];if(r&&r.dirty){let _=this.getUpdatedFacet(n,r,i);_&&m.push(this.dataService.facet.updateFacet(_))}if(t&&t.dirty){let _=this.getUpdatedFacetValues(t,i);_.length&&m.push(this.dataService.facet.updateFacetValues(_))}return bt(m)})).subscribe(()=>{this.detailForm.markAsPristine(),this.changeDetector.markForCheck(),this.notificationService.success("common.notify-update-success",{entity:"Facet"})},n=>{this.notificationService.error("common.notify-update-error",{entity:"Facet"})})}deleteFacetValue(t){this.showModalAndDelete(t).pipe(B(n=>n.result===Xe.DELETED?[!0]:this.showModalAndDelete(t,n.message||"").pipe(F(i=>i.result===Xe.DELETED))),B(n=>n?this.dataService.query(an,{id:this.id}).single$:[])).subscribe(()=>{this.notificationService.success("common.notify-delete-success",{entity:"FacetValue"}),this.fetchFacetValues(this.currentPage,this.itemsPerPage,this.filterControl.value)},n=>{this.notificationService.error("common.notify-delete-error",{entity:"FacetValue"})})}showModalAndDelete(t,n){return this.modalService.dialog({title:"catalog.confirm-delete-facet-value",body:n,buttons:[{type:"secondary",label:"common.cancel"},{type:"danger",label:"common.delete",returnValue:!0}]}).pipe(B(i=>i?this.dataService.facet.deleteFacetValues([t],!!n):le),F(i=>i.deleteFacetValues[0]))}setCurrentPage(t){this.currentPage=t,this.fetchFacetValues(this.currentPage,this.itemsPerPage,this.filterControl.value)}setItemsPerPage(t){this.itemsPerPage=t,this.fetchFacetValues(this.currentPage,this.itemsPerPage,this.filterControl.value)}fetchFacetValues(t,n,i){this.dataService.query(Ud,{id:this.id,facetValueListOptions:X({take:n,skip:(t-1)*n,sort:{createdAt:Jr.SortOrder.DESC}},i?{filter:{name:{contains:i}}}:{})}).single$.subscribe(({facet:r})=>{r&&(this.values$.next([...r.valueList.items]),this.totalItems=r.valueList.totalItems,this.setFacetValueFormValues(r,this.languageCode))})}setFormValues(t,n){let i=ue(t,n);this.detailForm.patchValue({facet:{code:t.code,visible:!t.isPrivate,name:i?.name??""}}),this.customFields.length&&this.setCustomFieldFormValues(this.customFields,this.detailForm.get(["facet","customFields"]),t,i),this.values$.next([...t.valueList.items]),this.totalItems=t.valueList.totalItems,this.setFacetValueFormValues(t,n)}setFacetValueFormValues(t,n){let i=this.detailForm.get("values");t.valueList.items.forEach(r=>{let m=ue(r,n),_={id:r.id,code:r.code,name:m?m.name:""},x=i.get(r.id);if(x?x.patchValue(_):(x=this.formBuilder.group(_),i.addControl(r.id,x)),this.customValueFields.length){let I=x.get(["customFields"]);if(I||(I=new Ci({}),x.addControl("customFields",I)),I)for(let S of this.customValueFields){let L=S.name,z=S.type==="localeString"?m?.customFields?.[L]:r.customFields[L],re=I.get(L);re?re.setValue(z):I.addControl(L,new Bt(z))}}})}getUpdatedFacet(t,n,i){let r=at({translatable:t,updatedFields:n.value,customFieldConfig:this.customFields,languageCode:i,defaultTranslation:{languageCode:i,name:t.name||""}});return r.isPrivate=!n.value.visible,r}getUpdatedFacetValues(t,n){return Object.values(t.controls).filter(r=>r.dirty).map(r=>r.value).map((r,m)=>at({translatable:r,updatedFields:r,customFieldConfig:this.customValueFields,languageCode:n,defaultTranslation:{languageCode:n,name:""}})).filter(Xr.notNullOrUndefined)}static{this.\u0275fac=function(n){return new(n||e)(P(pe),P(k),P($e),P(Y),P(te))}}static{this.\u0275cmp=E({type:e,selectors:[["vdr-facet-detail"]],standalone:!1,features:[ce],decls:45,vars:43,consts:[["updateButton",""],["private",""],[3,"languageCodeChange","disabled","availableLanguageCodes","currentLanguageCode"],["locationId","facet-detail"],["class","btn btn-primary",3,"disabled","click",4,"ngIf","ngIfElse"],[1,"form",3,"formGroup"],["formGroupName","facet"],["for","visibility",3,"label"],["type","checkbox","clrToggle","","formControlName","visible","id","visibility",3,"vdrDisabled"],[1,"visible-toggle"],[4,"ngIf","ngIfElse"],[3,"entity",4,"ngIf"],[1,"form-grid"],["for","name",3,"label"],["id","name","type","text","formControlName","name",3,"input","readonly"],["for","code",3,"label"],["id","code","type","text","formControlName","code",3,"readonly"],[3,"title",4,"ngIf"],["locationId","facet-detail",3,"entity$","detailForm"],[3,"title","paddingX",4,"ngIf"],[1,"btn","btn-primary",3,"click","disabled"],["class","btn btn-primary",3,"disabled","click",4,"vdrIfPermissions"],[3,"entity"],[3,"title"],["entityName","Facet",3,"customFields","customFieldsFormGroup","readonly"],[3,"title","paddingX"],["vdrCardControls",""],[4,"ngIf"],["type","button","class","button m-3",3,"click",4,"vdrIfPermissions"],["type","text",1,"mr-3",3,"formControl","placeholder"],["formArrayName","values",1,"facet-values-list","table"],["class","facet-value",3,"formGroup",4,"ngFor","ngForOf"],[1,"pagination-wrapper"],[3,"itemsPerPageChange","itemsPerPage"],[3,"pageChange","currentPage","itemsPerPage","totalItems"],[1,"facet-value",3,"formGroup"],[1,"align-middle"],["type","text","formControlName","name",3,"input","readonly"],["type","text","formControlName","code"],["class","",4,"ngIf"],["type","button","vdrDropdownTrigger","",1,"icon-button"],["shape","ellipsis-vertical"],["vdrPosition","bottom-right"],["type","button","vdrDropdownItem","",1,"delete-button",3,"click","disabled"],["shape","trash",1,"is-danger"],[1,""],["entityName","FacetValue",3,"customFields","compact","customFieldsFormGroup","readonly"],["type","button",1,"button","m-3",3,"click"],["shape","add"]],template:function(n,i){if(n&1){let r=D();c(0,"vdr-page-block")(1,"vdr-action-bar")(2,"vdr-ab-left")(3,"vdr-language-selector",2),s(4,"async"),s(5,"async"),s(6,"async"),C("languageCodeChange",function(_){return b(r),y(i.setLanguage(_))}),p()(),c(7,"vdr-ab-right"),h(8,"vdr-action-bar-items",3),g(9,Dd,3,4,"button",4),s(10,"async"),g(11,Sd,1,1,"ng-template",null,0,Q),h(13,"vdr-action-bar-dropdown-menu",3),p()()(),c(14,"form",5)(15,"vdr-page-detail-layout")(16,"vdr-page-detail-sidebar",6)(17,"vdr-card")(18,"vdr-form-field",7),s(19,"translate"),c(20,"clr-toggle-wrapper"),h(21,"input",8),s(22,"hasPermission"),c(23,"label",9),g(24,Ed,3,3,"ng-container",10)(25,Od,2,3,"ng-template",null,1,Q),p()()()(),c(27,"vdr-card"),g(28,Vd,1,1,"vdr-page-entity-info",11),s(29,"async"),p()(),c(30,"vdr-page-block")(31,"vdr-card",6)(32,"div",12)(33,"vdr-form-field",13),s(34,"translate"),c(35,"input",14),s(36,"hasPermission"),C("input",function(_){return b(r),y(i.updateCode(i.entity==null?null:i.entity.code,_.target.value))}),p()(),c(37,"vdr-form-field",15),s(38,"translate"),h(39,"input",16),s(40,"hasPermission"),p()()(),g(41,kd,4,8,"vdr-card",17),h(42,"vdr-custom-detail-component-host",18),g(43,Ld,7,9,"vdr-card",19),s(44,"async"),p()()()}if(n&2){let r=U(12),m=U(26);o(3),a("disabled",d(4,19,i.isNew$))("availableLanguageCodes",d(5,21,i.availableLanguages$))("currentLanguageCode",d(6,23,i.languageCode$)),o(6),a("ngIf",d(10,25,i.isNew$))("ngIfElse",r),o(5),a("formGroup",i.detailForm),o(4),a("label",d(19,27,"catalog.visibility")),o(3),a("vdrDisabled",!d(22,29,i.updatePermission)),o(3),a("ngIf",i.detailForm.value.facet==null?null:i.detailForm.value.facet.visible)("ngIfElse",m),o(4),a("ngIf",d(29,31,i.entity$)),o(5),a("label",d(34,33,"common.name")),o(2),a("readonly",!d(36,35,i.updatePermission)),o(2),a("label",d(38,37,"common.code")),o(2),a("readonly",!d(40,39,i.updatePermission)),o(2),a("ngIf",i.customFields.length),o(),a("entity$",i.entity$)("detailForm",i.detailForm),o(),a("ngIf",!d(44,41,i.isNew$))}},dependencies:[J,De,ye,tt,$,A,mt,ie,Ue,Z,ve,Pt,Ce,be,Ut,bi,Ve,Ee,Oe,He,Fi,Si,me,K,ke,Gt,jt,Wt,It,xe,We,qt,Ea,ut,Xt,de,Dt,Kt,zt,gt,Fa,G,Yt,R,je],styles:[`.visible-toggle[_ngcontent-%COMP%]{margin-top:-3px!important}tr.facet-value[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{vertical-align:middle}.pagination-wrapper[_ngcontent-%COMP%]{display:flex;justify-content:space-between;padding:var(--card-padding)}
|
|
112
|
-
/*# sourceMappingURL=facet-detail.component-IVRKFGM2.css.map */`],changeDetection:0})}}return e})();var tl=se(
|
|
113
|
-
`)).pipe(F(_e=>{let
|
|
111
|
+
`,el=(()=>{class e extends St{constructor(t,n,i,r,m){super(),this.changeDetector=t,this.dataService=n,this.formBuilder=i,this.notificationService=r,this.modalService=m,this.customFields=this.getCustomFieldConfig("Facet"),this.customValueFields=this.getCustomFieldConfig("FacetValue"),this.detailForm=this.formBuilder.group({facet:this.formBuilder.group({code:["",Qe.required],name:"",visible:!0,customFields:this.formBuilder.group(_t(this.customFields))}),values:this.formBuilder.record({})}),this.currentPage=1,this.itemsPerPage=10,this.totalItems=0,this.filterControl=new vt(""),this.values$=new Ae([]),this.updatePermission=[V.UpdateCatalog,V.UpdateFacet]}ngOnInit(){this.init(),this.filterControl.valueChanges.pipe(rt(200),Vt(this.destroy$)).subscribe(t=>{this.currentPage=1,this.fetchFacetValues(this.currentPage,this.itemsPerPage,t)})}ngOnDestroy(){this.destroy()}updateCode(t,n){if(!t){let i=this.detailForm.get(["facet","code"]);i&&i.pristine&&i.setValue((0,ro.normalizeString)(n,"-"))}}updateValueCode(t,n,i){if(!t){let r=this.detailForm.get(["values",i,"code"]);r&&r.pristine&&r.setValue((0,ro.normalizeString)(n,"-"))}}customValueFieldIsSet(t,n){return!!this.detailForm.get(["values",t,"customFields",n])}addFacetValue(){this.modalService.fromComponent(ao,{locals:{languageCode:this.languageCode,facetId:this.id}}).pipe(B(t=>t?this.dataService.facet.createFacetValues([t]):le)).subscribe(t=>{t.createFacetValues&&(this.notificationService.success("common.notify-create-success",{entity:"FacetValue"}),this.currentPage=1,this.fetchFacetValues(this.currentPage,this.itemsPerPage))})}create(){let t=this.detailForm.get("facet");if(!t||!t.dirty)return;let n=this.getUpdatedFacet({id:"",createdAt:"",updatedAt:"",isPrivate:!1,languageCode:this.languageCode,name:"",code:"",translations:[]},t,this.languageCode);this.dataService.facet.createFacet(n).subscribe(i=>{this.notificationService.success("common.notify-create-success",{entity:"Facet"}),this.detailForm.markAsPristine(),this.changeDetector.markForCheck(),this.router.navigate(["../",i.createFacet.id],{relativeTo:this.route})},i=>{this.notificationService.error("common.notify-create-error",{entity:"Facet"})})}save(){let t=this.detailForm.get("values");ee(this.entity$,this.languageCode$).pipe(lt(1),Ne(([n,i])=>{let r=this.detailForm.get("facet"),m=[];if(r&&r.dirty){let _=this.getUpdatedFacet(n,r,i);_&&m.push(this.dataService.facet.updateFacet(_))}if(t&&t.dirty){let _=this.getUpdatedFacetValues(t,i);_.length&&m.push(this.dataService.facet.updateFacetValues(_))}return bt(m)})).subscribe(()=>{this.detailForm.markAsPristine(),this.changeDetector.markForCheck(),this.notificationService.success("common.notify-update-success",{entity:"Facet"})},n=>{this.notificationService.error("common.notify-update-error",{entity:"Facet"})})}deleteFacetValue(t){this.showModalAndDelete(t).pipe(B(n=>n.result===Xe.DELETED?[!0]:this.showModalAndDelete(t,n.message||"").pipe(F(i=>i.result===Xe.DELETED))),B(n=>n?this.dataService.query(an,{id:this.id}).single$:[])).subscribe(()=>{this.notificationService.success("common.notify-delete-success",{entity:"FacetValue"}),this.fetchFacetValues(this.currentPage,this.itemsPerPage,this.filterControl.value)},n=>{this.notificationService.error("common.notify-delete-error",{entity:"FacetValue"})})}showModalAndDelete(t,n){return this.modalService.dialog({title:"catalog.confirm-delete-facet-value",body:n,buttons:[{type:"secondary",label:"common.cancel"},{type:"danger",label:"common.delete",returnValue:!0}]}).pipe(B(i=>i?this.dataService.facet.deleteFacetValues([t],!!n):le),F(i=>i.deleteFacetValues[0]))}setCurrentPage(t){this.currentPage=t,this.fetchFacetValues(this.currentPage,this.itemsPerPage,this.filterControl.value)}setItemsPerPage(t){this.itemsPerPage=t,this.fetchFacetValues(this.currentPage,this.itemsPerPage,this.filterControl.value)}fetchFacetValues(t,n,i){this.dataService.query(Ud,{id:this.id,facetValueListOptions:X({take:n,skip:(t-1)*n,sort:{createdAt:Jr.SortOrder.DESC}},i?{filter:{name:{contains:i}}}:{})}).single$.subscribe(({facet:r})=>{r&&(this.values$.next([...r.valueList.items]),this.totalItems=r.valueList.totalItems,this.setFacetValueFormValues(r,this.languageCode))})}setFormValues(t,n){let i=ue(t,n);this.detailForm.patchValue({facet:{code:t.code,visible:!t.isPrivate,name:i?.name??""}}),this.customFields.length&&this.setCustomFieldFormValues(this.customFields,this.detailForm.get(["facet","customFields"]),t,i),this.values$.next([...t.valueList.items]),this.totalItems=t.valueList.totalItems,this.setFacetValueFormValues(t,n)}setFacetValueFormValues(t,n){let i=this.detailForm.get("values");t.valueList.items.forEach(r=>{let m=ue(r,n),_={id:r.id,code:r.code,name:m?m.name:""},x=i.get(r.id);if(x?x.patchValue(_):(x=this.formBuilder.group(_),i.addControl(r.id,x)),this.customValueFields.length){let I=x.get(["customFields"]);if(I||(I=new Ci({}),x.addControl("customFields",I)),I)for(let S of this.customValueFields){let L=S.name,z=S.type==="localeString"?m?.customFields?.[L]:r.customFields[L],re=I.get(L);re?re.setValue(z):I.addControl(L,new Bt(z))}}})}getUpdatedFacet(t,n,i){let r=at({translatable:t,updatedFields:n.value,customFieldConfig:this.customFields,languageCode:i,defaultTranslation:{languageCode:i,name:t.name||""}});return r.isPrivate=!n.value.visible,r}getUpdatedFacetValues(t,n){return Object.values(t.controls).filter(r=>r.dirty).map(r=>r.value).map((r,m)=>at({translatable:r,updatedFields:r,customFieldConfig:this.customValueFields,languageCode:n,defaultTranslation:{languageCode:n,name:""}})).filter(Xr.notNullOrUndefined)}static{this.\u0275fac=function(n){return new(n||e)(P(pe),P(k),P(je),P(Y),P(te))}}static{this.\u0275cmp=E({type:e,selectors:[["vdr-facet-detail"]],standalone:!1,features:[ce],decls:45,vars:43,consts:[["updateButton",""],["private",""],[3,"languageCodeChange","disabled","availableLanguageCodes","currentLanguageCode"],["locationId","facet-detail"],["class","btn btn-primary",3,"disabled","click",4,"ngIf","ngIfElse"],[1,"form",3,"formGroup"],["formGroupName","facet"],["for","visibility",3,"label"],["type","checkbox","clrToggle","","formControlName","visible","id","visibility",3,"vdrDisabled"],[1,"visible-toggle"],[4,"ngIf","ngIfElse"],[3,"entity",4,"ngIf"],[1,"form-grid"],["for","name",3,"label"],["id","name","type","text","formControlName","name",3,"input","readonly"],["for","code",3,"label"],["id","code","type","text","formControlName","code",3,"readonly"],[3,"title",4,"ngIf"],["locationId","facet-detail",3,"entity$","detailForm"],[3,"title","paddingX",4,"ngIf"],[1,"btn","btn-primary",3,"click","disabled"],["class","btn btn-primary",3,"disabled","click",4,"vdrIfPermissions"],[3,"entity"],[3,"title"],["entityName","Facet",3,"customFields","customFieldsFormGroup","readonly"],[3,"title","paddingX"],["vdrCardControls",""],[4,"ngIf"],["type","button","class","button m-3",3,"click",4,"vdrIfPermissions"],["type","text",1,"mr-3",3,"formControl","placeholder"],["formArrayName","values",1,"facet-values-list","table"],["class","facet-value",3,"formGroup",4,"ngFor","ngForOf"],[1,"pagination-wrapper"],[3,"itemsPerPageChange","itemsPerPage"],[3,"pageChange","currentPage","itemsPerPage","totalItems"],[1,"facet-value",3,"formGroup"],[1,"align-middle"],["type","text","formControlName","name",3,"input","readonly"],["type","text","formControlName","code"],["class","",4,"ngIf"],["type","button","vdrDropdownTrigger","",1,"icon-button"],["shape","ellipsis-vertical"],["vdrPosition","bottom-right"],["type","button","vdrDropdownItem","",1,"delete-button",3,"click","disabled"],["shape","trash",1,"is-danger"],[1,""],["entityName","FacetValue",3,"customFields","compact","customFieldsFormGroup","readonly"],["type","button",1,"button","m-3",3,"click"],["shape","add"]],template:function(n,i){if(n&1){let r=D();c(0,"vdr-page-block")(1,"vdr-action-bar")(2,"vdr-ab-left")(3,"vdr-language-selector",2),s(4,"async"),s(5,"async"),s(6,"async"),C("languageCodeChange",function(_){return b(r),y(i.setLanguage(_))}),p()(),c(7,"vdr-ab-right"),h(8,"vdr-action-bar-items",3),g(9,Dd,3,4,"button",4),s(10,"async"),g(11,Sd,1,1,"ng-template",null,0,Q),h(13,"vdr-action-bar-dropdown-menu",3),p()()(),c(14,"form",5)(15,"vdr-page-detail-layout")(16,"vdr-page-detail-sidebar",6)(17,"vdr-card")(18,"vdr-form-field",7),s(19,"translate"),c(20,"clr-toggle-wrapper"),h(21,"input",8),s(22,"hasPermission"),c(23,"label",9),g(24,Ed,3,3,"ng-container",10)(25,Od,2,3,"ng-template",null,1,Q),p()()()(),c(27,"vdr-card"),g(28,Vd,1,1,"vdr-page-entity-info",11),s(29,"async"),p()(),c(30,"vdr-page-block")(31,"vdr-card",6)(32,"div",12)(33,"vdr-form-field",13),s(34,"translate"),c(35,"input",14),s(36,"hasPermission"),C("input",function(_){return b(r),y(i.updateCode(i.entity==null?null:i.entity.code,_.target.value))}),p()(),c(37,"vdr-form-field",15),s(38,"translate"),h(39,"input",16),s(40,"hasPermission"),p()()(),g(41,kd,4,8,"vdr-card",17),h(42,"vdr-custom-detail-component-host",18),g(43,Ld,7,9,"vdr-card",19),s(44,"async"),p()()()}if(n&2){let r=U(12),m=U(26);o(3),a("disabled",d(4,19,i.isNew$))("availableLanguageCodes",d(5,21,i.availableLanguages$))("currentLanguageCode",d(6,23,i.languageCode$)),o(6),a("ngIf",d(10,25,i.isNew$))("ngIfElse",r),o(5),a("formGroup",i.detailForm),o(4),a("label",d(19,27,"catalog.visibility")),o(3),a("vdrDisabled",!d(22,29,i.updatePermission)),o(3),a("ngIf",i.detailForm.value.facet==null?null:i.detailForm.value.facet.visible)("ngIfElse",m),o(4),a("ngIf",d(29,31,i.entity$)),o(5),a("label",d(34,33,"common.name")),o(2),a("readonly",!d(36,35,i.updatePermission)),o(2),a("label",d(38,37,"common.code")),o(2),a("readonly",!d(40,39,i.updatePermission)),o(2),a("ngIf",i.customFields.length),o(),a("entity$",i.entity$)("detailForm",i.detailForm),o(),a("ngIf",!d(44,41,i.isNew$))}},dependencies:[J,Ee,ye,tt,$,A,mt,ie,Ge,Z,ve,Pt,Ce,be,$t,bi,Te,Pe,Ie,Be,Fi,Si,me,K,Re,jt,Wt,qt,It,xe,ke,Ht,Ea,ut,ei,de,Dt,zt,Zt,gt,Fa,G,Kt,R,qe],styles:[`.visible-toggle[_ngcontent-%COMP%]{margin-top:-3px!important}tr.facet-value[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{vertical-align:middle}.pagination-wrapper[_ngcontent-%COMP%]{display:flex;justify-content:space-between;padding:var(--card-padding)}
|
|
112
|
+
/*# sourceMappingURL=facet-detail.component-IVRKFGM2.css.map */`],changeDetection:0})}}return e})();var tl=se(Jt());var il=Pn({location:"facet-list",requiresPermission:e=>e.includes(V.DeleteFacet)||e.includes(V.DeleteCatalog),getItemName:e=>e.name,shouldRetryItem:(e,l)=>!!e.message,bulkDelete:(e,l,t)=>e.facet.deleteFacets(l,t).pipe(F(n=>n.deleteFacets))}),nl=In({location:"facet-list",requiresPermission:e=>e.includes(V.UpdateCatalog)||e.includes(V.UpdateFacet),getItemName:e=>e.name,bulkAssignToChannel:(e,l,t)=>t.map(n=>e.facet.assignFacetsToChannel({facetIds:l,channelId:n}).pipe(F(i=>i.assignFacetsToChannel)))}),ol=ni({location:"facet-list",requiresPermission:e=>e.includes(V.DeleteCatalog)||e.includes(V.DeleteFacet),getItemName:e=>e.name,bulkRemoveFromChannel:(e,l,t,n)=>e.facet.removeFacetsFromChannel({channelId:t,facetIds:l,force:n}).pipe(F(i=>i.removeFacetsFromChannel)),isErrorResult:e=>e.__typename==="FacetInUseError"?e.message:void 0}),gf={location:"facet-list",label:"catalog.remove-from-channel",getTranslationVars:({injector:e})=>Bi(e.get(k)),icon:"layers",iconClass:"is-warning",requiresPermission:e=>e.includes(V.UpdateFacet)||e.includes(V.UpdateCatalog),isVisible:({injector:e})=>Za(e.get(k)),onClick:({injector:e,selection:l,hostComponent:t,clearSelection:n})=>{let i=e.get(te),r=e.get(k),m=e.get(Y),_=r.client.userStatus().mapSingle(({userStatus:I})=>I.activeChannelId);function x(I,S){return i.dialog({title:"catalog.remove-from-channel",translationVars:{count:l.length},size:S?"lg":"md",body:S,buttons:[{type:"secondary",label:"common.cancel"},{type:"danger",label:S?"common.force-remove":"common.remove",returnValue:!0}]}).pipe(B(L=>L?_.pipe(B(z=>z?r.facet.removeFacetsFromChannel({channelId:z,facetIds:I,force:!!S}):le),F(z=>z.removeFacetsFromChannel)):le))}x((0,tl.unique)(l.map(I=>I.id))).pipe(B(I=>{let S=l.length,L=[],z=[],re=0;for(let _e of I)_e.__typename==="FacetInUseError"&&(L.push(_e.message),z.push(l[re]?.id),S--),re++;return 0<z.length?x(z,L.join(`
|
|
113
|
+
`)).pipe(F(_e=>{let we=_e.filter(Me=>Me.__typename==="FacetInUseError").length;return l.length-we})):he(S)}),B(I=>I?Bi(r).then(({channelCode:S})=>({channelCode:S,removedCount:I})):le)).subscribe(({removedCount:I,channelCode:S})=>{I&&(t.refresh(),n(),m.success("catalog.notify-remove-facets-from-channel-success",{count:I,channelCode:S}))})}},al={location:"facet-list",label:"common.duplicate",icon:"copy",onClick:({injector:e,selection:l,hostComponent:t,clearSelection:n})=>{e.get(te).fromComponent(ki,{locals:{entities:l,entityName:"Facet",title:"catalog.duplicate-facets",getEntityName:r=>r.name}}).subscribe(r=>{r&&(n(),t.refresh())})}};var $d=()=>["CreateCatalog","CreateFacet"],Gd=()=>["./create"],jd=e=>["./",e];function Wd(e,l){e&1&&(c(0,"a",15),h(1,"clr-icon",16),f(2),s(3,"translate"),p()),e&2&&(a("routerLink",W(4,Gd)),o(2),v(" ",d(3,2,"catalog.create-new-facet")," "))}function qd(e,l){if(e&1&&f(0),e&2){let t=l.item;v(" ",t.id," ")}}function Hd(e,l){if(e&1&&(f(0),s(1,"localeDate")),e&2){let t=l.item;v(" ",O(1,1,t.createdAt,"short")," ")}}function Qd(e,l){if(e&1&&(f(0),s(1,"localeDate")),e&2){let t=l.item;v(" ",O(1,1,t.updatedAt,"short")," ")}}function Yd(e,l){if(e&1&&(c(0,"a",17)(1,"span"),f(2),p(),h(3,"clr-icon",18),p()),e&2){let t=l.item;a("routerLink",j(2,jd,t.id)),o(2),T(t.name)}}function Kd(e,l){if(e&1&&f(0),e&2){let t=l.item;v(" ",t.code," ")}}function zd(e,l){e&1&&(c(0,"vdr-chip",21),f(1),s(2,"translate"),p()),e&2&&(o(),T(d(2,1,"common.private")))}function Zd(e,l){e&1&&(c(0,"vdr-chip",22),f(1),s(2,"translate"),p()),e&2&&(o(),T(d(2,1,"common.public")))}function Jd(e,l){if(e&1&&g(0,zd,3,3,"vdr-chip",19)(1,Zd,3,3,"vdr-chip",20),e&2){let t=l.item;a("ngIf",t.isPrivate),o(),a("ngIf",!t.isPrivate)}}function Xd(e,l){if(e&1&&h(0,"vdr-facet-value-chip",27),e&2){let t=l.$implicit;a("facetValue",t)("removable",!1)("displayFacetName",!1)}}function em(e,l){if(e&1&&(c(0,"vdr-chip"),f(1),p()),e&2){let t=u().item;o(),v(" ... + ",t.valueList.totalItems-t.valueList.items.length," ")}}function tm(e,l){if(e&1&&(M(0),h(1,"clr-icon",16),f(2),N()),e&2){let t=u(2).item,n=u();o(2),v(" ",t.valueList.totalItems-n.initialLimit," ")}}function im(e,l){e&1&&h(0,"clr-icon",30)}function nm(e,l){if(e&1){let t=D();c(0,"button",28),C("click",function(){b(t);let i=u().item,r=u();return y(r.toggleDisplayLimit(i))}),g(1,tm,3,1,"ng-container",29)(2,im,1,0,"ng-template",null,0,Q),p()}if(e&2){let t=U(3),n=u().item,i=u();o(),a("ngIf",(i.displayLimit[n.id]||0)<n.valueList.items.length)("ngIfElse",t)}}function om(e,l){if(e&1&&(c(0,"div",23),g(1,Xd,1,3,"vdr-facet-value-chip",24),s(2,"slice"),g(3,em,2,1,"vdr-chip",25)(4,nm,4,2,"button",26),p()),e&2){let t=l.item,n=u();o(),a("ngForOf",Ro(2,3,t.valueList.items,0,n.displayLimit[t.id]||3)),o(2),a("ngIf",n.displayLimit[t.id]<t.valueList.totalItems&&(n.displayLimit[t.id]||0)===t.valueList.items.length),o(),a("ngIf",t.valueList.items.length>n.initialLimit)}}function am(e,l){if(e&1&&h(0,"vdr-dt2-custom-field-column",31),e&2){let t=l.$implicit,n=u();a("customField",t)("sorts",n.sorts)}}var vf=ne`
|
|
114
114
|
query GetFacetList($options: FacetListOptions, $facetValueListOptions: FacetValueListOptions) {
|
|
115
115
|
facets(options: $options) {
|
|
116
116
|
items {
|
|
@@ -120,10 +120,10 @@ import{a as ni}from"./chunk-MZFFGCAS.js";import{$ as Io,$c as sn,$d as Pi,$e as
|
|
|
120
120
|
}
|
|
121
121
|
}
|
|
122
122
|
${ln}
|
|
123
|
-
`,rl=(()=>{class e extends
|
|
124
|
-
/*# sourceMappingURL=facet-list.component-5J43FU3J.css.map */`]})}}return e})();var ll=se(sn());var rm=["optionGroupName"];function lm(e,l){if(e&1){let t=D();c(0,"div",6)(1,"div",7)(2,"label"),f(3),s(4,"translate"),p(),c(5,"input",8,0)
|
|
125
|
-
`),o(2),a("ngIf",d(6,5,i.stockLocations$)))},dependencies:[fn,hn,vn,J,
|
|
126
|
-
/*# sourceMappingURL=generate-product-variants.component-4A3M76DR.css.map */`]})}}return e})();var ml=se(
|
|
123
|
+
`,rl=(()=>{class e extends ii{constructor(t){super(),this.dataService=t,this.initialLimit=3,this.displayLimit={},this.dataTableListId="facet-list",this.customFields=this.getCustomFieldConfig("Facet"),this.filters=this.createFilterCollection().addIdFilter().addDateFilters().addFilter({name:"visibility",type:{kind:"boolean"},label:"common.visibility",toFilterInput:n=>({isPrivate:{eq:!n}})}).addCustomFieldFilters(this.customFields).connectToRoute(this.route),this.sorts=this.createSortCollection().defaultSort("createdAt","DESC").addSort({name:"id"}).addSort({name:"createdAt"}).addSort({name:"updatedAt"}).addSort({name:"name"}).addSort({name:"code"}).addCustomFieldSorts(this.customFields).connectToRoute(this.route),super.configure({document:Uo,getItems:n=>n.facets,setVariables:(n,i)=>({options:{skip:n,take:i,filter:X({name:{contains:this.searchTermControl.value}},this.filters.createFilterInput()),sort:this.sorts.createSortInput()},facetValueListOptions:{take:100}}),refreshListOnChanges:[this.filters.valueChanges,this.sorts.valueChanges]})}toggleDisplayLimit(t){this.displayLimit[t.id]===t.valueList.items.length?this.displayLimit[t.id]=this.initialLimit:this.displayLimit[t.id]=t.valueList.items.length}setLanguage(t){this.dataService.client.setContentLanguage(t).subscribe()}static{this.\u0275fac=function(n){return new(n||e)(P(k))}}static{this.\u0275cmp=E({type:e,selectors:[["vdr-facet-list"]],standalone:!1,features:[ce],decls:40,vars:58,consts:[["collapse",""],[3,"languageCodeChange","availableLanguageCodes","currentLanguageCode"],["locationId","facet-list"],["class","btn btn-primary",3,"routerLink",4,"vdrIfPermissions"],[1,"mt-2",3,"pageChange","itemsPerPageChange","visibleColumnsChange","id","items","itemsPerPage","totalItems","currentPage","filters"],["locationId","facet-list",3,"hostComponent","selectionManager"],[3,"searchTermControl","searchTermPlaceholder"],["id","id",3,"heading","hiddenByDefault","sort"],["id","created-at",3,"heading","hiddenByDefault","sort"],["id","updated-at",3,"heading","hiddenByDefault","sort"],["id","name",3,"heading","optional","sort"],["id","code",3,"heading"],["id","visibility",3,"heading"],["id","values",3,"heading"],[3,"customField","sorts",4,"ngFor","ngForOf"],[1,"btn","btn-primary",3,"routerLink"],["shape","plus"],[1,"button-ghost",3,"routerLink"],["shape","arrow right"],["colorType","warning",4,"ngIf"],["colorType","success",4,"ngIf"],["colorType","warning"],["colorType","success"],[1,"facet-values-list"],[3,"facetValue","removable","displayFacetName",4,"ngFor","ngForOf"],[4,"ngIf"],["class","button-small",3,"click",4,"ngIf"],[3,"facetValue","removable","displayFacetName"],[1,"button-small",3,"click"],[4,"ngIf","ngIfElse"],["shape","minus"],[3,"customField","sorts"]],template:function(n,i){n&1&&(c(0,"vdr-page-block")(1,"vdr-action-bar")(2,"vdr-ab-left")(3,"vdr-language-selector",1),s(4,"async"),s(5,"async"),C("languageCodeChange",function(m){return i.setLanguage(m)}),p()(),c(6,"vdr-ab-right"),h(7,"vdr-action-bar-items",2),g(8,Wd,4,5,"a",3),h(9,"vdr-action-bar-dropdown-menu",2),p()()(),c(10,"vdr-data-table-2",4),s(11,"async"),s(12,"async"),s(13,"async"),s(14,"async"),C("pageChange",function(m){return i.setPageNumber(m)})("itemsPerPageChange",function(m){return i.setItemsPerPage(m)})("visibleColumnsChange",function(m){return i.setVisibleColumns(m)}),h(15,"vdr-bulk-action-menu",5)(16,"vdr-dt2-search",6),s(17,"translate"),c(18,"vdr-dt2-column",7),s(19,"translate"),g(20,qd,1,1,"ng-template"),p(),c(21,"vdr-dt2-column",8),s(22,"translate"),g(23,Hd,2,4,"ng-template"),p(),c(24,"vdr-dt2-column",9),s(25,"translate"),g(26,Qd,2,4,"ng-template"),p(),c(27,"vdr-dt2-column",10),s(28,"translate"),g(29,Yd,4,4,"ng-template"),p(),c(30,"vdr-dt2-column",11),s(31,"translate"),g(32,Kd,1,1,"ng-template"),p(),c(33,"vdr-dt2-column",12),s(34,"translate"),g(35,Jd,2,2,"ng-template"),p(),c(36,"vdr-dt2-column",13),s(37,"translate"),g(38,om,5,7,"ng-template"),p(),g(39,am,1,2,"vdr-dt2-custom-field-column",14),p()),n&2&&(o(3),a("availableLanguageCodes",d(4,29,i.availableLanguages$))("currentLanguageCode",d(5,31,i.contentLanguage$)),o(5),a("vdrIfPermissions",W(57,$d)),o(2),a("id",i.dataTableListId)("items",d(11,33,i.items$))("itemsPerPage",d(12,35,i.itemsPerPage$))("totalItems",d(13,37,i.totalItems$))("currentPage",d(14,39,i.currentPage$))("filters",i.filters),o(5),a("hostComponent",i)("selectionManager",i.selectionManager),o(),a("searchTermControl",i.searchTermControl)("searchTermPlaceholder",d(17,41,"catalog.filter-by-name")),o(2),a("heading",d(19,43,"common.id"))("hiddenByDefault",!0)("sort",i.sorts.get("id")),o(3),a("heading",d(22,45,"common.created-at"))("hiddenByDefault",!0)("sort",i.sorts.get("createdAt")),o(3),a("heading",d(25,47,"common.updated-at"))("hiddenByDefault",!0)("sort",i.sorts.get("updatedAt")),o(3),a("heading",d(28,49,"common.name"))("optional",!1)("sort",i.sorts.get("name")),o(3),a("heading",d(31,51,"common.code")),o(3),a("heading",d(34,53,"common.visibility")),o(3),a("heading",d(37,55,"catalog.values")),o(3),a("ngForOf",i.customFields))},dependencies:[J,$,A,Se,Te,Pe,Ie,Be,Ve,Yt,Re,xe,ke,Xt,ot,He,nt,ti,de,G,Ao,R,it],styles:[`.facet-values-list[_ngcontent-%COMP%]{max-width:500px;display:flex;flex-wrap:wrap;align-items:center;gap:4px}
|
|
124
|
+
/*# sourceMappingURL=facet-list.component-5J43FU3J.css.map */`]})}}return e})();var ll=se(sn());var rm=["optionGroupName"];function lm(e,l){if(e&1){let t=D();c(0,"div",6)(1,"div",7)(2,"label"),f(3),s(4,"translate"),p(),c(5,"input",8,0),$e("ngModelChange",function(i){let r=b(t).$implicit;return Ue(r.name,i)||(r.name=i),y(i)}),C("keydown.enter",function(i){b(t);let r=U(12),m=u();return y(m.handleEnter(i,r))}),p()(),c(7,"div",9)(8,"label"),f(9),s(10,"translate"),p(),c(11,"vdr-option-value-input",10,1),$e("ngModelChange",function(i){let r=b(t).$implicit;return Ue(r.values,i)||(r.values=i),y(i)}),C("ngModelChange",function(){b(t);let i=u();return y(i.generateVariants())})("edit",function(){b(t);let i=u();return y(i.generateVariants())}),p()(),c(13,"div",11)(14,"button",12),s(15,"translate"),C("click",function(){let i=b(t).$implicit,r=u();return y(r.removeOption(i.name))}),h(16,"clr-icon",13),p()()()}if(e&2){let t=l.$implicit;o(3),T(d(4,7,"catalog.option")),o(2),Le("ngModel",t.name),o(4),T(d(10,9,"catalog.option-values")),o(2),Le("ngModel",t.values),a("groupName",t.name)("disabled",t.name===""),o(3),a("title",d(15,11,"catalog.remove-option"))}}function sm(e,l){e&1&&(c(0,"clr-alert",18)(1,"clr-alert-item")(2,"span",19),f(3),s(4,"translate"),p()()()),e&2&&(a("clrAlertClosable",!1),o(3),v(" ",d(4,2,"catalog.no-stock-locations-available-on-current-channel")," "))}function cm(e,l){if(e&1&&(c(0,"option",23),f(1),p()),e&2){let t=l.$implicit;a("value",t.id),o(),v(" ",t.name," ")}}function pm(e,l){if(e&1){let t=D();c(0,"vdr-form-field",20),s(1,"translate"),c(2,"select",21),$e("ngModelChange",function(i){b(t);let r=u(2);return Ue(r.selectedStockLocationId,i)||(r.selectedStockLocationId=i),y(i)}),g(3,cm,2,2,"option",22),p()()}if(e&2){let t=u().ngIf,n=u();a("label",d(1,3,"catalog.add-stock-to-location")),o(2),Le("ngModel",n.selectedStockLocationId),o(),a("ngForOf",t)}}function dm(e,l){e&1&&(c(0,"th"),f(1),s(2,"translate"),p()),e&2&&(o(),T(d(2,1,"common.create")))}function mm(e,l){e&1&&(c(0,"th"),f(1),s(2,"translate"),p()),e&2&&(o(),T(d(2,1,"catalog.variant")))}function um(e,l){e&1&&(c(0,"td"),h(1,"input",31),p())}function gm(e,l){if(e&1&&(c(0,"td"),f(1),p()),e&2){let t=u().$implicit;o(),v(" ",t.values.join(" ")," ")}}function _m(e,l){if(e&1&&(c(0,"tr",27),g(1,um,2,0,"td",5)(2,gm,2,1,"td",5),c(3,"td")(4,"vdr-form-field"),h(5,"input",28),s(6,"translate"),p()(),c(7,"td")(8,"vdr-form-field"),h(9,"vdr-currency-input",29),p()(),c(10,"td")(11,"vdr-form-field"),h(12,"input",30),p()()()),e&2){let t=l.$implicit,n=u(3);w("disabled",!!n.variantFormValues[t.id].value.enabled),a("formGroup",n.variantFormValues[t.id]),o(),a("ngIf",1<n.variants.length),o(),a("ngIf",1<n.variants.length),o(3),a("placeholder",d(6,7,"catalog.sku")),o(4),a("currencyCode",n.currencyCode)}}function fm(e,l){if(e&1&&(c(0,"div",24)(1,"table",25)(2,"thead")(3,"tr"),g(4,dm,3,3,"th",5)(5,mm,3,3,"th",5),c(6,"th"),f(7),s(8,"translate"),p(),c(9,"th"),f(10),s(11,"translate"),p(),c(12,"th"),f(13),s(14,"translate"),p()()(),g(15,_m,13,9,"tr",26),p()()),e&2){let t=u(2);o(4),a("ngIf",1<t.variants.length),o(),a("ngIf",1<t.variants.length),o(2),T(d(8,7,"catalog.sku")),o(3),T(d(11,9,"catalog.price")),o(3),T(d(14,11,"catalog.stock-on-hand")),o(2),a("ngForOf",t.variants)("ngForTrackBy",t.trackByFn)}}function hm(e,l){if(e&1&&(M(0),g(1,sm,5,4,"clr-alert",14),c(2,"div",15),g(3,pm,4,5,"vdr-form-field",16),p(),g(4,fm,16,13,"div",17),N()),e&2){let t=l.ngIf;o(),a("ngIf",t.length===0),o(2),a("ngIf",t.length),o(),a("ngIf",0<t.length)}}var lo="__DEFAULT_VARIANT__",so=(()=>{class e{constructor(t,n){this.dataService=t,this.formBuilder=n,this.variantsChange=new ht,this.optionGroups=[],this.variantFormValues={},this.selectedStockLocationId=null}ngOnInit(){this.dataService.settings.getActiveChannel().single$.subscribe(t=>{this.currencyCode=t.activeChannel.defaultCurrencyCode}),this.stockLocations$=this.dataService.query(Yo,{options:{take:999}}).refetchOnChannelChange().mapStream(({stockLocations:t})=>t.items).pipe(ze(t=>{t.length&&(this.selectedStockLocationId=t[0].id,this.onFormChange())})),this.generateVariants()}addOption(){this.optionGroups.push({name:"",values:[]});let t=this.optionGroups.length-1;setTimeout(()=>{this.groupNameInputs.get(t)?.nativeElement?.focus()})}removeOption(t){this.optionGroups=this.optionGroups.filter(n=>n.name!==t),this.generateVariants()}generateVariants(){let n=this.optionGroups.reduce((i,r)=>i+r.values.length,0)?this.optionGroups.map(i=>i.values.map(r=>r.name)):[[lo]];this.variants=(0,ll.generateAllCombinations)(n).map(i=>({id:i.join("|"),values:i})),this.variants.forEach((i,r)=>{if(!this.variantFormValues[i.id]){let m=this.formBuilder.nonNullable.group({optionValues:[i.values],enabled:!0,price:this.copyFromDefault(i.id,"price",0),sku:this.copyFromDefault(i.id,"sku",""),stock:this.copyFromDefault(i.id,"stock",0)});m.valueChanges.subscribe(()=>this.onFormChange()),r===0&&(m.get("price")?.valueChanges.subscribe(_=>{this.copyValuesToPristine("price",m.get("price"))}),m.get("sku")?.valueChanges.subscribe(_=>{this.copyValuesToPristine("sku",m.get("sku"))}),m.get("stock")?.valueChanges.subscribe(_=>{this.copyValuesToPristine("stock",m.get("stock"))})),this.variantFormValues[i.id]=m}}),this.onFormChange()}trackByFn(t,n){return n.values.join("|")}handleEnter(t,n){t.preventDefault(),t.stopPropagation(),n.focus()}copyValuesToPristine(t,n){n&&Object.values(this.variantFormValues).forEach(i=>{let r=i.get(t);r&&r.pristine&&r.setValue(n.value,{emitEvent:!1})})}onFormChange(){let t=this.variants.map(n=>this.variantFormValues[n.id].value).filter(n=>n.enabled);this.variantsChange.emit({groups:this.optionGroups.map(n=>({name:n.name,values:n.values.map(i=>i.name)})),variants:t,stockLocationId:this.selectedStockLocationId})}copyFromDefault(t,n,i){return t!==lo?this.variantFormValues[lo].get(n)?.value:i}static{this.\u0275fac=function(n){return new(n||e)(P(k),P(je))}}static{this.\u0275cmp=E({type:e,selectors:[["vdr-generate-product-variants"]],viewQuery:function(n,i){if(n&1&&pt(rm,5,en),n&2){let r;Ze(r=Je())&&(i.groupNameInputs=r)}},outputs:{variantsChange:"variantsChange"},standalone:!1,decls:7,vars:7,consts:[["optionGroupName",""],["optionValueInputComponent",""],["class","option-groups",4,"ngFor","ngForOf"],[1,"button","mb-2",3,"click"],["shape","plus"],[4,"ngIf"],[1,"option-groups"],[1,"name"],["placeholder","e.g. Size","clrInput","","name","name","required","",3,"ngModelChange","keydown.enter","ngModel"],[1,"values"],[3,"ngModelChange","edit","ngModel","groupName","disabled"],[1,"remove-group"],[1,"button-small","mt-2",3,"click","title"],["shape","trash"],["clrAlertType","warning","class","",3,"clrAlertClosable",4,"ngIf"],[1,"form-grid","mb-2"],[3,"label",4,"ngIf"],["class","variants-preview",4,"ngIf"],["clrAlertType","warning",1,"",3,"clrAlertClosable"],[1,"alert-text"],[3,"label"],[3,"ngModelChange","ngModel"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],[1,"variants-preview"],[1,"table"],[3,"disabled","formGroup",4,"ngFor","ngForOf","ngForTrackBy"],[3,"formGroup"],["type","text","formControlName","sku",3,"placeholder"],["formControlName","price",3,"currencyCode"],["type","number","formControlName","stock","min","0","step","1"],["type","checkbox","formControlName","enabled","clrCheckbox",""]],template:function(n,i){n&1&&(g(0,lm,17,13,"div",2),c(1,"button",3),C("click",function(){return i.addOption()}),h(2,"clr-icon",4),f(3),s(4,"translate"),p(),g(5,hm,5,3,"ng-container",5),s(6,"async")),n&2&&(a("ngForOf",i.optionGroups),o(3),v(" ",d(4,3,"catalog.add-option"),`
|
|
125
|
+
`),o(2),a("ngIf",d(6,5,i.stockLocations$)))},dependencies:[fn,hn,vn,J,Ee,ye,Gt,$,A,pn,dn,ie,Ut,Ge,cn,Z,ve,mn,yi,et,Ce,be,Qt,me,K,wi,G,R],styles:[`[_nghost-%COMP%]{display:block;margin-bottom:120px}.option-groups[_ngcontent-%COMP%]{display:flex}.values[_ngcontent-%COMP%]{flex:1;margin:0 6px}.remove-group[_ngcontent-%COMP%]{padding-top:18px}.variants-preview[_ngcontent-%COMP%] tr.disabled[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{background-color:var(--color-component-bg-100);color:var(--color-grey-400)}
|
|
126
|
+
/*# sourceMappingURL=generate-product-variants.component-4A3M76DR.css.map */`]})}}return e})();var ml=se(oi()),ul=se(Bl()),gl=se(Jt());var Cm=(e,l)=>["/catalog/products",e,"variants",l];function bm(e,l){if(e&1){let t=D();c(0,"vdr-language-selector",17),s(1,"async"),s(2,"async"),C("languageCodeChange",function(i){b(t);let r=u();return y(r.setLanguage(i))}),p()}if(e&2){let t=u();a("availableLanguageCodes",d(1,2,t.availableLanguages$))("currentLanguageCode",d(2,4,t.contentLanguage$))}}function ym(e,l){if(e&1&&f(0),e&2){let t=l.item;v(" ",t.id," ")}}function xm(e,l){if(e&1&&(f(0),s(1,"localeDate")),e&2){let t=l.item;v(" ",O(1,1,t.createdAt,"short")," ")}}function Pm(e,l){if(e&1&&(f(0),s(1,"localeDate")),e&2){let t=l.item;v(" ",O(1,1,t.updatedAt,"short")," ")}}function Im(e,l){if(e&1&&(h(0,"img",20),s(1,"assetPreview")),e&2){let t=l.ngIf;a("src",O(1,1,t,"tiny"),vi)}}function Tm(e,l){e&1&&(c(0,"div",21),h(1,"clr-icon",22),p())}function Dm(e,l){if(e&1&&(c(0,"div",18),g(1,Im,2,4,"img",19)(2,Tm,2,0,"ng-template",null,0,Q),p()),e&2){let t=l.item,n=U(3);o(),a("ngIf",t.featuredAsset)("ngIfElse",n)}}function Fm(e,l){if(e&1&&(c(0,"a",23)(1,"span"),f(2),p(),h(3,"clr-icon",24),p()),e&2){let t=l.item;a("routerLink",Rt(2,Cm,t.productId,t.id)),o(2),T(t.name)}}function Sm(e,l){if(e&1&&f(0),e&2){let t=l.item;v(" ",t.sku," ")}}function Em(e,l){e&1&&(c(0,"vdr-chip",27),f(1),s(2,"translate"),p()),e&2&&(o(),v("",d(2,1,"common.enabled")," "))}function Om(e,l){e&1&&(c(0,"vdr-chip",28),f(1),s(2,"translate"),p()),e&2&&(o(),v("",d(2,1,"common.disabled")," "))}function Vm(e,l){if(e&1&&g(0,Em,3,3,"vdr-chip",25)(1,Om,3,3,"vdr-chip",26),e&2){let t=l.item;a("ngIf",t.enabled),o(),a("ngIf",!t.enabled)}}function km(e,l){if(e&1&&(f(0),s(1,"localeCurrency")),e&2){let t=l.item;v(" ",O(1,1,t.price,t.currencyCode)," ")}}function Rm(e,l){if(e&1&&(f(0),s(1,"localeCurrency")),e&2){let t=l.item;v(" ",O(1,1,t.priceWithTax,t.currencyCode)," ")}}function Bm(e,l){if(e&1&&(c(0,"span",33),f(1),p()),e&2){let t=u().$implicit;o(),v("(",t.stockAllocated," allocated)")}}function Am(e,l){if(e&1&&(c(0,"vdr-chip",30)(1,"div",31)(2,"div"),f(3),g(4,Bm,2,1,"span",32),p()()()),e&2){let t=l.$implicit;a("title",t.stockLocation==null?null:t.stockLocation.name),o(3),v(" ",t.stockOnHand,""),o(),a("ngIf",t.stockAllocated)}}function wm(e,l){if(e&1&&g(0,Am,5,3,"vdr-chip",29),e&2){let t=l.item;a("ngForOf",t.stockLevels)}}function Mm(e,l){if(e&1&&h(0,"vdr-dt2-custom-field-column",34),e&2){let t=l.$implicit,n=u();a("customField",t)("sorts",n.sorts)}}var On=(()=>{class e extends ii{constructor(){super(),this.hideLanguageSelect=!1,this.pageLocationId="product-variant-list",this.customFields=this.getCustomFieldConfig("ProductVariant"),this.filters=this.createFilterCollection().addIdFilter().addDateFilters().addFilters([{name:"name",type:{kind:"text"},label:"common.name",filterField:"name"},{name:"enabled",type:{kind:"boolean"},label:"common.enabled",filterField:"enabled"},{name:"sku",type:{kind:"text"},label:"catalog.sku",filterField:"sku"},{name:"price",type:{kind:"number",inputType:"currency"},label:"common.price",filterField:"price"},{name:"priceWithTax",type:{kind:"number",inputType:"currency"},label:"common.price-with-tax",filterField:"priceWithTax"}]).addCustomFieldFilters(this.customFields).connectToRoute(this.route),this.sorts=this.createSortCollection().addSorts([{name:"id"},{name:"createdAt"},{name:"updatedAt"},{name:"name"},{name:"sku"},{name:"price"},{name:"priceWithTax"}]).addCustomFieldSorts(this.customFields).connectToRoute(this.route),this.configure({document:qo,getItems:t=>t.productVariants,setVariables:(t,n)=>{let i=this.searchTermControl.value,r={_and:[]},m=this.filters.createFilterInput();return Object.keys(m).length&&r._and?.push(m),i&&r._and?.push({_or:[{name:{contains:i}},{sku:{contains:i}}]}),this.productId&&r._and?.push({productId:{eq:this.productId}}),{options:{skip:t,take:n,filter:r,sort:this.sorts.createSortInput()}}},refreshListOnChanges:[this.sorts.valueChanges,this.filters.valueChanges]})}static{this.\u0275fac=function(n){return new(n||e)}}static{this.\u0275cmp=E({type:e,selectors:[["vdr-product-variant-list"]],inputs:{productId:"productId",hideLanguageSelect:"hideLanguageSelect",dataTableId:"dataTableId"},standalone:!1,features:[ce],decls:46,vars:67,consts:[["imagePlaceholder",""],[3,"availableLanguageCodes","currentLanguageCode","languageCodeChange",4,"ngIf"],[3,"locationId"],[1,"mt-2",3,"pageChange","itemsPerPageChange","id","items","itemsPerPage","totalItems","currentPage","filters"],["locationId","product-variant-list",3,"hostComponent","selectionManager"],[3,"searchTermControl","searchTermPlaceholder"],["id","id",3,"heading","hiddenByDefault","sort"],["id","created-at",3,"heading","hiddenByDefault","sort"],["id","updated-at",3,"heading","hiddenByDefault","sort"],["id","image",3,"heading"],["id","name",3,"heading","optional","sort"],["id","sku",3,"heading","sort"],["id","enabled",3,"heading"],["id","price",3,"heading","hiddenByDefault","sort"],["id","price-with-tax",3,"heading","sort"],["id","stock-on-hand",3,"heading","hiddenByDefault"],[3,"customField","sorts",4,"ngFor","ngForOf"],[3,"languageCodeChange","availableLanguageCodes","currentLanguageCode"],[1,"image-placeholder"],[3,"src",4,"ngIf","ngIfElse"],[3,"src"],[1,"placeholder"],["shape","image","size","48"],[1,"button-ghost",3,"routerLink"],["shape","arrow right"],["colorType","success",4,"ngIf"],["colorType","warning",4,"ngIf"],["colorType","success"],["colorType","warning"],[3,"title",4,"ngFor","ngForOf"],[3,"title"],[1,"flex","center"],["class","ml-1",4,"ngIf"],[1,"ml-1"],[3,"customField","sorts"]],template:function(n,i){n&1&&(c(0,"vdr-page-block")(1,"vdr-action-bar")(2,"vdr-ab-left"),g(3,bm,3,6,"vdr-language-selector",1),p(),c(4,"vdr-ab-right"),h(5,"vdr-action-bar-items",2)(6,"vdr-action-bar-dropdown-menu",2),p()()(),c(7,"vdr-data-table-2",3),s(8,"async"),s(9,"async"),s(10,"async"),s(11,"async"),C("pageChange",function(m){return i.setPageNumber(m)})("itemsPerPageChange",function(m){return i.setItemsPerPage(m)}),h(12,"vdr-bulk-action-menu",4)(13,"vdr-dt2-search",5),s(14,"translate"),c(15,"vdr-dt2-column",6),s(16,"translate"),g(17,ym,1,1,"ng-template"),p(),c(18,"vdr-dt2-column",7),s(19,"translate"),g(20,xm,2,4,"ng-template"),p(),c(21,"vdr-dt2-column",8),s(22,"translate"),g(23,Pm,2,4,"ng-template"),p(),c(24,"vdr-dt2-column",9),s(25,"translate"),g(26,Dm,4,2,"ng-template"),p(),c(27,"vdr-dt2-column",10),s(28,"translate"),g(29,Fm,4,5,"ng-template"),p(),c(30,"vdr-dt2-column",11),s(31,"translate"),g(32,Sm,1,1,"ng-template"),p(),c(33,"vdr-dt2-column",12),s(34,"translate"),g(35,Vm,2,2,"ng-template"),p(),c(36,"vdr-dt2-column",13),s(37,"translate"),g(38,km,2,4,"ng-template"),p(),c(39,"vdr-dt2-column",14),s(40,"translate"),g(41,Rm,2,4,"ng-template"),p(),c(42,"vdr-dt2-column",15),s(43,"translate"),g(44,wm,1,1,"ng-template"),p(),g(45,Mm,1,2,"vdr-dt2-custom-field-column",16),p()),n&2&&(o(3),a("ngIf",!i.hideLanguageSelect),o(2),a("locationId",i.pageLocationId),o(),a("locationId",i.pageLocationId),o(),a("id",i.dataTableId||"product-variant-list")("items",d(8,37,i.items$))("itemsPerPage",d(9,39,i.itemsPerPage$))("totalItems",d(10,41,i.totalItems$))("currentPage",d(11,43,i.currentPage$))("filters",i.filters),o(5),a("hostComponent",i)("selectionManager",i.selectionManager),o(),a("searchTermControl",i.searchTermControl)("searchTermPlaceholder",d(14,45,"settings.search-by-product-name-or-sku")),o(2),a("heading",d(16,47,"common.id"))("hiddenByDefault",!0)("sort",i.sorts.get("id")),o(3),a("heading",d(19,49,"common.created-at"))("hiddenByDefault",!0)("sort",i.sorts.get("createdAt")),o(3),a("heading",d(22,51,"common.updated-at"))("hiddenByDefault",!0)("sort",i.sorts.get("updatedAt")),o(3),a("heading",d(25,53,"common.image")),o(3),a("heading",d(28,55,"catalog.name"))("optional",!1)("sort",i.sorts.get("name")),o(3),a("heading",d(31,57,"catalog.sku"))("sort",i.sorts.get("sku")),o(3),a("heading",d(34,59,"common.enabled")),o(3),a("heading",d(37,61,"common.price"))("hiddenByDefault",!0)("sort",i.sorts.get("price")),o(3),a("heading",d(40,63,"common.price-with-tax"))("sort",i.sorts.get("priceWithTax")),o(3),a("heading",d(43,65,"catalog.stock-on-hand"))("hiddenByDefault",!1),o(3),a("ngForOf",i.customFields))},dependencies:[J,$,A,Se,Te,Pe,Ie,Be,Ve,Re,ke,Xt,ot,He,nt,ti,de,G,R,Ei,it,Tt],styles:[`.image-col[_ngcontent-%COMP%]{width:70px}.image-placeholder[_ngcontent-%COMP%]{width:50px;height:50px;margin-top:calc(var(--space-unit) * -1);margin-bottom:calc(var(--space-unit) * -1);background-color:var(--color-component-bg-200)}.image-placeholder[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{border-radius:var(--border-radius-img)}.image-placeholder[_ngcontent-%COMP%] .placeholder[_ngcontent-%COMP%]{text-align:center;color:var(--color-grey-300)}.search-form[_ngcontent-%COMP%]{display:flex;align-items:center;width:100%}vdr-product-search-input[_ngcontent-%COMP%]{min-width:300px}@media screen and (max-width: 768px){vdr-product-search-input[_ngcontent-%COMP%]{min-width:100px}}.search-settings-menu[_ngcontent-%COMP%]{margin:0 12px}td.disabled[_ngcontent-%COMP%]{background-color:var(--color-component-bg-200)}.search-index-button[_ngcontent-%COMP%]{position:relative}.search-index-button[_ngcontent-%COMP%] vdr-status-badge[_ngcontent-%COMP%]{right:0;top:0}.run-updates-button[_ngcontent-%COMP%]{position:relative}.run-updates-button[_ngcontent-%COMP%] vdr-status-badge[_ngcontent-%COMP%]{left:10px;top:10px}.edit-button[_ngcontent-%COMP%]{margin-inline-end:24px}.sku[_ngcontent-%COMP%]{color:var(--color-text-300)}
|
|
127
127
|
/*# sourceMappingURL=product-variant-list.component-CXMEF4NN.css.map */`]})}}return e})();var Lm=()=>["name"],cl=e=>({pattern:e}),Um=()=>["enabled"],$m=()=>["options"],Gm=()=>["manage-variants"];function jm(e,l){if(e&1){let t=D();c(0,"button",28),C("click",function(){b(t);let i=u();return y(i.create())}),f(1),s(2,"translate"),p()}if(e&2){let t=u();a("disabled",t.detailForm.invalid||t.detailForm.pristine||t.createVariantsConfig.variants.length===0),o(),v(" ",d(2,2,"common.create")," ")}}function Wm(e,l){if(e&1){let t=D();c(0,"button",28),C("click",function(){b(t);let i=u(2);return y(i.save())}),f(1),s(2,"translate"),p()}if(e&2){let t=u(2);a("disabled",(t.detailForm.invalid||t.detailForm.pristine)&&!t.assetsChanged()),o(),v(" ",d(2,2,"common.update")," ")}}function qm(e,l){if(e&1&&g(0,Wm,3,4,"button",29),e&2){let t=u();a("vdrIfPermissions",t.updatePermissions)}}function Hm(e,l){if(e&1&&(c(0,"clr-toggle-wrapper"),h(1,"input",30),c(2,"label"),f(3),s(4,"translate"),p()()),e&2){let t=u();o(),a("formControl",t.detailForm.get(W(4,Um))),o(2),T(d(4,2,"common.enabled"))}}function Qm(e,l){if(e&1){let t=D();c(0,"vdr-chip",39),C("iconClick",function(){b(t);let i=u().$implicit,r=u(4);return y(r.removeFromChannel(i.id))}),h(1,"vdr-channel-badge",40),f(2),s(3,"channelCodeToLabel"),p()}if(e&2){let t=u().$implicit;o(),a("channelCode",t.code),o(),v(" ",d(3,2,t.code)," ")}}function Ym(e,l){if(e&1&&(M(0),g(1,Qm,4,4,"vdr-chip",38),N()),e&2){let t=l.$implicit,n=u(4);o(),a("ngIf",!n.isDefaultChannel(t.code))}}function Km(e,l){if(e&1){let t=D();c(0,"vdr-form-item")(1,"div",33)(2,"div",34),g(3,Ym,2,1,"ng-container",35),s(4,"async"),p(),c(5,"button",36),C("click",function(){b(t);let i=u(3);return y(i.assignToChannel())}),h(6,"clr-icon",37),f(7),s(8,"translate"),p()()()}if(e&2){let t=u(3);o(3),a("ngForOf",d(4,2,t.productChannels$)),o(4),v(" ",d(8,4,"common.assign-to-channel")," ")}}function zm(e,l){e&1&&(c(0,"vdr-card",11),s(1,"translate"),g(2,Km,9,6,"vdr-form-item",32),p()),e&2&&a("title",d(1,1,"common.channels"))}function Zm(e,l){e&1&&(M(0),g(1,zm,3,3,"vdr-card",31),N())}function Jm(e,l){if(e&1&&(c(0,"vdr-chip",44),f(1),p()),e&2){let t=l.$implicit;a("colorFrom",t.code)("invert",!0),o(),v(" ",t.name," ")}}function Xm(e,l){e&1&&(c(0,"a",45),h(1,"clr-icon",46),f(2),s(3,"translate"),p()),e&2&&(a("routerLink",W(4,$m)),o(2),v(" ",d(3,2,"catalog.edit-options")," "))}function eu(e,l){if(e&1&&(c(0,"vdr-card",11),s(1,"translate"),c(2,"div",41),g(3,Jm,2,3,"vdr-chip",42),s(4,"sort"),p(),c(5,"div"),g(6,Xm,4,5,"a",43),p()()),e&2){let t=u();a("title",d(1,3,"catalog.product-options")),o(3),a("ngForOf",O(4,5,t.entity==null?null:t.entity.optionGroups,"id")),o(3),a("vdrIfPermissions",t.updatePermissions)}}function tu(e,l){if(e&1){let t=D();c(0,"vdr-facet-value-chip",47),s(1,"hasPermission"),C("remove",function(){let i=b(t).$implicit,r=u();return y(r.removeProductFacetValue(i.id))}),p()}if(e&2){let t=l.$implicit,n=u();a("facetValue",t)("removable",d(1,2,n.updatePermissions))}}function iu(e,l){if(e&1){let t=D();c(0,"button",48),C("click",function(){b(t);let i=u();return y(i.selectProductFacetValue())}),h(1,"clr-icon",49),f(2),s(3,"translate"),p()}e&2&&(o(2),v(" ",d(3,1,"catalog.add-facets")," "))}function nu(e,l){if(e&1&&(c(0,"vdr-card"),h(1,"vdr-page-entity-info",50),p()),e&2){let t=l.ngIf;o(),a("entity",t)}}function ou(e,l){e&1&&(c(0,"div")(1,"clr-checkbox-wrapper"),h(2,"input",51),c(3,"label"),f(4),s(5,"translate"),p()()()),e&2&&(o(4),T(d(5,1,"catalog.auto-update-product-variant-name")))}function au(e,l){if(e&1&&(c(0,"vdr-card",11),s(1,"translate"),h(2,"vdr-tabbed-custom-fields",52),s(3,"hasPermission"),p()),e&2){let t=u();a("title",d(1,4,"common.custom-fields")),o(2),a("customFields",t.customFields)("customFieldsFormGroup",t.detailForm.get("customFields"))("readonly",!d(3,6,t.updatePermissions))}}function ru(e,l){if(e&1){let t=D();c(0,"div")(1,"vdr-generate-product-variants",53),C("variantsChange",function(i){b(t);let r=u();return y(r.createVariantsConfig=i)}),p()()}}function lu(e,l){if(e&1&&h(0,"vdr-product-variant-list",54),e&2){let t=u();a("productId",t.id)("hideLanguageSelect",!0)}}function su(e,l){e&1&&(c(0,"div",55)(1,"a",56),h(2,"clr-icon",57),f(3),s(4,"translate"),p()()),e&2&&(o(),a("routerLink",W(4,Gm)),o(2),v(" ",d(4,2,"catalog.manage-variants"),""))}var Nf=ne`
|
|
128
128
|
query GetProductDetail($id: ID!) {
|
|
129
129
|
product(id: $id) {
|
|
@@ -131,14 +131,14 @@ import{a as ni}from"./chunk-MZFFGCAS.js";import{$ as Io,$c as sn,$d as Pi,$e as
|
|
|
131
131
|
}
|
|
132
132
|
}
|
|
133
133
|
${Zo}
|
|
134
|
-
`,_l=(()=>{class e extends St{constructor(t,n,i,r,m,_){super(),this.productDetailService=t,this.formBuilder=n,this.modalService=i,this.notificationService=r,this.dataService=m,this.changeDetector=_,this.customFields=this.getCustomFieldConfig("Product"),this.detailForm=this.formBuilder.group({enabled:!0,name:["",Qe.required],autoUpdateVariantNames:!0,slug:["",Tn(/^[\p{Letter}0-9._-]+$/u)],description:"",facetValueIds:[[]],customFields:this.formBuilder.group(_t(this.customFields))}),this.assetChanges={},this.createVariantsConfig={groups:[],variants:[],stockLocationId:""},this.updatePermissions=[V.UpdateCatalog,V.UpdateProduct]}ngOnInit(){this.init();let t=this.isNew$.pipe(B(r=>r?he([]):this.entity$.pipe(F(m=>m.facetValues)))),i=this.detailForm.get("facetValueIds").valueChanges.pipe(Ie(),B(r=>this.dataService.facet.getFacetValues({filter:{id:{in:r}}}).mapSingle(({facetValues:m})=>m.items)),Ot(1));this.facetValues$=Ji(t.pipe(lt(1)),t.pipe(B(()=>i))),this.productChannels$=this.entity$.pipe(F(r=>r.channels))}ngOnDestroy(){this.destroy()}isDefaultChannel(t){return t===ul.DEFAULT_CHANNEL_CODE}assignToChannel(){this.productChannels$.pipe(lt(1),B(t=>this.modalService.fromComponent(ci,{size:"lg",locals:{productIds:[this.id],currentChannelIds:t.map(n=>n.id)}}))).subscribe()}removeFromChannel(t){Ui(Bi(this.dataService,t)).pipe(B(({channelCode:n})=>this.modalService.dialog({title:"catalog.remove-product-from-channel",buttons:[{type:"secondary",label:"common.cancel"},{type:"danger",label:"catalog.remove-from-channel",translationVars:{channelCode:n},returnValue:!0}]})),B(n=>n?this.dataService.product.removeProductsFromChannel({channelId:t,productIds:[this.id]}):le)).subscribe(()=>{this.notificationService.success("catalog.notify-remove-product-from-channel-success")},n=>{this.notificationService.error("catalog.notify-remove-product-from-channel-error")})}assignVariantToChannel(t){return this.modalService.fromComponent(ci,{size:"lg",locals:{productIds:[this.id],productVariantIds:[t.id],currentChannelIds:t.channels.map(n=>n.id)}}).subscribe()}removeVariantFromChannel({channelId:t,variant:n}){Ui(Bi(this.dataService,t)).pipe(B(({channelCode:i})=>this.modalService.dialog({title:"catalog.remove-product-variant-from-channel",buttons:[{type:"secondary",label:"common.cancel"},{type:"danger",label:"catalog.remove-from-channel",translationVars:{channelCode:i},returnValue:!0}]})),B(i=>i?this.dataService.product.removeVariantsFromChannel({channelId:t,productVariantIds:[n.id]}):le)).subscribe(()=>{this.notificationService.success("catalog.notify-remove-variant-from-channel-success")},i=>{this.notificationService.error("catalog.notify-remove-variant-from-channel-error")})}assetsChanged(){return!!Object.values(this.assetChanges).length}updateSlug(t){let n=this.detailForm.get("slug"),i=this.entity?ue(this.entity,this.languageCode):void 0,r=!i||!i.slug;n&&n.pristine&&r&&n.setValue((0,ml.normalizeString)(`${t}`,"-"))}selectProductFacetValue(){this.displayFacetValueModal().subscribe(t=>{if(t){let n=this.detailForm.controls.facetValueIds,i=n.value??[];n.setValue((0,gl.unique)([...i,...t])),n.markAsDirty()}})}removeProductFacetValue(t){let n=this.detailForm.controls.facetValueIds,i=n.value??[];n.setValue(i.filter(r=>r!==t)),n.markAsDirty()}displayFacetValueModal(){return this.modalService.fromComponent(Hi,{size:"md",closable:!0}).pipe(F(t=>t&&t.map(n=>n.id)))}create(){let t=this.detailForm;if(!t.dirty)return;let n=this.getUpdatedProduct({id:"",createdAt:"",updatedAt:"",enabled:!0,languageCode:this.languageCode,name:"",slug:"",featuredAsset:null,assets:[],description:"",translations:[],optionGroups:[],facetValues:[],channels:[]},t,this.languageCode);this.productDetailService.createProductWithVariants(n,this.createVariantsConfig,this.languageCode).subscribe(({createProductVariants:i,productId:r})=>{this.notificationService.success("common.notify-create-success",{entity:"Product"}),this.assetChanges={},this.detailForm.markAsPristine(),this.router.navigate(["../",r],{relativeTo:this.route})},i=>{console.error(i),this.notificationService.error("common.notify-create-error",{entity:"Product"})})}save(){ee(this.entity$,this.languageCode$).pipe(lt(1),we(([t,n])=>{let i=this.detailForm,r,m;return(i.dirty||this.assetsChanged())&&(r=this.getUpdatedProduct(t,i,n)),this.productDetailService.updateProduct({product:t,languageCode:n,autoUpdate:this.detailForm.get(["autoUpdateVariantNames"])?.value??!1,productInput:r,variantsInput:m})})).subscribe(t=>{this.updateSlugAfterSave(t),this.detailForm.markAsPristine(),this.assetChanges={},this.notificationService.success("common.notify-update-success",{entity:"Product"}),this.changeDetector.markForCheck()},t=>{this.notificationService.error("common.notify-update-error",{entity:"Product"})})}canDeactivate(){return super.canDeactivate()&&!this.assetChanges.assets&&!this.assetChanges.featuredAsset}setFormValues(t,n){let i=ue(t,n);this.detailForm.patchValue({enabled:t.enabled,name:i?i.name:"",slug:i?i.slug:"",description:i?i.description:"",facetValueIds:t.facetValues.map(r=>r.id)}),this.customFields.length&&this.setCustomFieldFormValues(this.customFields,this.detailForm.get(["customFields"]),t,i)}getUpdatedProduct(t,n,i){let r=at({translatable:t,updatedFields:n.value,customFieldConfig:this.customFields,languageCode:i,defaultTranslation:{languageCode:i,name:t.name||"",slug:t.slug||"",description:t.description||""}});return fe(X({},r),{assetIds:this.assetChanges.assets?.map(m=>m.id),featuredAssetId:this.assetChanges.featuredAsset?.id,facetValueIds:n.controls.facetValueIds.dirty?n.value.facetValueIds:void 0})}updateSlugAfterSave(t){let n=t[0],i=this.detailForm.get(["product","slug"]);function r(m){return m.hasOwnProperty("updateProduct")}i&&r(n)&&i.setValue(n.updateProduct.slug,{emitEvent:!1})}static{this.\u0275fac=function(n){return new(n||e)(P(oi),P($e),P(te),P(Y),P(k),P(pe))}}static{this.\u0275cmp=E({type:e,selectors:[["vdr-product-detail2"]],standalone:!1,features:[ce],decls:69,vars:86,consts:[["updateButton",""],["variantList",""],[1,"flex","clr-flex-row"],[3,"languageCodeChange","disabled","availableLanguageCodes","currentLanguageCode"],["locationId","product-detail"],["class","btn btn-primary",3,"disabled","click",4,"ngIf","ngIfElse"],[1,"form",3,"formGroup"],["for","visibility",3,"label"],[4,"vdrIfPermissions"],[4,"ngIf"],[3,"title",4,"ngIf"],[3,"title"],[1,"facets"],[3,"facetValue","removable","remove",4,"ngFor","ngForOf"],["class","button-small mt-2",3,"click",4,"vdrIfPermissions"],["type","submit","hidden","","x-data","prevents enter key from triggering other buttons"],[1,"form-grid"],["for","name",3,"label"],["id","name","type","text","formControlName","name",3,"input","readonly"],["for","slug",3,"label","errors"],["id","slug","type","text","formControlName","slug",3,"readonly"],["for","slug",1,"form-grid-span",3,"label","errors"],["formControlName","description",3,"readonly"],["locationId","product-detail",3,"entity$","detailForm"],[3,"change","assets","featuredAsset","updatePermissions"],[3,"title","paddingX"],[4,"ngIf","ngIfElse"],["class","mx-3",4,"ngIf"],[1,"btn","btn-primary",3,"click","disabled"],["class","btn btn-primary",3,"disabled","click",4,"vdrIfPermissions"],["type","checkbox","clrToggle","","name","enabled",3,"formControl"],[3,"title",4,"vdrIfMultichannel"],[4,"vdrIfDefaultChannelActive"],[1,"flex","channel-assignment"],[1,"mb-2"],[4,"ngFor","ngForOf"],[1,"button-small",3,"click"],["shape","layers"],["icon","times-circle",3,"iconClick",4,"ngIf"],["icon","times-circle",3,"iconClick"],[3,"channelCode"],[1,"options"],[3,"colorFrom","invert",4,"ngFor","ngForOf"],["class","button-small mt-2",3,"routerLink",4,"vdrIfPermissions"],[3,"colorFrom","invert"],[1,"button-small","mt-2",3,"routerLink"],["shape","pencil"],[3,"remove","facetValue","removable"],[1,"button-small","mt-2",3,"click"],["shape","plus"],[3,"entity"],["clrCheckbox","","type","checkbox","id","auto-update","formControlName","autoUpdateVariantNames"],["entityName","Product",3,"customFields","customFieldsFormGroup","readonly"],[3,"variantsChange"],["dataTableId","product-detail-variants-list",3,"productId","hideLanguageSelect"],[1,"mx-3"],[1,"button",3,"routerLink"],["shape","add-text"]],template:function(n,i){if(n&1){let r=D();c(0,"vdr-page-block")(1,"vdr-action-bar")(2,"vdr-ab-left"),h(3,"div",2),c(4,"vdr-language-selector",3),s(5,"async"),s(6,"async"),s(7,"async"),C("languageCodeChange",function(_){return b(r),y(i.setLanguage(_))}),p()(),c(8,"vdr-ab-right"),h(9,"vdr-action-bar-items",4),g(10,jm,3,4,"button",5),s(11,"async"),g(12,qm,1,1,"ng-template",null,0,Q),h(14,"vdr-action-bar-dropdown-menu",4),p()()(),c(15,"form",6)(16,"vdr-page-detail-layout")(17,"vdr-page-detail-sidebar")(18,"vdr-card")(19,"vdr-form-field",7),s(20,"translate"),g(21,Hm,5,5,"clr-toggle-wrapper",8),p()(),g(22,Zm,2,0,"ng-container",9),s(23,"async"),g(24,eu,7,8,"vdr-card",10),c(25,"vdr-card",11),s(26,"translate"),c(27,"div",12),g(28,tu,2,4,"vdr-facet-value-chip",13),s(29,"async"),p(),c(30,"div"),g(31,iu,4,3,"button",14),p()(),g(32,nu,2,1,"vdr-card",9),s(33,"async"),p(),c(34,"vdr-page-block"),h(35,"button",15),c(36,"vdr-card")(37,"div",16)(38,"div")(39,"vdr-form-field",17),s(40,"translate"),c(41,"input",18),s(42,"hasPermission"),C("input",function(_){return b(r),y(i.updateSlug(_.target.value))}),p()(),g(43,ou,6,3,"div",9),s(44,"async"),p(),c(45,"vdr-form-field",19),s(46,"translate"),s(47,"translate"),h(48,"input",20),s(49,"hasPermission"),p(),c(50,"vdr-form-field",21),s(51,"translate"),s(52,"translate"),h(53,"vdr-rich-text-editor",22),s(54,"hasPermission"),p()()(),g(55,au,4,8,"vdr-card",10),h(56,"vdr-custom-detail-component-host",23),c(57,"vdr-card",11),s(58,"translate"),c(59,"vdr-assets",24),C("change",function(_){return b(r),y(i.assetChanges=_)}),p()(),c(60,"vdr-card",25),s(61,"translate"),s(62,"async"),g(63,ru,2,0,"div",26),s(64,"async"),g(65,lu,1,2,"ng-template",null,1,Q)(67,su,5,5,"div",27),s(68,"async"),p()()()()}if(n&2){let r,m=U(13),_=U(66);o(4),a("disabled",d(5,35,i.isNew$))("availableLanguageCodes",d(6,37,i.availableLanguages$))("currentLanguageCode",d(7,39,i.languageCode$)),o(6),a("ngIf",d(11,41,i.isNew$))("ngIfElse",m),o(5),a("formGroup",i.detailForm),o(4),a("label",d(20,43,"catalog.visibility")),o(2),a("vdrIfPermissions",i.updatePermissions),o(),a("ngIf",!d(23,45,i.isNew$)),o(2),a("ngIf",i.entity==null?null:i.entity.optionGroups.length),o(),a("title",d(26,47,"catalog.facets")),o(3),a("ngForOf",d(29,49,i.facetValues$)),o(3),a("vdrIfPermissions",i.updatePermissions),o(),a("ngIf",d(33,51,i.entity$)),o(7),a("label",d(40,53,"catalog.product-name")),o(2),a("readonly",!d(42,55,i.updatePermissions)),o(2),a("ngIf",d(44,57,i.isNew$)===!1&&((r=i.detailForm.get(W(81,Lm)))==null?null:r.dirty)),o(2),a("label",d(46,59,"catalog.slug"))("errors",j(82,cl,d(47,61,"catalog.slug-pattern-error"))),o(3),a("readonly",!d(49,63,i.updatePermissions)),o(2),a("label",d(51,65,"common.description"))("errors",j(84,cl,d(52,67,"catalog.slug-pattern-error"))),o(3),a("readonly",!d(54,69,i.updatePermissions)),o(2),a("ngIf",i.customFields.length),o(),a("entity$",i.entity$)("detailForm",i.detailForm),o(),a("title",d(58,71,"catalog.assets")),o(2),a("assets",i.assetChanges.assets||(i.entity==null?null:i.entity.assets))("featuredAsset",i.assetChanges.featuredAsset||(i.entity==null?null:i.entity.featuredAsset))("updatePermissions",i.updatePermissions),o(),a("title",d(61,73,"catalog.product-variants"))("paddingX",d(62,75,i.isNew$)),o(3),a("ngIf",d(64,77,i.isNew$))("ngIfElse",_),o(4),a("ngIf",d(68,79,i.isNew$)===!1)}},dependencies:[J,De,ye,tt,$,A,mt,ie,Ue,Z,ve,Pt,Ce,be,Te,Ve,Ee,Oe,He,Oi,Se,Qt,me,K,Vi,ke,bn,xe,fa,We,ba,qa,ut,Xt,de,Dt,Kt,zt,gt,so,On,G,R,Ti,je,Cn],styles:[`[_nghost-%COMP%] trix-toolbar{top:24px}.facets[_ngcontent-%COMP%], .options[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:3px}vdr-action-bar[_ngcontent-%COMP%] clr-toggle-wrapper[_ngcontent-%COMP%]{margin-top:12px}.variant-filter[_ngcontent-%COMP%]{flex:1;display:flex}.variant-filter[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{flex:1;max-width:initial;border-radius:3px 0 0 3px!important}.variant-filter[_ngcontent-%COMP%] .icon-button[_ngcontent-%COMP%]{border:1px solid var(--color-component-border-300);background-color:var(--color-component-bg-100);border-radius:0 3px 3px 0;border-inline-start:none}.group-name[_ngcontent-%COMP%]{padding-inline-end:6px}.view-mode[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:space-between}@media screen and (min-width: 768px){.view-mode[_ngcontent-%COMP%]{flex-direction:row}}.edit-variants-btn[_ngcontent-%COMP%]{margin-top:0}.channel-assignment[_ngcontent-%COMP%]{flex-wrap:wrap;min-height:24px}.pagination-row[_ngcontent-%COMP%]{display:flex;align-items:baseline;justify-content:space-between}
|
|
135
|
-
/*# sourceMappingURL=product-detail.component-7HOXQQ44.css.map */`],changeDetection:0})}}return e})();var Vn=se(
|
|
136
|
-
`)),t.refresh(),n()})}},hl={location:"product-list",label:"common.assign-to-channel",icon:"layers",requiresPermission:e=>e.includes(V.UpdateCatalog)||e.includes(V.UpdateProduct),isVisible:({injector:e})=>xn(e.get(k)),onClick:({injector:e,selection:l,clearSelection:t})=>{e.get(te).fromComponent(ci,{size:"lg",locals:{productIds:(0,Vn.unique)(l.map(i=>i.id)),currentChannelIds:[]}}).subscribe(i=>{i&&t()})}},vl=ii({location:"product-list",requiresPermission:e=>e.includes(V.UpdateCatalog)||e.includes(V.UpdateProduct),getItemName:e=>e.name,bulkRemoveFromChannel:(e,l,t)=>e.product.removeProductsFromChannel({channelId:t,productIds:l}).pipe(F(n=>n.removeProductsFromChannel))}),Cl={location:"product-list",label:"catalog.edit-facet-values",icon:"tag",requiresPermission:e=>e.includes(V.UpdateCatalog)||e.includes(V.UpdateProduct),onClick:({injector:e,selection:l,hostComponent:t,clearSelection:n})=>{let i=e.get(te),r=e.get(Y),m="product",_=(0,Vn.unique)(l.map(x=>x.id));return i.fromComponent(Qi,{size:"xl",locals:{mode:m,ids:_}}).subscribe(x=>{x&&(r.success("common.notify-bulk-update-success",{count:l.length,entity:m==="product"?"Products":"ProductVariants"}),n())})}},bl={location:"product-list",label:"common.duplicate",icon:"copy",onClick:({injector:e,selection:l,hostComponent:t,clearSelection:n})=>{e.get(te).fromComponent(ki,{locals:{entities:l,entityName:"Product",title:"catalog.duplicate-products",getEntityName:r=>r.name}}).subscribe(r=>{r&&(n(),t.refresh())})}};var cu=()=>["CreateCatalog","CreateProduct"],pu=()=>["./create"],du=e=>["./",e],mu=e=>({count:e});function uu(e,l){e&1&&(c(0,"a",19),h(1,"clr-icon",20),f(2),s(3,"translate"),p()),e&2&&(a("routerLink",W(4,pu)),o(2),v(" ",d(3,2,"catalog.create-new-product")," "))}function gu(e,l){if(e&1&&f(0),e&2){let t=l.item;v(" ",t.id," ")}}function _u(e,l){if(e&1&&(f(0),s(1,"localeDate")),e&2){let t=l.item;v(" ",O(1,1,t.createdAt,"short")," ")}}function fu(e,l){if(e&1&&(f(0),s(1,"localeDate")),e&2){let t=l.item;v(" ",O(1,1,t.updatedAt,"short")," ")}}function hu(e,l){if(e&1&&(h(0,"img",23),s(1,"assetPreview")),e&2){let t=l.ngIf;a("src",O(1,1,t,"tiny"),vi)}}function vu(e,l){e&1&&(c(0,"div",24),h(1,"clr-icon",25),p())}function Cu(e,l){if(e&1&&(c(0,"div",21),g(1,hu,2,4,"img",22)(2,vu,2,0,"ng-template",null,0,Q),p()),e&2){let t=l.item,n=U(3);o(),a("ngIf",t.featuredAsset)("ngIfElse",n)}}function bu(e,l){if(e&1&&(c(0,"a",26)(1,"span"),f(2),p(),h(3,"clr-icon",27),p()),e&2){let t=l.item;a("routerLink",j(2,du,t.id)),o(2),T(t.name)}}function yu(e,l){if(e&1&&f(0),e&2){let t=l.item;v(" ",t.slug," ")}}function xu(e,l){e&1&&(c(0,"vdr-chip",30),f(1),s(2,"translate"),p()),e&2&&(o(),T(d(2,1,"common.enabled")))}function Pu(e,l){e&1&&(c(0,"vdr-chip",31),f(1),s(2,"translate"),p()),e&2&&(o(),T(d(2,1,"common.disabled")))}function Iu(e,l){if(e&1&&g(0,xu,3,3,"vdr-chip",28)(1,Pu,3,3,"vdr-chip",29),e&2){let t=l.item;a("ngIf",t.enabled),o(),a("ngIf",!t.enabled)}}function Tu(e,l){if(e&1&&(f(0),s(1,"translate")),e&2){let t=l.item;v(" ",O(1,1,"catalog.variant-count",j(4,mu,t.variantList==null?null:t.variantList.totalItems))," ")}}function Du(e,l){if(e&1&&h(0,"vdr-dt2-custom-field-column",32),e&2){let t=l.$implicit,n=u();a("customField",t)("sorts",n.sorts)}}var yl=(()=>{class e extends ti{constructor(t,n,i,r){super(),this.dataService=t,this.modalService=n,this.notificationService=i,this.jobQueueService=r,this.pendingSearchIndexUpdates=0,this.dataTableListId="product-list",this.pageLocationId="product-list",this.customFields=this.getCustomFieldConfig("Product"),this.filters=this.createFilterCollection().addIdFilter().addDateFilters().addFilters([{name:"enabled",type:{kind:"boolean"},label:"common.enabled",filterField:"enabled"},{name:"slug",type:{kind:"text"},label:"common.slug",filterField:"slug"}]).addFilter({name:"facetValues",type:{kind:"custom",component:Pa,serializeValue:m=>m.map(_=>_.id).join(","),deserializeValue:m=>m.split(",").map(_=>({id:_})),getLabel:m=>m.length===0?"":m[0].name?m.map(_=>_.name).join(", "):Zi(this.dataService.facet.getFacetValues({filter:{id:{in:m.map(_=>_.id)}}}).mapSingle(({facetValues:_})=>_.items.map(x=>x.name).join(", ")))},label:"catalog.facet-values",toFilterInput:m=>({facetValueId:{in:m.map(_=>_.id)}})}).addCustomFieldFilters(this.customFields).connectToRoute(this.route),this.sorts=this.createSortCollection().defaultSort("createdAt","DESC").addSorts([{name:"id"},{name:"createdAt"},{name:"updatedAt"},{name:"name"},{name:"slug"}]).addCustomFieldSorts(this.customFields).connectToRoute(this.route),this.configure({document:Go,getItems:m=>m.products,setVariables:(m,_)=>{let x=this.searchTermControl.value,I=this.filters.createFilterInput();return x&&(I={name:{contains:x},sku:{contains:x}}),{options:{skip:m,take:_,filter:X({},I??{}),filterOperator:x?pi.OR:pi.AND,sort:this.sorts.createSortInput()}}},refreshListOnChanges:[this.sorts.valueChanges,this.filters.valueChanges]})}rebuildSearchIndex(){this.dataService.product.reindex().subscribe(({reindex:t})=>{this.notificationService.info("catalog.reindexing"),this.jobQueueService.addJob(t.id,n=>{if(n.state===wo.COMPLETED){let i=new Intl.NumberFormat().format(n.duration||0);this.notificationService.success("catalog.reindex-successful",{count:n.result.indexedItemCount,time:i}),this.refresh()}else this.notificationService.error("catalog.reindex-error")})})}deleteProduct(t){this.modalService.dialog({title:"catalog.confirm-delete-product",buttons:[{type:"secondary",label:"common.cancel"},{type:"danger",label:"common.delete",returnValue:!0}]}).pipe(B(n=>n?this.dataService.product.deleteProduct(t):le),vo(500)).subscribe(()=>{this.notificationService.success("common.notify-delete-success",{entity:"Product"}),this.refresh()},n=>{this.notificationService.error("common.notify-delete-error",{entity:"Product"})})}static{this.\u0275fac=function(n){return new(n||e)(P(k),P(te),P(Y),P(ha))}}static{this.\u0275cmp=E({type:e,selectors:[["vdr-products-list"]],standalone:!1,features:[ce],decls:47,vars:69,consts:[["imagePlaceholder",""],[3,"languageCodeChange","availableLanguageCodes","currentLanguageCode"],[3,"locationId"],["class","button primary mr-1",3,"routerLink",4,"vdrIfPermissions"],[3,"alwaysShow","locationId"],["type","button","vdrDropdownItem","",3,"click"],["shape","refresh",1,""],[1,"mt-2",3,"pageChange","itemsPerPageChange","visibleColumnsChange","id","items","itemsPerPage","totalItems","currentPage","filters"],[3,"locationId","hostComponent","selectionManager"],[3,"searchTermControl","searchTermPlaceholder"],["id","id",3,"heading","hiddenByDefault","sort"],["id","created-at",3,"heading","hiddenByDefault","sort"],["id","updated-at",3,"heading","hiddenByDefault","sort"],["id","image",3,"heading"],["id","name",3,"heading","optional","sort"],["id","slug",3,"heading","sort"],["id","enabled",3,"heading"],["id","number-of-variants",3,"heading"],[3,"customField","sorts",4,"ngFor","ngForOf"],[1,"button","primary","mr-1",3,"routerLink"],["shape","plus"],[1,"image-placeholder"],[3,"src",4,"ngIf","ngIfElse"],[3,"src"],[1,"placeholder"],["shape","image","size","48"],[1,"button-ghost",3,"routerLink"],["shape","arrow right"],["colorType","success",4,"ngIf"],["colorType","warning",4,"ngIf"],["colorType","success"],["colorType","warning"],[3,"customField","sorts"]],template:function(n,i){n&1&&(c(0,"vdr-page-block")(1,"vdr-action-bar")(2,"vdr-ab-left")(3,"vdr-language-selector",1),s(4,"async"),s(5,"async"),C("languageCodeChange",function(m){return i.setLanguage(m)}),p()(),c(6,"vdr-ab-right"),h(7,"vdr-action-bar-items",2),g(8,uu,4,5,"a",3),c(9,"vdr-action-bar-dropdown-menu",4)(10,"button",5),C("click",function(){return i.rebuildSearchIndex()}),h(11,"clr-icon",6),f(12),s(13,"translate"),p()()()()(),c(14,"vdr-data-table-2",7),s(15,"async"),s(16,"async"),s(17,"async"),s(18,"async"),C("pageChange",function(m){return i.setPageNumber(m)})("itemsPerPageChange",function(m){return i.setItemsPerPage(m)})("visibleColumnsChange",function(m){return i.setVisibleColumns(m)}),h(19,"vdr-bulk-action-menu",8)(20,"vdr-dt2-search",9),s(21,"translate"),c(22,"vdr-dt2-column",10),s(23,"translate"),g(24,gu,1,1,"ng-template"),p(),c(25,"vdr-dt2-column",11),s(26,"translate"),g(27,_u,2,4,"ng-template"),p(),c(28,"vdr-dt2-column",12),s(29,"translate"),g(30,fu,2,4,"ng-template"),p(),c(31,"vdr-dt2-column",13),s(32,"translate"),g(33,Cu,4,2,"ng-template"),p(),c(34,"vdr-dt2-column",14),s(35,"translate"),g(36,bu,4,4,"ng-template"),p(),c(37,"vdr-dt2-column",15),s(38,"translate"),g(39,yu,1,1,"ng-template"),p(),c(40,"vdr-dt2-column",16),s(41,"translate"),g(42,Iu,2,2,"ng-template"),p(),c(43,"vdr-dt2-column",17),s(44,"translate"),g(45,Tu,2,6,"ng-template"),p(),g(46,Du,1,2,"vdr-dt2-custom-field-column",18),p()),n&2&&(o(3),a("availableLanguageCodes",d(4,36,i.availableLanguages$))("currentLanguageCode",d(5,38,i.contentLanguage$)),o(4),a("locationId",i.pageLocationId),o(),a("vdrIfPermissions",W(68,cu)),o(),a("alwaysShow",!0)("locationId",i.pageLocationId),o(3),v(" ",d(13,40,"catalog.rebuild-search-index")," "),o(2),a("id",i.dataTableListId)("items",d(15,42,i.items$))("itemsPerPage",d(16,44,i.itemsPerPage$))("totalItems",d(17,46,i.totalItems$))("currentPage",d(18,48,i.currentPage$))("filters",i.filters),o(5),a("locationId",i.dataTableListId)("hostComponent",i)("selectionManager",i.selectionManager),o(),a("searchTermControl",i.searchTermControl)("searchTermPlaceholder",d(21,50,"settings.search-by-product-name-or-sku")),o(2),a("heading",d(23,52,"common.id"))("hiddenByDefault",!0)("sort",i.sorts.get("id")),o(3),a("heading",d(26,54,"common.created-at"))("hiddenByDefault",!0)("sort",i.sorts.get("createdAt")),o(3),a("heading",d(29,56,"common.updated-at"))("hiddenByDefault",!0)("sort",i.sorts.get("updatedAt")),o(3),a("heading",d(32,58,"common.image")),o(3),a("heading",d(35,60,"catalog.name"))("optional",!1)("sort",i.sorts.get("name")),o(3),a("heading",d(38,62,"common.slug"))("sort",i.sorts.get("slug")),o(3),a("heading",d(41,64,"common.enabled")),o(3),a("heading",d(44,66,"catalog.number-of-variants")),o(3),a("ngForOf",i.customFields))},dependencies:[J,$,A,Te,Ve,Ee,Oe,He,Se,ke,It,xe,We,Jt,ot,qe,nt,ei,de,G,R,Ei,it],styles:[`.image-col[_ngcontent-%COMP%]{width:70px}.image-placeholder[_ngcontent-%COMP%]{width:50px;height:50px;margin-top:calc(var(--space-unit) * -1);margin-bottom:calc(var(--space-unit) * -1);background-color:var(--color-component-bg-200)}.image-placeholder[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{border-radius:var(--border-radius-img)}.image-placeholder[_ngcontent-%COMP%] .placeholder[_ngcontent-%COMP%]{text-align:center;color:var(--color-grey-300)}.search-form[_ngcontent-%COMP%]{display:flex;align-items:center;width:100%}vdr-product-search-input[_ngcontent-%COMP%]{min-width:300px}@media screen and (max-width: 768px){vdr-product-search-input[_ngcontent-%COMP%]{min-width:100px}}.search-settings-menu[_ngcontent-%COMP%]{margin:0 12px}td.disabled[_ngcontent-%COMP%]{background-color:var(--color-component-bg-200)}.search-index-button[_ngcontent-%COMP%]{position:relative}.search-index-button[_ngcontent-%COMP%] vdr-status-badge[_ngcontent-%COMP%]{right:0;top:0}.run-updates-button[_ngcontent-%COMP%]{position:relative}.run-updates-button[_ngcontent-%COMP%] vdr-status-badge[_ngcontent-%COMP%]{left:10px;top:10px}.edit-button[_ngcontent-%COMP%]{margin-inline-end:24px}.sku[_ngcontent-%COMP%]{color:var(--color-text-300)}
|
|
137
|
-
/*# sourceMappingURL=product-list.component-OMFT2F2D.css.map */`]})}}return e})();var xl=se(Rl()),Pl=se(
|
|
134
|
+
`,_l=(()=>{class e extends St{constructor(t,n,i,r,m,_){super(),this.productDetailService=t,this.formBuilder=n,this.modalService=i,this.notificationService=r,this.dataService=m,this.changeDetector=_,this.customFields=this.getCustomFieldConfig("Product"),this.detailForm=this.formBuilder.group({enabled:!0,name:["",Qe.required],autoUpdateVariantNames:!0,slug:["",Tn(/^[\p{Letter}0-9._-]+$/u)],description:"",facetValueIds:[[]],customFields:this.formBuilder.group(_t(this.customFields))}),this.assetChanges={},this.createVariantsConfig={groups:[],variants:[],stockLocationId:""},this.updatePermissions=[V.UpdateCatalog,V.UpdateProduct]}ngOnInit(){this.init();let t=this.isNew$.pipe(B(r=>r?he([]):this.entity$.pipe(F(m=>m.facetValues)))),i=this.detailForm.get("facetValueIds").valueChanges.pipe(Fe(),B(r=>this.dataService.facet.getFacetValues({filter:{id:{in:r}}}).mapSingle(({facetValues:m})=>m.items)),Ot(1));this.facetValues$=Ji(t.pipe(lt(1)),t.pipe(B(()=>i))),this.productChannels$=this.entity$.pipe(F(r=>r.channels))}ngOnDestroy(){this.destroy()}isDefaultChannel(t){return t===ul.DEFAULT_CHANNEL_CODE}assignToChannel(){this.productChannels$.pipe(lt(1),B(t=>this.modalService.fromComponent(di,{size:"lg",locals:{productIds:[this.id],currentChannelIds:t.map(n=>n.id)}}))).subscribe()}removeFromChannel(t){Ui(Bi(this.dataService,t)).pipe(B(({channelCode:n})=>this.modalService.dialog({title:"catalog.remove-product-from-channel",buttons:[{type:"secondary",label:"common.cancel"},{type:"danger",label:"catalog.remove-from-channel",translationVars:{channelCode:n},returnValue:!0}]})),B(n=>n?this.dataService.product.removeProductsFromChannel({channelId:t,productIds:[this.id]}):le)).subscribe(()=>{this.notificationService.success("catalog.notify-remove-product-from-channel-success")},n=>{this.notificationService.error("catalog.notify-remove-product-from-channel-error")})}assignVariantToChannel(t){return this.modalService.fromComponent(di,{size:"lg",locals:{productIds:[this.id],productVariantIds:[t.id],currentChannelIds:t.channels.map(n=>n.id)}}).subscribe()}removeVariantFromChannel({channelId:t,variant:n}){Ui(Bi(this.dataService,t)).pipe(B(({channelCode:i})=>this.modalService.dialog({title:"catalog.remove-product-variant-from-channel",buttons:[{type:"secondary",label:"common.cancel"},{type:"danger",label:"catalog.remove-from-channel",translationVars:{channelCode:i},returnValue:!0}]})),B(i=>i?this.dataService.product.removeVariantsFromChannel({channelId:t,productVariantIds:[n.id]}):le)).subscribe(()=>{this.notificationService.success("catalog.notify-remove-variant-from-channel-success")},i=>{this.notificationService.error("catalog.notify-remove-variant-from-channel-error")})}assetsChanged(){return!!Object.values(this.assetChanges).length}updateSlug(t){let n=this.detailForm.get("slug"),i=this.entity?ue(this.entity,this.languageCode):void 0,r=!i||!i.slug;n&&n.pristine&&r&&n.setValue((0,ml.normalizeString)(`${t}`,"-"))}selectProductFacetValue(){this.displayFacetValueModal().subscribe(t=>{if(t){let n=this.detailForm.controls.facetValueIds,i=n.value??[];n.setValue((0,gl.unique)([...i,...t])),n.markAsDirty()}})}removeProductFacetValue(t){let n=this.detailForm.controls.facetValueIds,i=n.value??[];n.setValue(i.filter(r=>r!==t)),n.markAsDirty()}displayFacetValueModal(){return this.modalService.fromComponent(Hi,{size:"md",closable:!0}).pipe(F(t=>t&&t.map(n=>n.id)))}create(){let t=this.detailForm;if(!t.dirty)return;let n=this.getUpdatedProduct({id:"",createdAt:"",updatedAt:"",enabled:!0,languageCode:this.languageCode,name:"",slug:"",featuredAsset:null,assets:[],description:"",translations:[],optionGroups:[],facetValues:[],channels:[]},t,this.languageCode);this.productDetailService.createProductWithVariants(n,this.createVariantsConfig,this.languageCode).subscribe(({createProductVariants:i,productId:r})=>{this.notificationService.success("common.notify-create-success",{entity:"Product"}),this.assetChanges={},this.detailForm.markAsPristine(),this.router.navigate(["../",r],{relativeTo:this.route})},i=>{console.error(i),this.notificationService.error("common.notify-create-error",{entity:"Product"})})}save(){ee(this.entity$,this.languageCode$).pipe(lt(1),Ne(([t,n])=>{let i=this.detailForm,r,m;return(i.dirty||this.assetsChanged())&&(r=this.getUpdatedProduct(t,i,n)),this.productDetailService.updateProduct({product:t,languageCode:n,autoUpdate:this.detailForm.get(["autoUpdateVariantNames"])?.value??!1,productInput:r,variantsInput:m})})).subscribe(t=>{this.updateSlugAfterSave(t),this.detailForm.markAsPristine(),this.assetChanges={},this.notificationService.success("common.notify-update-success",{entity:"Product"}),this.changeDetector.markForCheck()},t=>{this.notificationService.error("common.notify-update-error",{entity:"Product"})})}canDeactivate(){return super.canDeactivate()&&!this.assetChanges.assets&&!this.assetChanges.featuredAsset}setFormValues(t,n){let i=ue(t,n);this.detailForm.patchValue({enabled:t.enabled,name:i?i.name:"",slug:i?i.slug:"",description:i?i.description:"",facetValueIds:t.facetValues.map(r=>r.id)}),this.customFields.length&&this.setCustomFieldFormValues(this.customFields,this.detailForm.get(["customFields"]),t,i)}getUpdatedProduct(t,n,i){let r=at({translatable:t,updatedFields:n.value,customFieldConfig:this.customFields,languageCode:i,defaultTranslation:{languageCode:i,name:t.name||"",slug:t.slug||"",description:t.description||""}});return fe(X({},r),{assetIds:this.assetChanges.assets?.map(m=>m.id),featuredAssetId:this.assetChanges.featuredAsset?.id,facetValueIds:n.controls.facetValueIds.dirty?n.value.facetValueIds:void 0})}updateSlugAfterSave(t){let n=t[0],i=this.detailForm.get(["product","slug"]);function r(m){return m.hasOwnProperty("updateProduct")}i&&r(n)&&i.setValue(n.updateProduct.slug,{emitEvent:!1})}static{this.\u0275fac=function(n){return new(n||e)(P(ai),P(je),P(te),P(Y),P(k),P(pe))}}static{this.\u0275cmp=E({type:e,selectors:[["vdr-product-detail2"]],standalone:!1,features:[ce],decls:69,vars:86,consts:[["updateButton",""],["variantList",""],[1,"flex","clr-flex-row"],[3,"languageCodeChange","disabled","availableLanguageCodes","currentLanguageCode"],["locationId","product-detail"],["class","btn btn-primary",3,"disabled","click",4,"ngIf","ngIfElse"],[1,"form",3,"formGroup"],["for","visibility",3,"label"],[4,"vdrIfPermissions"],[4,"ngIf"],[3,"title",4,"ngIf"],[3,"title"],[1,"facets"],[3,"facetValue","removable","remove",4,"ngFor","ngForOf"],["class","button-small mt-2",3,"click",4,"vdrIfPermissions"],["type","submit","hidden","","x-data","prevents enter key from triggering other buttons"],[1,"form-grid"],["for","name",3,"label"],["id","name","type","text","formControlName","name",3,"input","readonly"],["for","slug",3,"label","errors"],["id","slug","type","text","formControlName","slug",3,"readonly"],["for","slug",1,"form-grid-span",3,"label","errors"],["formControlName","description",3,"readonly"],["locationId","product-detail",3,"entity$","detailForm"],[3,"change","assets","featuredAsset","updatePermissions"],[3,"title","paddingX"],[4,"ngIf","ngIfElse"],["class","mx-3",4,"ngIf"],[1,"btn","btn-primary",3,"click","disabled"],["class","btn btn-primary",3,"disabled","click",4,"vdrIfPermissions"],["type","checkbox","clrToggle","","name","enabled",3,"formControl"],[3,"title",4,"vdrIfMultichannel"],[4,"vdrIfDefaultChannelActive"],[1,"flex","channel-assignment"],[1,"mb-2"],[4,"ngFor","ngForOf"],[1,"button-small",3,"click"],["shape","layers"],["icon","times-circle",3,"iconClick",4,"ngIf"],["icon","times-circle",3,"iconClick"],[3,"channelCode"],[1,"options"],[3,"colorFrom","invert",4,"ngFor","ngForOf"],["class","button-small mt-2",3,"routerLink",4,"vdrIfPermissions"],[3,"colorFrom","invert"],[1,"button-small","mt-2",3,"routerLink"],["shape","pencil"],[3,"remove","facetValue","removable"],[1,"button-small","mt-2",3,"click"],["shape","plus"],[3,"entity"],["clrCheckbox","","type","checkbox","id","auto-update","formControlName","autoUpdateVariantNames"],["entityName","Product",3,"customFields","customFieldsFormGroup","readonly"],[3,"variantsChange"],["dataTableId","product-detail-variants-list",3,"productId","hideLanguageSelect"],[1,"mx-3"],[1,"button",3,"routerLink"],["shape","add-text"]],template:function(n,i){if(n&1){let r=D();c(0,"vdr-page-block")(1,"vdr-action-bar")(2,"vdr-ab-left"),h(3,"div",2),c(4,"vdr-language-selector",3),s(5,"async"),s(6,"async"),s(7,"async"),C("languageCodeChange",function(_){return b(r),y(i.setLanguage(_))}),p()(),c(8,"vdr-ab-right"),h(9,"vdr-action-bar-items",4),g(10,jm,3,4,"button",5),s(11,"async"),g(12,qm,1,1,"ng-template",null,0,Q),h(14,"vdr-action-bar-dropdown-menu",4),p()()(),c(15,"form",6)(16,"vdr-page-detail-layout")(17,"vdr-page-detail-sidebar")(18,"vdr-card")(19,"vdr-form-field",7),s(20,"translate"),g(21,Hm,5,5,"clr-toggle-wrapper",8),p()(),g(22,Zm,2,0,"ng-container",9),s(23,"async"),g(24,eu,7,8,"vdr-card",10),c(25,"vdr-card",11),s(26,"translate"),c(27,"div",12),g(28,tu,2,4,"vdr-facet-value-chip",13),s(29,"async"),p(),c(30,"div"),g(31,iu,4,3,"button",14),p()(),g(32,nu,2,1,"vdr-card",9),s(33,"async"),p(),c(34,"vdr-page-block"),h(35,"button",15),c(36,"vdr-card")(37,"div",16)(38,"div")(39,"vdr-form-field",17),s(40,"translate"),c(41,"input",18),s(42,"hasPermission"),C("input",function(_){return b(r),y(i.updateSlug(_.target.value))}),p()(),g(43,ou,6,3,"div",9),s(44,"async"),p(),c(45,"vdr-form-field",19),s(46,"translate"),s(47,"translate"),h(48,"input",20),s(49,"hasPermission"),p(),c(50,"vdr-form-field",21),s(51,"translate"),s(52,"translate"),h(53,"vdr-rich-text-editor",22),s(54,"hasPermission"),p()()(),g(55,au,4,8,"vdr-card",10),h(56,"vdr-custom-detail-component-host",23),c(57,"vdr-card",11),s(58,"translate"),c(59,"vdr-assets",24),C("change",function(_){return b(r),y(i.assetChanges=_)}),p()(),c(60,"vdr-card",25),s(61,"translate"),s(62,"async"),g(63,ru,2,0,"div",26),s(64,"async"),g(65,lu,1,2,"ng-template",null,1,Q)(67,su,5,5,"div",27),s(68,"async"),p()()()()}if(n&2){let r,m=U(13),_=U(66);o(4),a("disabled",d(5,35,i.isNew$))("availableLanguageCodes",d(6,37,i.availableLanguages$))("currentLanguageCode",d(7,39,i.languageCode$)),o(6),a("ngIf",d(11,41,i.isNew$))("ngIfElse",m),o(5),a("formGroup",i.detailForm),o(4),a("label",d(20,43,"catalog.visibility")),o(2),a("vdrIfPermissions",i.updatePermissions),o(),a("ngIf",!d(23,45,i.isNew$)),o(2),a("ngIf",i.entity==null?null:i.entity.optionGroups.length),o(),a("title",d(26,47,"catalog.facets")),o(3),a("ngForOf",d(29,49,i.facetValues$)),o(3),a("vdrIfPermissions",i.updatePermissions),o(),a("ngIf",d(33,51,i.entity$)),o(7),a("label",d(40,53,"catalog.product-name")),o(2),a("readonly",!d(42,55,i.updatePermissions)),o(2),a("ngIf",d(44,57,i.isNew$)===!1&&((r=i.detailForm.get(W(81,Lm)))==null?null:r.dirty)),o(2),a("label",d(46,59,"catalog.slug"))("errors",j(82,cl,d(47,61,"catalog.slug-pattern-error"))),o(3),a("readonly",!d(49,63,i.updatePermissions)),o(2),a("label",d(51,65,"common.description"))("errors",j(84,cl,d(52,67,"catalog.slug-pattern-error"))),o(3),a("readonly",!d(54,69,i.updatePermissions)),o(2),a("ngIf",i.customFields.length),o(),a("entity$",i.entity$)("detailForm",i.detailForm),o(),a("title",d(58,71,"catalog.assets")),o(2),a("assets",i.assetChanges.assets||(i.entity==null?null:i.entity.assets))("featuredAsset",i.assetChanges.featuredAsset||(i.entity==null?null:i.entity.featuredAsset))("updatePermissions",i.updatePermissions),o(),a("title",d(61,73,"catalog.product-variants"))("paddingX",d(62,75,i.isNew$)),o(3),a("ngIf",d(64,77,i.isNew$))("ngIfElse",_),o(4),a("ngIf",d(68,79,i.isNew$)===!1)}},dependencies:[J,Ee,ye,tt,$,A,mt,ie,Ge,Z,ve,Pt,Ce,be,Se,Te,Pe,Ie,Be,Oi,Ve,Yt,me,K,Vi,Re,bn,xe,fa,ke,ba,qa,ut,ei,de,Dt,zt,Zt,gt,so,On,G,R,Ti,qe,Cn],styles:[`[_nghost-%COMP%] trix-toolbar{top:24px}.facets[_ngcontent-%COMP%], .options[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:3px}vdr-action-bar[_ngcontent-%COMP%] clr-toggle-wrapper[_ngcontent-%COMP%]{margin-top:12px}.variant-filter[_ngcontent-%COMP%]{flex:1;display:flex}.variant-filter[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{flex:1;max-width:initial;border-radius:3px 0 0 3px!important}.variant-filter[_ngcontent-%COMP%] .icon-button[_ngcontent-%COMP%]{border:1px solid var(--color-component-border-300);background-color:var(--color-component-bg-100);border-radius:0 3px 3px 0;border-inline-start:none}.group-name[_ngcontent-%COMP%]{padding-inline-end:6px}.view-mode[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:space-between}@media screen and (min-width: 768px){.view-mode[_ngcontent-%COMP%]{flex-direction:row}}.edit-variants-btn[_ngcontent-%COMP%]{margin-top:0}.channel-assignment[_ngcontent-%COMP%]{flex-wrap:wrap;min-height:24px}.pagination-row[_ngcontent-%COMP%]{display:flex;align-items:baseline;justify-content:space-between}
|
|
135
|
+
/*# sourceMappingURL=product-detail.component-7HOXQQ44.css.map */`],changeDetection:0})}}return e})();var Vn=se(Jt());var fl={location:"product-list",label:"common.delete",icon:"trash",iconClass:"is-danger",requiresPermission:e=>e.includes(V.DeleteProduct)||e.includes(V.DeleteCatalog),onClick:({injector:e,selection:l,hostComponent:t,clearSelection:n})=>{let i=e.get(te),r=e.get(k),m=e.get(Y);i.dialog({title:"catalog.confirm-bulk-delete-products",translationVars:{count:l.length},buttons:[{type:"secondary",label:"common.cancel"},{type:"danger",label:"common.delete",returnValue:!0}]}).pipe(B(_=>_?r.product.deleteProducts((0,Vn.unique)(l.map(x=>x.id))):le)).subscribe(_=>{let x=0,I=[];for(let S of _.deleteProducts)S.result===Xe.DELETED?x++:S.message&&I.push(S.message);0<x&&m.success("catalog.notify-bulk-delete-products-success",{count:x}),0<I.length&&m.error(I.join(`
|
|
136
|
+
`)),t.refresh(),n()})}},hl={location:"product-list",label:"common.assign-to-channel",icon:"layers",requiresPermission:e=>e.includes(V.UpdateCatalog)||e.includes(V.UpdateProduct),isVisible:({injector:e})=>xn(e.get(k)),onClick:({injector:e,selection:l,clearSelection:t})=>{e.get(te).fromComponent(di,{size:"lg",locals:{productIds:(0,Vn.unique)(l.map(i=>i.id)),currentChannelIds:[]}}).subscribe(i=>{i&&t()})}},vl=ni({location:"product-list",requiresPermission:e=>e.includes(V.UpdateCatalog)||e.includes(V.UpdateProduct),getItemName:e=>e.name,bulkRemoveFromChannel:(e,l,t)=>e.product.removeProductsFromChannel({channelId:t,productIds:l}).pipe(F(n=>n.removeProductsFromChannel))}),Cl={location:"product-list",label:"catalog.edit-facet-values",icon:"tag",requiresPermission:e=>e.includes(V.UpdateCatalog)||e.includes(V.UpdateProduct),onClick:({injector:e,selection:l,hostComponent:t,clearSelection:n})=>{let i=e.get(te),r=e.get(Y),m="product",_=(0,Vn.unique)(l.map(x=>x.id));return i.fromComponent(Qi,{size:"xl",locals:{mode:m,ids:_}}).subscribe(x=>{x&&(r.success("common.notify-bulk-update-success",{count:l.length,entity:m==="product"?"Products":"ProductVariants"}),n())})}},bl={location:"product-list",label:"common.duplicate",icon:"copy",onClick:({injector:e,selection:l,hostComponent:t,clearSelection:n})=>{e.get(te).fromComponent(ki,{locals:{entities:l,entityName:"Product",title:"catalog.duplicate-products",getEntityName:r=>r.name}}).subscribe(r=>{r&&(n(),t.refresh())})}};var cu=()=>["CreateCatalog","CreateProduct"],pu=()=>["./create"],du=e=>["./",e],mu=e=>({count:e});function uu(e,l){e&1&&(c(0,"a",19),h(1,"clr-icon",20),f(2),s(3,"translate"),p()),e&2&&(a("routerLink",W(4,pu)),o(2),v(" ",d(3,2,"catalog.create-new-product")," "))}function gu(e,l){if(e&1&&f(0),e&2){let t=l.item;v(" ",t.id," ")}}function _u(e,l){if(e&1&&(f(0),s(1,"localeDate")),e&2){let t=l.item;v(" ",O(1,1,t.createdAt,"short")," ")}}function fu(e,l){if(e&1&&(f(0),s(1,"localeDate")),e&2){let t=l.item;v(" ",O(1,1,t.updatedAt,"short")," ")}}function hu(e,l){if(e&1&&(h(0,"img",23),s(1,"assetPreview")),e&2){let t=l.ngIf;a("src",O(1,1,t,"tiny"),vi)}}function vu(e,l){e&1&&(c(0,"div",24),h(1,"clr-icon",25),p())}function Cu(e,l){if(e&1&&(c(0,"div",21),g(1,hu,2,4,"img",22)(2,vu,2,0,"ng-template",null,0,Q),p()),e&2){let t=l.item,n=U(3);o(),a("ngIf",t.featuredAsset)("ngIfElse",n)}}function bu(e,l){if(e&1&&(c(0,"a",26)(1,"span"),f(2),p(),h(3,"clr-icon",27),p()),e&2){let t=l.item;a("routerLink",j(2,du,t.id)),o(2),T(t.name)}}function yu(e,l){if(e&1&&f(0),e&2){let t=l.item;v(" ",t.slug," ")}}function xu(e,l){e&1&&(c(0,"vdr-chip",30),f(1),s(2,"translate"),p()),e&2&&(o(),T(d(2,1,"common.enabled")))}function Pu(e,l){e&1&&(c(0,"vdr-chip",31),f(1),s(2,"translate"),p()),e&2&&(o(),T(d(2,1,"common.disabled")))}function Iu(e,l){if(e&1&&g(0,xu,3,3,"vdr-chip",28)(1,Pu,3,3,"vdr-chip",29),e&2){let t=l.item;a("ngIf",t.enabled),o(),a("ngIf",!t.enabled)}}function Tu(e,l){if(e&1&&(f(0),s(1,"translate")),e&2){let t=l.item;v(" ",O(1,1,"catalog.variant-count",j(4,mu,t.variantList==null?null:t.variantList.totalItems))," ")}}function Du(e,l){if(e&1&&h(0,"vdr-dt2-custom-field-column",32),e&2){let t=l.$implicit,n=u();a("customField",t)("sorts",n.sorts)}}var yl=(()=>{class e extends ii{constructor(t,n,i,r){super(),this.dataService=t,this.modalService=n,this.notificationService=i,this.jobQueueService=r,this.pendingSearchIndexUpdates=0,this.dataTableListId="product-list",this.pageLocationId="product-list",this.customFields=this.getCustomFieldConfig("Product"),this.filters=this.createFilterCollection().addIdFilter().addDateFilters().addFilters([{name:"enabled",type:{kind:"boolean"},label:"common.enabled",filterField:"enabled"},{name:"slug",type:{kind:"text"},label:"common.slug",filterField:"slug"}]).addFilter({name:"facetValues",type:{kind:"custom",component:Pa,serializeValue:m=>m.map(_=>_.id).join(","),deserializeValue:m=>m.split(",").map(_=>({id:_})),getLabel:m=>m.length===0?"":m[0].name?m.map(_=>_.name).join(", "):Zi(this.dataService.facet.getFacetValues({filter:{id:{in:m.map(_=>_.id)}}}).mapSingle(({facetValues:_})=>_.items.map(x=>x.name).join(", ")))},label:"catalog.facet-values",toFilterInput:m=>({facetValueId:{in:m.map(_=>_.id)}})}).addCustomFieldFilters(this.customFields).connectToRoute(this.route),this.sorts=this.createSortCollection().defaultSort("createdAt","DESC").addSorts([{name:"id"},{name:"createdAt"},{name:"updatedAt"},{name:"name"},{name:"slug"}]).addCustomFieldSorts(this.customFields).connectToRoute(this.route),this.configure({document:Go,getItems:m=>m.products,setVariables:(m,_)=>{let x=this.searchTermControl.value,I=this.filters.createFilterInput();return x&&(I={name:{contains:x},sku:{contains:x}}),{options:{skip:m,take:_,filter:X({},I??{}),filterOperator:x?mi.OR:mi.AND,sort:this.sorts.createSortInput()}}},refreshListOnChanges:[this.sorts.valueChanges,this.filters.valueChanges]})}rebuildSearchIndex(){this.dataService.product.reindex().subscribe(({reindex:t})=>{this.notificationService.info("catalog.reindexing"),this.jobQueueService.addJob(t.id,n=>{if(n.state===wo.COMPLETED){let i=new Intl.NumberFormat().format(n.duration||0);this.notificationService.success("catalog.reindex-successful",{count:n.result.indexedItemCount,time:i}),this.refresh()}else this.notificationService.error("catalog.reindex-error")})})}deleteProduct(t){this.modalService.dialog({title:"catalog.confirm-delete-product",buttons:[{type:"secondary",label:"common.cancel"},{type:"danger",label:"common.delete",returnValue:!0}]}).pipe(B(n=>n?this.dataService.product.deleteProduct(t):le),vo(500)).subscribe(()=>{this.notificationService.success("common.notify-delete-success",{entity:"Product"}),this.refresh()},n=>{this.notificationService.error("common.notify-delete-error",{entity:"Product"})})}static{this.\u0275fac=function(n){return new(n||e)(P(k),P(te),P(Y),P(ha))}}static{this.\u0275cmp=E({type:e,selectors:[["vdr-products-list"]],standalone:!1,features:[ce],decls:47,vars:69,consts:[["imagePlaceholder",""],[3,"languageCodeChange","availableLanguageCodes","currentLanguageCode"],[3,"locationId"],["class","button primary mr-1",3,"routerLink",4,"vdrIfPermissions"],[3,"alwaysShow","locationId"],["type","button","vdrDropdownItem","",3,"click"],["shape","refresh",1,""],[1,"mt-2",3,"pageChange","itemsPerPageChange","visibleColumnsChange","id","items","itemsPerPage","totalItems","currentPage","filters"],[3,"locationId","hostComponent","selectionManager"],[3,"searchTermControl","searchTermPlaceholder"],["id","id",3,"heading","hiddenByDefault","sort"],["id","created-at",3,"heading","hiddenByDefault","sort"],["id","updated-at",3,"heading","hiddenByDefault","sort"],["id","image",3,"heading"],["id","name",3,"heading","optional","sort"],["id","slug",3,"heading","sort"],["id","enabled",3,"heading"],["id","number-of-variants",3,"heading"],[3,"customField","sorts",4,"ngFor","ngForOf"],[1,"button","primary","mr-1",3,"routerLink"],["shape","plus"],[1,"image-placeholder"],[3,"src",4,"ngIf","ngIfElse"],[3,"src"],[1,"placeholder"],["shape","image","size","48"],[1,"button-ghost",3,"routerLink"],["shape","arrow right"],["colorType","success",4,"ngIf"],["colorType","warning",4,"ngIf"],["colorType","success"],["colorType","warning"],[3,"customField","sorts"]],template:function(n,i){n&1&&(c(0,"vdr-page-block")(1,"vdr-action-bar")(2,"vdr-ab-left")(3,"vdr-language-selector",1),s(4,"async"),s(5,"async"),C("languageCodeChange",function(m){return i.setLanguage(m)}),p()(),c(6,"vdr-ab-right"),h(7,"vdr-action-bar-items",2),g(8,uu,4,5,"a",3),c(9,"vdr-action-bar-dropdown-menu",4)(10,"button",5),C("click",function(){return i.rebuildSearchIndex()}),h(11,"clr-icon",6),f(12),s(13,"translate"),p()()()()(),c(14,"vdr-data-table-2",7),s(15,"async"),s(16,"async"),s(17,"async"),s(18,"async"),C("pageChange",function(m){return i.setPageNumber(m)})("itemsPerPageChange",function(m){return i.setItemsPerPage(m)})("visibleColumnsChange",function(m){return i.setVisibleColumns(m)}),h(19,"vdr-bulk-action-menu",8)(20,"vdr-dt2-search",9),s(21,"translate"),c(22,"vdr-dt2-column",10),s(23,"translate"),g(24,gu,1,1,"ng-template"),p(),c(25,"vdr-dt2-column",11),s(26,"translate"),g(27,_u,2,4,"ng-template"),p(),c(28,"vdr-dt2-column",12),s(29,"translate"),g(30,fu,2,4,"ng-template"),p(),c(31,"vdr-dt2-column",13),s(32,"translate"),g(33,Cu,4,2,"ng-template"),p(),c(34,"vdr-dt2-column",14),s(35,"translate"),g(36,bu,4,4,"ng-template"),p(),c(37,"vdr-dt2-column",15),s(38,"translate"),g(39,yu,1,1,"ng-template"),p(),c(40,"vdr-dt2-column",16),s(41,"translate"),g(42,Iu,2,2,"ng-template"),p(),c(43,"vdr-dt2-column",17),s(44,"translate"),g(45,Tu,2,6,"ng-template"),p(),g(46,Du,1,2,"vdr-dt2-custom-field-column",18),p()),n&2&&(o(3),a("availableLanguageCodes",d(4,36,i.availableLanguages$))("currentLanguageCode",d(5,38,i.contentLanguage$)),o(4),a("locationId",i.pageLocationId),o(),a("vdrIfPermissions",W(68,cu)),o(),a("alwaysShow",!0)("locationId",i.pageLocationId),o(3),v(" ",d(13,40,"catalog.rebuild-search-index")," "),o(2),a("id",i.dataTableListId)("items",d(15,42,i.items$))("itemsPerPage",d(16,44,i.itemsPerPage$))("totalItems",d(17,46,i.totalItems$))("currentPage",d(18,48,i.currentPage$))("filters",i.filters),o(5),a("locationId",i.dataTableListId)("hostComponent",i)("selectionManager",i.selectionManager),o(),a("searchTermControl",i.searchTermControl)("searchTermPlaceholder",d(21,50,"settings.search-by-product-name-or-sku")),o(2),a("heading",d(23,52,"common.id"))("hiddenByDefault",!0)("sort",i.sorts.get("id")),o(3),a("heading",d(26,54,"common.created-at"))("hiddenByDefault",!0)("sort",i.sorts.get("createdAt")),o(3),a("heading",d(29,56,"common.updated-at"))("hiddenByDefault",!0)("sort",i.sorts.get("updatedAt")),o(3),a("heading",d(32,58,"common.image")),o(3),a("heading",d(35,60,"catalog.name"))("optional",!1)("sort",i.sorts.get("name")),o(3),a("heading",d(38,62,"common.slug"))("sort",i.sorts.get("slug")),o(3),a("heading",d(41,64,"common.enabled")),o(3),a("heading",d(44,66,"catalog.number-of-variants")),o(3),a("ngForOf",i.customFields))},dependencies:[J,$,A,Se,Te,Pe,Ie,Be,Ve,Re,It,xe,ke,Xt,ot,He,nt,ti,de,G,R,Ei,it],styles:[`.image-col[_ngcontent-%COMP%]{width:70px}.image-placeholder[_ngcontent-%COMP%]{width:50px;height:50px;margin-top:calc(var(--space-unit) * -1);margin-bottom:calc(var(--space-unit) * -1);background-color:var(--color-component-bg-200)}.image-placeholder[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{border-radius:var(--border-radius-img)}.image-placeholder[_ngcontent-%COMP%] .placeholder[_ngcontent-%COMP%]{text-align:center;color:var(--color-grey-300)}.search-form[_ngcontent-%COMP%]{display:flex;align-items:center;width:100%}vdr-product-search-input[_ngcontent-%COMP%]{min-width:300px}@media screen and (max-width: 768px){vdr-product-search-input[_ngcontent-%COMP%]{min-width:100px}}.search-settings-menu[_ngcontent-%COMP%]{margin:0 12px}td.disabled[_ngcontent-%COMP%]{background-color:var(--color-component-bg-200)}.search-index-button[_ngcontent-%COMP%]{position:relative}.search-index-button[_ngcontent-%COMP%] vdr-status-badge[_ngcontent-%COMP%]{right:0;top:0}.run-updates-button[_ngcontent-%COMP%]{position:relative}.run-updates-button[_ngcontent-%COMP%] vdr-status-badge[_ngcontent-%COMP%]{left:10px;top:10px}.edit-button[_ngcontent-%COMP%]{margin-inline-end:24px}.sku[_ngcontent-%COMP%]{color:var(--color-text-300)}
|
|
137
|
+
/*# sourceMappingURL=product-list.component-OMFT2F2D.css.map */`]})}}return e})();var xl=se(Rl()),Pl=se(Jt());var Fu=e=>({rate:e}),Su=(e,l)=>({price:e,rate:l});function Eu(e,l){if(e&1&&(c(0,"div",2),f(1),s(2,"async"),s(3,"translate"),p()),e&2){let t=u();o(),v(" ",O(3,3,"catalog.price-includes-tax-at",j(6,Fu,d(2,1,t.taxRate$))),`
|
|
138
138
|
`)}}function Ou(e,l){if(e&1&&(c(0,"div",2),f(1),s(2,"async"),s(3,"localeCurrency"),s(4,"async"),s(5,"translate"),p()),e&2){let t=u();o(),v(" ",O(5,8,"catalog.price-with-tax-in-default-zone",Rt(11,Su,O(3,3,d(2,1,t.grossPrice$),t.currencyCode),d(4,6,t.taxRate$))),`
|
|
139
|
-
`)}}var co=(()=>{class e{constructor(t){this.dataService=t,this.priceChange$=new
|
|
139
|
+
`)}}var co=(()=>{class e{constructor(t){this.dataService=t,this.priceChange$=new Ae(0),this.taxCategoryIdChange$=new Ae("")}ngOnInit(){let t=this.dataService.settings.getTaxRatesSimple(999,0,"cache-first").mapStream(i=>i.taxRates.items),n=this.dataService.settings.getActiveChannel("cache-first").refetchOnChannelChange().mapStream(i=>i.activeChannel);this.taxRate$=ee(n,t,this.taxCategoryIdChange$).pipe(F(([i,r,m])=>{let _=i.defaultTaxZone;if(!_)return 0;let x=r.find(I=>I.zone.id===_.id&&I.category.id===m);return x?x.value:0})),this.grossPrice$=ee(this.taxRate$,this.priceChange$).pipe(F(([i,r])=>Math.round(r*((100+i)/100))))}ngOnChanges(t){"price"in t&&this.priceChange$.next(t.price.currentValue),"taxCategoryId"in t&&this.taxCategoryIdChange$.next(t.taxCategoryId.currentValue)}static{this.\u0275fac=function(n){return new(n||e)(P(k))}}static{this.\u0275cmp=E({type:e,selectors:[["vdr-variant-price-detail"]],inputs:{priceIncludesTax:"priceIncludesTax",price:"price",currencyCode:"currencyCode",taxCategoryId:"taxCategoryId"},standalone:!1,features:[yt],decls:5,vars:5,consts:[[1,"clr-control-label"],["class","value",4,"ngIf"],[1,"value"]],template:function(n,i){n&1&&(c(0,"label",0),f(1),s(2,"translate"),p(),g(3,Eu,4,8,"div",1)(4,Ou,6,14,"div",1)),n&2&&(o(),T(d(2,3,"catalog.taxes")),o(2),a("ngIf",i.priceIncludesTax),o(),a("ngIf",!i.priceIncludesTax))},dependencies:[Ee,A,G,R,Tt],styles:[`[_nghost-%COMP%]{display:flex;flex-direction:column}.value[_ngcontent-%COMP%]{margin-top:3px}
|
|
140
140
|
/*# sourceMappingURL=variant-price-detail.component-SBPWJ2ID.css.map */`],changeDetection:0})}}return e})();function ku(e,l){if(e&1&&(c(0,"div",1),h(1,"vdr-form-item",2),s(2,"translate"),s(3,"translate"),c(4,"div",3)(5,"vdr-form-item",4),s(6,"translate"),f(7),s(8,"localeCurrency"),p(),c(9,"vdr-form-item",4),s(10,"translate"),f(11),s(12,"localeCurrency"),p()()()),e&2){let t=u();o(),a("label",d(2,6,"catalog.calculated-price"))("tooltip",d(3,8,"catalog.calculated-price-tooltip")),o(4),a("label",d(6,10,"common.price")),o(2),v(" ",O(8,12,t.variant.price,t.variant.currencyCode)," "),o(2),a("label",d(10,15,"common.price-with-tax")),o(2),v(" ",O(12,17,t.variant.priceWithTax,t.variant.currencyCode)," ")}}var po=(()=>{class e{calculatedPriceDiffersFromInputPrice(){let t=this.variant.prices.find(n=>n.currencyCode===this.channelDefaultCurrencyCode)??this.variant.prices[0];return t?this.channelPriceIncludesTax?this.variant.priceWithTax!==t.price:this.variant.price!==t.price:!1}static{this.\u0275fac=function(n){return new(n||e)}}static{this.\u0275cmp=E({type:e,selectors:[["vdr-variant-price-strategy-detail"]],inputs:{channelPriceIncludesTax:"channelPriceIncludesTax",variant:"variant",channelDefaultCurrencyCode:"channelDefaultCurrencyCode"},standalone:!1,decls:1,vars:1,consts:[["class","price-strategy-detail",4,"ngIf"],[1,"price-strategy-detail"],["for","price",3,"label","tooltip"],[1,"form-grid","mt-2"],[3,"label"]],template:function(n,i){n&1&&g(0,ku,13,20,"div",0),n&2&&a("ngIf",i.calculatedPriceDiffersFromInputPrice())},dependencies:[A,Vi,R,Tt],styles:[`[_nghost-%COMP%]{display:block}.price-strategy-detail[_ngcontent-%COMP%]{margin-top:calc(var(--space-unit) * 2);padding-top:calc(var(--space-unit) * 2);border-top:1px solid var(--color-weight-150)}
|
|
141
|
-
/*# sourceMappingURL=variant-price-strategy-detail.component-VJEMH5YJ.css.map */`],changeDetection:0})}}return e})();function Bu(e,l){if(e&1&&f(0),e&2){let t=l.item;
|
|
141
|
+
/*# sourceMappingURL=variant-price-strategy-detail.component-VJEMH5YJ.css.map */`],changeDetection:0})}}return e})();function Bu(e,l){if(e&1&&f(0),e&2){let t=l.item;Nt(" ",t.name," (",t.sku,") ")}}function Au(e,l){if(e&1){let t=D();c(0,"ng-select",1),s(1,"async"),s(2,"translate"),$e("ngModelChange",function(i){b(t);let r=u();return Ue(r.selectedVariantId,i)||(r.selectedVariantId=i),y(i)}),C("change",function(i){b(t);let r=u();return y(r.onSelect(i))}),g(3,Bu,1,2,"ng-template",2),p()}if(e&2){let t=u();a("items",d(1,5,t.variants$)),Le("ngModel",t.selectedVariantId),a("searchFn",t.searchFn)("clearable",!1)("placeholder",d(2,7,"catalog.quick-jump-placeholder"))}}var i1=ne`
|
|
142
142
|
query GetProductVariantsQuickJump($id: ID!) {
|
|
143
143
|
product(id: $id) {
|
|
144
144
|
id
|
|
@@ -149,10 +149,10 @@ import{a as ni}from"./chunk-MZFFGCAS.js";import{$ as Io,$c as sn,$d as Pi,$e as
|
|
|
149
149
|
}
|
|
150
150
|
}
|
|
151
151
|
}
|
|
152
|
-
`,mo=(()=>{class e{constructor(t,n){this.dataService=t,this.router=n,this.searchFn=(i,r)=>r.name.toLowerCase().includes(i.toLowerCase())||r.sku.toLowerCase().includes(i.toLowerCase())}ngOnInit(){this.variants$=this.dataService.query(Ho,{id:this.productId}).mapStream(t=>t.product?.variants??[])}onSelect(t){t&&this.router.navigate(["catalog","products",this.productId,"variants",t.id]).then(()=>this.selectedVariantId=void 0)}static{this.\u0275fac=function(n){return new(n||e)(P(k),P(dt))}}static{this.\u0275cmp=E({type:e,selectors:[["vdr-product-variant-quick-jump"]],inputs:{productId:"productId"},standalone:!1,decls:2,vars:3,consts:[["appendTo","body","bindValue","id",3,"items","ngModel","searchFn","clearable","placeholder","ngModelChange","change",4,"ngIf"],["appendTo","body","bindValue","id",3,"ngModelChange","change","items","ngModel","searchFn","clearable","placeholder"],["ng-option-tmp",""]],template:function(n,i){if(n&1&&(g(0,Au,4,9,"ng-select",0),s(1,"async")),n&2){let r;a("ngIf",((r=d(1,1,i.variants$))==null?null:r.length)>1)}},dependencies:[A,Z,et,Ii,ga,G,R],encapsulation:2,changeDetection:0})}}return e})();var uo=()=>["UpdateCatalog","UpdateProduct"],Mu=()=>["enabled"],Nu=()=>["../../","options"],Lu=()=>["customFields"];function Uu(e,l){if(e&1){let t=D();c(0,"vdr-language-selector",8),s(1,"async"),s(2,"async"),C("languageCodeChange",function(i){b(t);let r=u(2);return y(r.setLanguage(i))}),p()}if(e&2){let t=u().ngIf,n=u();a("disabled",d(1,3,n.isNew$))("availableLanguageCodes",t)("currentLanguageCode",d(2,5,n.languageCode$))}}function $u(e,l){if(e&1&&(M(0),g(1,Uu,3,7,"vdr-language-selector",7),N()),e&2){let t=l.ngIf;o(),a("ngIf",t.length>1)}}function Gu(e,l){if(e&1){let t=D();c(0,"button",9),C("click",function(){b(t);let i=u();return y(i.save())}),f(1),s(2,"translate"),p()}if(e&2){let t=u();a("disabled",(t.detailForm.invalid||t.stockLevelsForm.invalid||t.pricesForm.invalid||t.detailForm.pristine&&t.stockLevelsForm.pristine&&t.pricesForm.pristine)&&!t.assetsChanged()),o(),v(" ",d(2,2,"common.update")," ")}}function ju(e,l){if(e&1&&(c(0,"clr-toggle-wrapper"),h(1,"input",39),c(2,"label"),f(3),s(4,"translate"),p()()),e&2){let t=u(2);o(),a("formControl",t.detailForm.get(W(4,Mu))),o(2),T(d(4,2,"common.enabled"))}}function Wu(e,l){if(e&1&&(c(0,"vdr-chip",43)(1,"span"),f(2),p(),f(3),p()),e&2){let t=l.$implicit,n=u(3);a("colorFrom",n.optionGroupCode(t.groupId))("invert",!0),o(2),v("",n.optionGroupCode(t.groupId),":"),o(),v(" ",n.optionName(t)," ")}}function qu(e,l){e&1&&(c(0,"a",44),h(1,"clr-icon",45),f(2),s(3,"translate"),p()),e&2&&(a("routerLink",W(4,Nu)),o(2),v(" ",d(3,2,"catalog.edit-options")," "))}function Hu(e,l){if(e&1&&(c(0,"vdr-card",14),s(1,"translate"),c(2,"div",40),g(3,Wu,4,4,"vdr-chip",41),s(4,"sort"),p(),c(5,"div"),g(6,qu,4,5,"a",42),p()()),e&2){let t=u().ngIf,n=u();a("title",d(1,3,"catalog.product-options")),o(3),a("ngForOf",O(4,5,t.options,"groupId")),o(3),a("vdrIfPermissions",n.updatePermissions)}}function Qu(e,l){if(e&1){let t=D();c(0,"vdr-facet-value-chip",46),s(1,"hasPermission"),C("remove",function(){let i=b(t).$implicit,r=u(2);return y(r.removeFacetValue(i.id))}),p()}if(e&2){let t=l.$implicit,n=u(2);a("facetValue",t)("removable",d(1,2,n.updatePermissions))}}function Yu(e,l){if(e&1){let t=D();c(0,"button",47),C("click",function(){b(t);let i=u(2);return y(i.selectFacetValue())}),h(1,"clr-icon",48),f(2),s(3,"translate"),p()}e&2&&(o(2),v(" ",d(3,1,"catalog.add-facets")," "))}function Ku(e,l){if(e&1&&h(0,"vdr-page-entity-info",49),e&2){let t=l.ngIf;a("entity",t)}}function zu(e,l){if(e&1&&(c(0,"vdr-card",14),s(1,"translate"),h(2,"vdr-tabbed-custom-fields",50),s(3,"hasPermission"),p()),e&2){let t=u(2);a("title",d(1,4,"common.custom-fields")),o(2),a("customFields",t.customFields)("customFieldsFormGroup",t.detailForm.get("customFields"))("readonly",!d(3,6,t.updatePermissions))}}function Zu(e,l){if(e&1&&(c(0,"option",34),f(1),p()),e&2){let t=l.$implicit;a("value",t.id),o(),v(" ",t.name," ")}}function Ju(e,l){if(e&1){let t=D();c(0,"div")(1,"button",57),C("click",function(){b(t);let i=u().$implicit,r=u(2);return y(r.toggleDeletePrice(i.get("delete")))}),h(2,"clr-icon",58),p()()}if(e&2){let t=u().$implicit,n=u(2);o(),a("disabled",t.value.currencyCode===n.channelDefaultCurrencyCode)}}function Xu(e,l){if(e&1&&(c(0,"div",59)(1,"div",60)(2,"span",61),f(3),s(4,"translate"),p()(),h(5,"vdr-tabbed-custom-fields",62),s(6,"hasPermission"),p()),e&2){let t=u().$implicit,n=u(2);o(3),T(d(4,4,"common.custom-fields")),o(2),a("customFields",n.customPriceFields)("customFieldsFormGroup",t.get(W(8,Lu)))("readonly",!d(6,6,n.updatePermissions))}}function e0(e,l){if(e&1&&(c(0,"div",51)(1,"vdr-form-field",52),s(2,"translate"),s(3,"translate"),c(4,"div",53),h(5,"vdr-currency-input",54),s(6,"hasPermission"),g(7,Ju,3,1,"div",2),p()(),h(8,"vdr-variant-price-detail",55),s(9,"async"),g(10,Xu,7,9,"div",56),p()),e&2){let t=l.$implicit,n=u(2);a("formGroup",t),o(),a("label",d(2,13,"catalog.price")+(1<n.pricesForm.length?" ("+t.value.currencyCode+")":""))("tooltip",1<n.pricesForm.length&&t.value.currencyCode===n.channelDefaultCurrencyCode?d(3,15,"catalog.default-currency"):void 0),o(3),w("pending-deletion",t.value.delete===!0),o(),a("currencyCode",t.value.currencyCode)("readonly",!d(6,17,n.updatePermissions)||t.value.delete===!0),o(2),a("ngIf",1<n.pricesForm.controls.length),o(),a("price",t.value.price)("currencyCode",t.value.currencyCode)("priceIncludesTax",d(9,19,n.channelPriceIncludesTax$))("taxCategoryId",n.detailForm.get("taxCategoryId").value),o(2),a("ngIf",n.customPriceFields.length)}}function t0(e,l){if(e&1){let t=D();c(0,"button",66),C("click",function(){let i=b(t).$implicit,r=u(4);return y(r.addPriceInCurrency(i))}),f(1),s(2,"localeCurrencyName"),p()}if(e&2){let t=l.$implicit;o(),v(" ",d(2,1,t)," ")}}function i0(e,l){if(e&1&&(c(0,"div")(1,"vdr-dropdown")(2,"button",63),h(3,"clr-icon",48),f(4),s(5,"translate"),h(6,"clr-icon",64),p(),c(7,"vdr-dropdown-menu"),g(8,t0,3,3,"button",65),p()()()),e&2){let t=u().ngIf;o(4),v(" ",d(5,2,"catalog.add-price-in-another-currency")," "),o(4),a("ngForOf",t)}}function n0(e,l){if(e&1&&(M(0),g(1,i0,9,4,"div",2),N()),e&2){let t=l.ngIf;o(),a("ngIf",t.length)}}function o0(e,l){if(e&1&&(c(0,"div",67)(1,"vdr-form-field",68),s(2,"translate"),h(3,"input",69),s(4,"hasPermission"),p(),c(5,"vdr-form-item",70),s(6,"translate"),f(7),p()()),e&2){let t,n,i,r,m,_=l.$implicit,x=u(2);a("formGroup",_),o(),a("label",((t=_.get("stockLocationName"))==null?null:t.value)+": "+d(2,7,"catalog.stock-on-hand"))("for","stockOnHand_"+((n=_.get("stockLocationId"))==null?null:n.value)),o(2),a("id","stockOnHand_"+((i=_.get("stockLocationId"))==null?null:i.value))("readonly",!d(4,9,x.updatePermissions)),o(2),a("label",((r=_.get("stockLocationName"))==null?null:r.value)+": "+d(6,11,"catalog.stock-allocated")),o(2),v(" ",(m=_.get("stockAllocated"))==null?null:m.value," ")}}function a0(e,l){if(e&1){let t=D();c(0,"button",66),C("click",function(){let i=b(t).$implicit,r=u(4);return y(r.addStockLocation(i))}),h(1,"clr-icon",71),f(2),p()}if(e&2){let t=l.$implicit;o(2),v(" ",t.name," ")}}function r0(e,l){if(e&1&&(c(0,"div")(1,"vdr-dropdown")(2,"button",63),h(3,"clr-icon",48),f(4),s(5,"translate"),h(6,"clr-icon",64),p(),c(7,"vdr-dropdown-menu"),g(8,a0,3,1,"button",65),p()()()),e&2){let t=u().ngIf;o(4),v(" ",d(5,2,"catalog.add-stock-location")," "),o(4),a("ngForOf",t)}}function l0(e,l){if(e&1&&(M(0),g(1,r0,9,4,"div",2),N()),e&2){let t=l.ngIf;o(),a("ngIf",t.length)}}function s0(e,l){if(e&1){let t=D();c(0,"form",10)(1,"vdr-page-detail-layout")(2,"vdr-page-detail-sidebar")(3,"vdr-card")(4,"vdr-form-field",11),s(5,"translate"),g(6,ju,5,5,"clr-toggle-wrapper",12),p()(),g(7,Hu,7,8,"vdr-card",13),c(8,"vdr-card",14),s(9,"translate"),c(10,"div",15),g(11,Qu,2,4,"vdr-facet-value-chip",16),s(12,"async"),p(),c(13,"div"),g(14,Yu,4,3,"button",17),p()(),c(15,"vdr-card"),g(16,Ku,1,1,"vdr-page-entity-info",18),s(17,"async"),p()(),c(18,"vdr-page-block"),h(19,"button",19),c(20,"vdr-card")(21,"div",20)(22,"vdr-form-field",21),s(23,"translate"),h(24,"input",22),s(25,"hasPermission"),p(),c(26,"vdr-form-field",23),s(27,"translate"),h(28,"input",24),s(29,"hasPermission"),p()()(),g(30,zu,4,8,"vdr-card",13),h(31,"vdr-custom-detail-component-host",25),c(32,"vdr-card",14),s(33,"translate"),c(34,"vdr-assets",26),C("change",function(i){b(t);let r=u();return y(r.assetChanges=i)}),p()(),c(35,"vdr-card",14),s(36,"translate"),c(37,"div",20)(38,"vdr-form-field",27),s(39,"translate"),c(40,"select",28),g(41,Zu,2,2,"option",29),s(42,"async"),p()()(),g(43,e0,11,21,"div",30),h(44,"vdr-variant-price-strategy-detail",31),s(45,"async"),g(46,n0,2,1,"ng-container",2),s(47,"async"),p(),c(48,"vdr-card",14),s(49,"translate"),c(50,"div",20)(51,"vdr-form-field",32),s(52,"translate"),s(53,"translate"),c(54,"select",33),s(55,"hasPermission"),c(56,"option",34),f(57),s(58,"translate"),p(),c(59,"option",34),f(60),s(61,"translate"),p(),c(62,"option",34),f(63),s(64,"translate"),p()()(),c(65,"vdr-form-item",35),s(66,"translate"),s(67,"translate"),h(68,"input",36),s(69,"hasPermission"),c(70,"clr-toggle-wrapper"),h(71,"input",37),s(72,"hasPermission"),c(73,"label"),f(74),s(75,"translate"),p()()()(),g(76,o0,8,13,"div",38)(77,l0,2,1,"ng-container",2),s(78,"async"),p()()()()}if(e&2){let t,n=l.ngIf,i=u();a("formGroup",i.detailForm),o(4),a("label",d(5,46,"catalog.visibility")),o(2),a("vdrIfPermissions",W(100,uo)),o(),a("ngIf",n.options.length),o(),a("title",d(9,48,"catalog.facets")),o(3),a("ngForOf",d(12,50,i.facetValues$)),o(3),a("vdrIfPermissions",i.updatePermissions),o(2),a("ngIf",d(17,52,i.entity$)),o(6),a("label",d(23,54,"common.name")),o(2),a("readonly",!d(25,56,W(101,uo))),o(2),a("label",d(27,58,"catalog.sku")),o(2),a("readonly",!d(29,60,i.updatePermissions)),o(2),a("ngIf",i.customFields.length),o(),a("entity$",i.entity$)("detailForm",i.detailForm),o(),a("title",d(33,62,"catalog.assets")),o(2),a("assets",i.assetChanges.assets||n.assets)("featuredAsset",i.assetChanges.featuredAsset||n.featuredAsset)("updatePermissions",i.updatePermissions),o(),a("title",d(36,64,"catalog.price-and-tax")),o(3),a("label",d(39,66,"catalog.tax-category")),o(3),a("ngForOf",d(42,68,i.taxCategories$)),o(2),a("ngForOf",i.pricesForm.controls),o(),a("channelPriceIncludesTax",d(45,70,i.channelPriceIncludesTax$))("channelDefaultCurrencyCode",i.channelDefaultCurrencyCode)("variant",n),o(2),a("ngIf",d(47,72,i.unusedCurrencyCodes$)),o(2),a("title",d(49,74,"catalog.stock-levels")),o(3),a("label",d(52,76,"catalog.track-inventory"))("tooltip",d(53,78,"catalog.track-inventory-tooltip")),o(3),a("disabled",!d(55,80,i.updatePermissions)),o(2),a("value",i.GlobalFlag.TRUE),o(),v(" ",d(58,82,"catalog.track-inventory-true")," "),o(2),a("value",i.GlobalFlag.FALSE),o(),v(" ",d(61,84,"catalog.track-inventory-false")," "),o(2),a("value",i.GlobalFlag.INHERIT),o(),v(" ",d(64,86,"catalog.track-inventory-inherit")," "),o(2),a("label",d(66,88,"catalog.out-of-stock-threshold"))("tooltip",d(67,90,"catalog.out-of-stock-threshold-tooltip")),o(3),a("readonly",!d(69,92,i.updatePermissions))("vdrDisabled",((t=i.detailForm.get("useGlobalOutOfStockThreshold"))==null?null:t.value)!==!1||i.inventoryIsNotTracked(i.detailForm)),o(3),a("vdrDisabled",!d(72,94,i.updatePermissions)||i.inventoryIsNotTracked(i.detailForm)),o(3),Mt("",d(75,96,"catalog.use-global-value")," (",i.globalOutOfStockThreshold,")"),o(2),a("ngForOf",i.stockLevelsForm.controls),o(),a("ngIf",d(78,98,i.unusedStockLocation$))}}var Il=(()=>{class e extends St{constructor(t,n,i,r,m,_){super(),this.productDetailService=t,this.formBuilder=n,this.modalService=i,this.notificationService=r,this.dataService=m,this.changeDetector=_,this.updatePermissions=[V.UpdateCatalog,V.UpdateProduct],this.customFields=this.getCustomFieldConfig("ProductVariant"),this.customPriceFields=this.getCustomFieldConfig("ProductVariantPrice"),this.customOptionFields=this.getCustomFieldConfig("ProductOption"),this.detailForm=this.formBuilder.group({id:"",enabled:!1,sku:"",name:"",taxCategoryId:"",stockOnHand:0,useGlobalOutOfStockThreshold:!0,outOfStockThreshold:0,trackInventory:Gi.TRUE,facetValueIds:[],customFields:this.formBuilder.group(_t(this.customFields))}),this.stockLevelsForm=this.formBuilder.array([]),this.pricesForm=this.formBuilder.array([]),this.assetChanges={},this.GlobalFlag=Gi}ngOnInit(){this.init(),this.dataService.settings.getGlobalSettings("cache-first").single$.subscribe(({globalSettings:m})=>{this.globalTrackInventory=m.trackInventory,this.globalOutOfStockThreshold=m.outOfStockThreshold,this.changeDetector.markForCheck()}),this.taxCategories$=this.result$.pipe(F(m=>m.taxCategories.items));let t=this.result$.pipe(ze(m=>this.channelDefaultCurrencyCode=m.activeChannel.defaultCurrencyCode),F(m=>m.activeChannel.availableCurrencyCodes));this.unusedCurrencyCodes$=ee(this.pricesForm.valueChanges,t).pipe(F(([m,_])=>_.filter(x=>!m.map(I=>I.currencyCode).includes(x))));let n=this.result$.pipe(F(m=>m.stockLocations.items));this.unusedStockLocation$=ee(this.entity$,n).pipe(F(([m,_])=>{let x=m.stockLevels.map(I=>I.stockLocation.id);return _.filter(I=>!x.includes(I.id))})),this.channelPriceIncludesTax$=this.dataService.settings.getActiveChannel("cache-first").refetchOnChannelChange().mapStream(m=>m.activeChannel.pricesIncludeTax).pipe(Ot(1)),this.stockLevels$=this.entity$.pipe(F(m=>m?.stockLevels??[]));let i=this.entity$.pipe(F(m=>m.facetValues??[])),r=this.detailForm.get("facetValueIds").valueChanges.pipe(Co(1),Ie(),B(m=>this.dataService.facet.getFacetValues({filter:{id:{in:m}}}).mapSingle(({facetValues:_})=>_.items)),Ot(1));this.facetValues$=Ji(i.pipe(lt(1)),i.pipe(bo(r)))}ngOnDestroy(){this.destroy()}addPriceInCurrency(t){this.pricesForm.push(this.formBuilder.group({currencyCode:t,price:0,delete:!1,customFields:this.formBuilder.group(_t(this.customPriceFields))}))}toggleDeletePrice(t){t.setValue(!t.value),t.markAsDirty()}addStockLocation(t){this.stockLevelsForm.push(this.formBuilder.group({stockLocationId:t.id,stockLocationName:t.name,stockOnHand:0,stockAllocated:0}))}save(){ee(this.entity$,this.languageCode$).pipe(lt(1),we(([t,n])=>{let i=(0,xl.pick)(this.getUpdatedVariant(t,this.detailForm,n),["id","enabled","translations","sku","taxCategoryId","facetValueIds","featuredAssetId","assetIds","trackInventory","outOfStockThreshold","useGlobalOutOfStockThreshold","customFields"]);return this.stockLevelsForm.dirty&&(i.stockLevels=this.stockLevelsForm.controls.filter(r=>r.dirty).map(r=>({stockLocationId:r.value.stockLocationId,stockOnHand:r.value.stockOnHand}))),this.pricesForm.dirty&&(i.prices=this.pricesForm.controls.filter(r=>r.dirty).map(r=>({price:r.value.price,currencyCode:r.value.currencyCode,delete:r.value.delete===!0,customFields:r.get("customFields")?.value}))),this.dataService.mutate(Wo,{input:[i]})})).subscribe(t=>{this.detailForm.markAsPristine(),this.stockLevelsForm.markAsPristine(),this.pricesForm.markAsPristine(),this.assetChanges={},this.notificationService.success("common.notify-update-success",{entity:"ProductVariant"}),this.changeDetector.markForCheck()},t=>{this.notificationService.error("common.notify-update-error",{entity:"ProductVariant"})})}assetsChanged(){return!!Object.values(this.assetChanges).length}inventoryIsNotTracked(t){let n=t.get("trackInventory")?.value;return n===Gi.FALSE||n===Gi.INHERIT&&this.globalTrackInventory===!1}optionGroupCode(t){return this.entity?.product.optionGroups.find(i=>i.id===t)?.code}optionName(t){return(t.translations.find(i=>i.languageCode===this.languageCode)??t.translations[0]).name}removeFacetValue(t){let n=this.detailForm.controls.facetValueIds,i=n.value??[];n.setValue(i.filter(r=>r!==t)),n.markAsDirty()}selectFacetValue(){this.displayFacetValueModal().subscribe(t=>{if(t){let n=this.detailForm.controls.facetValueIds,i=n.value??[];n.setValue((0,Pl.unique)([...i,...t])),n.markAsDirty()}})}displayFacetValueModal(){return this.modalService.fromComponent(Hi,{size:"md",closable:!0}).pipe(F(t=>t&&t.map(n=>n.id)))}setFormValues(t,n){let i=ue(t,n),r=t.facetValues.map(m=>m.id);this.detailForm.patchValue({id:t.id,enabled:t.enabled,sku:t.sku,name:i?i.name:"",taxCategoryId:t.taxCategory.id,stockOnHand:t.stockLevels[0]?.stockOnHand??0,useGlobalOutOfStockThreshold:t.useGlobalOutOfStockThreshold,outOfStockThreshold:t.outOfStockThreshold,trackInventory:t.trackInventory,facetValueIds:r}),this.stockLevelsForm.clear();for(let m of t.stockLevels)this.stockLevelsForm.push(this.formBuilder.group({stockLocationId:m.stockLocation.id,stockLocationName:m.stockLocation.name,stockOnHand:m.stockOnHand,stockAllocated:m.stockAllocated}));this.pricesForm.clear();for(let m of t.prices){let _=this.formBuilder.group({price:m.price,currencyCode:m.currencyCode,delete:!1,customFields:this.formBuilder.group(_t(this.customPriceFields))});this.customPriceFields.length&&this.setCustomFieldFormValues(this.customPriceFields,_.get(["customFields"]),m),this.pricesForm.push(_)}this.customFields.length&&this.setCustomFieldFormValues(this.customFields,this.detailForm.get("customFields"),t,i)}getUpdatedVariant(t,n,i){let r=at({translatable:t,updatedFields:n.value,customFieldConfig:this.customFields,languageCode:i,defaultTranslation:{languageCode:i,name:t.name||""}});return fe(X({},r),{assetIds:this.assetChanges.assets?.map(m=>m.id),featuredAssetId:this.assetChanges.featuredAsset?.id,facetValueIds:n.controls.facetValueIds.dirty?n.value.facetValueIds:void 0,taxCategoryId:n.controls.taxCategoryId.dirty?n.value.taxCategoryId:void 0})}static{this.\u0275fac=function(n){return new(n||e)(P(oi),P($e),P(te),P(Y),P(k),P(pe))}}static{this.\u0275cmp=E({type:e,selectors:[["vdr-product-variant-detail"]],standalone:!1,features:[ce],decls:13,vars:10,consts:[[3,"grow"],[1,"flex","center"],[4,"ngIf"],[3,"productId"],["locationId","product-variant-detail"],["class","btn btn-primary",3,"disabled","click",4,"vdrIfPermissions"],["class","form",3,"formGroup",4,"ngIf"],["class","mr-2",3,"disabled","availableLanguageCodes","currentLanguageCode","languageCodeChange",4,"ngIf"],[1,"mr-2",3,"languageCodeChange","disabled","availableLanguageCodes","currentLanguageCode"],[1,"btn","btn-primary",3,"click","disabled"],[1,"form",3,"formGroup"],["for","visibility",3,"label"],[4,"vdrIfPermissions"],[3,"title",4,"ngIf"],[3,"title"],[1,"facets"],[3,"facetValue","removable","remove",4,"ngFor","ngForOf"],["class","button-small mt-2",3,"click",4,"vdrIfPermissions"],[3,"entity",4,"ngIf"],["type","submit","hidden","","x-data","prevents enter key from triggering other buttons"],[1,"form-grid"],["for","name",3,"label"],["id","name","type","text","formControlName","name",3,"readonly"],["for","sku",3,"label"],["id","sku","type","text","formControlName","sku",3,"readonly"],["locationId","product-variant-detail",3,"entity$","detailForm"],[3,"change","assets","featuredAsset","updatePermissions"],["for","taxCategory",3,"label"],["name","taxCategory","formControlName","taxCategoryId"],[3,"value",4,"ngFor","ngForOf"],["class","form-grid prices",3,"formGroup",4,"ngFor","ngForOf"],[3,"channelPriceIncludesTax","channelDefaultCurrencyCode","variant"],["for","track-inventory",3,"label","tooltip"],["name","track-inventory","formControlName","trackInventory",3,"disabled"],[3,"value"],[3,"label","tooltip"],["type","number","formControlName","outOfStockThreshold",3,"readonly","vdrDisabled"],["type","checkbox","clrToggle","","name","useGlobalOutOfStockThreshold","formControlName","useGlobalOutOfStockThreshold",3,"vdrDisabled"],["class","form-grid stock-levels",3,"formGroup",4,"ngFor","ngForOf"],["type","checkbox","clrToggle","","name","enabled",3,"formControl"],[1,"options"],[3,"colorFrom","invert",4,"ngFor","ngForOf"],["class","button-small mt-2",3,"routerLink",4,"vdrIfPermissions"],[3,"colorFrom","invert"],[1,"button-small","mt-2",3,"routerLink"],["shape","pencil"],[3,"remove","facetValue","removable"],[1,"button-small","mt-2",3,"click"],["shape","plus"],[3,"entity"],["entityName","ProductVariant",3,"customFields","customFieldsFormGroup","readonly"],[1,"form-grid","prices",3,"formGroup"],["for","price",3,"label","tooltip"],[1,"price-wrapper"],["name","price","formControlName","price",3,"currencyCode","readonly"],[3,"price","currencyCode","priceIncludesTax","taxCategoryId"],["class","form-grid-span",4,"ngIf"],[1,"button-small","delete-button",3,"click","disabled"],["shape","trash"],[1,"form-grid-span"],[1,"title-row"],[1,"title"],["entityName","ProductVariantPrice",3,"customFields","customFieldsFormGroup","readonly"],["vdrDropdownTrigger","",1,"button","mt-2"],["shape","ellipsis-vertical"],["vdrDropdownItem","",3,"click",4,"ngFor","ngForOf"],["vdrDropdownItem","",3,"click"],[1,"form-grid","stock-levels",3,"formGroup"],[3,"label","for"],["type","number","formControlName","stockOnHand",3,"id","readonly"],[3,"label"],["shape","map-marker"]],template:function(n,i){n&1&&(c(0,"vdr-page-block")(1,"vdr-action-bar")(2,"vdr-ab-left",0)(3,"div",1),g(4,$u,2,1,"ng-container",2),s(5,"async"),h(6,"vdr-product-variant-quick-jump",3),p()(),c(7,"vdr-ab-right"),h(8,"vdr-action-bar-items",4),g(9,Gu,3,4,"button",5),h(10,"vdr-action-bar-dropdown-menu",4),p()()(),g(11,s0,79,102,"form",6),s(12,"async")),n&2&&(o(2),a("grow",!0),o(2),a("ngIf",d(5,5,i.availableLanguages$)),o(2),a("productId",i.entity==null?null:i.entity.product.id),o(3),a("vdrIfPermissions",W(9,uo)),o(2),a("ngIf",d(12,7,i.entity$)))},dependencies:[J,De,ye,tt,$,A,mt,pn,dn,ie,Lt,Ue,cn,Z,ve,Pt,Ce,be,Te,Ve,Ee,Oe,He,Oi,Se,Ht,Qt,me,K,Vi,ke,Gt,jt,Wt,It,xe,We,qt,ut,Xt,de,Dt,Kt,zt,gt,co,po,mo,G,R,_a,Ti,je],styles:[`.facets[_ngcontent-%COMP%], .options[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:3px}vdr-product-variant-quick-jump[_ngcontent-%COMP%]{flex:1;margin-inline-end:calc(var(--space-unit) * 2)}.stock-levels[_ngcontent-%COMP%], .prices[_ngcontent-%COMP%]{margin-top:calc(var(--space-unit) * 2);padding-top:calc(var(--space-unit) * 2);border-top:1px solid var(--color-weight-150)}.price-wrapper[_ngcontent-%COMP%]{display:flex;align-items:center;gap:var(--space-unit);width:100%}.price-wrapper.pending-deletion[_ngcontent-%COMP%] vdr-currency-input[_ngcontent-%COMP%]{opacity:.7}.price-wrapper.pending-deletion[_ngcontent-%COMP%] .delete-button[_ngcontent-%COMP%]{background-color:var(--color-error-700);color:var(--color-error-100)}.title-row[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center}.title[_ngcontent-%COMP%]{font-size:var(--font-size-base)}
|
|
153
|
-
/*# sourceMappingURL=product-variant-detail.component-C3IWHDW6.css.map */`],changeDetection:0})}}return e})();var kn=se(
|
|
154
|
-
`)),t.refresh(),n()})}},Sl={location:"product-variant-list",label:"catalog.edit-facet-values",icon:"tag",requiresPermission:e=>e.includes(V.UpdateCatalog)||e.includes(V.UpdateProduct),onClick:({injector:e,selection:l,clearSelection:t})=>{let n=e.get(te),i=e.get(Y),r="variant",m=(0,kn.unique)(l.map(_=>_.id));return n.fromComponent(Qi,{size:"xl",locals:{mode:r,ids:m}}).subscribe(_=>{_&&(i.success("common.notify-bulk-update-success",{count:l.length,entity:r==="variant"?"Products":"ProductVariants"}),t())})}};function c0(e,l){if(e&1&&(M(0),c(1,"th"),f(2),p(),N()),e&2){let t=l.$implicit;o(2),T(t.name)}}function p0(e,l){if(e&1&&(h(0,"img",18),s(1,"assetPreview")),e&2){let t=l.ngIf;a("src",O(1,1,t,"tiny"),vi)}}function d0(e,l){e&1&&(c(0,"div",19),h(1,"clr-icon",20),p())}function m0(e,l){if(e&1&&(M(0),c(1,"td",6),s(2,"stringToColor"),f(3),p(),N()),e&2){let t=l.$implicit,n=u().ngIf,i=u(2);o(),Fo("color",d(2,5,i.optionGroupName(t.groupId))),w("disabled",!n.get("enabled").value),o(2),v(" ",t.name," ")}}function u0(e,l){if(e&1&&(h(0,"vdr-currency-input",21),s(1,"hasPermission")),e&2){let t=u(2).$implicit,n=u();a("currencyCode",t.currencyCode)("readonly",!d(1,2,n.updatePermission))}}function g0(e,l){if(e&1&&(h(0,"vdr-currency-input",22),s(1,"hasPermission")),e&2){let t=u(2).$implicit,n=u();a("currencyCode",t.currencyCode)("readonly",!d(1,2,n.updatePermission))}}function _0(e,l){if(e&1&&(M(0,5),c(1,"td",6)(2,"div",7)(3,"div",8),g(4,p0,2,4,"img",9)(5,d0,2,0,"ng-template",null,0,Q),p()()(),c(7,"td",6)(8,"clr-input-container"),h(9,"input",10),s(10,"hasPermission"),s(11,"translate"),p()(),c(12,"td",6)(13,"clr-input-container"),h(14,"input",11),s(15,"hasPermission"),s(16,"translate"),p()(),g(17,m0,4,7,"ng-container",2),s(18,"sort"),c(19,"td",12)(20,"clr-input-container"),g(21,u0,2,4,"vdr-currency-input",13)(22,g0,2,4,"vdr-currency-input",14),p()(),c(23,"td",15)(24,"clr-input-container"),h(25,"input",16),s(26,"hasPermission"),p()(),c(27,"td",15)(28,"clr-toggle-wrapper"),h(29,"input",17),s(30,"hasPermission"),p()(),N()),e&2){let t=l.ngIf,n=U(6),i=u().$implicit,r=u();a("formGroup",t),o(),w("disabled",!t.get("enabled").value),o(3),a("ngIf",r.getFeaturedAsset(i))("ngIfElse",n),o(3),w("disabled",!t.get("enabled").value),o(2),a("readonly",!d(10,24,r.updatePermission))("placeholder",d(11,26,"common.name")),o(3),w("disabled",!t.get("enabled").value),o(2),a("readonly",!d(15,28,r.updatePermission))("placeholder",d(16,30,"catalog.sku")),o(3),a("ngForOf",O(18,32,i.options,"groupId")),o(2),w("disabled",!t.get("enabled").value),o(2),a("ngIf",!r.channelPriceIncludesTax),o(),a("ngIf",r.channelPriceIncludesTax),o(),w("disabled",!t.get("enabled").value),o(2),a("readonly",!d(26,35,r.updatePermission)),o(2),w("disabled",!t.get("enabled").value),o(2),a("vdrDisabled",!d(30,37,r.updatePermission))}}function f0(e,l){if(e&1&&(c(0,"tr"),g(1,_0,31,39,"ng-container",4),p()),e&2){let t=l.$implicit,n=u();o(),a("ngIf",n.formGroupMap.get(t.id))}}var h0=(()=>{class e{constructor(t){this.changeDetector=t,this.formGroupMap=new Map,this.updatePermission=[V.UpdateCatalog,V.UpdateProduct]}ngOnInit(){this.subscription=this.formArray.valueChanges.pipe(F(t=>t.length),rt(1),
|
|
155
|
-
/*# sourceMappingURL=product-variants-table.component-K4FFCTKO.css.map */`],changeDetection:0})}}return e})();var El=se(
|
|
152
|
+
`,mo=(()=>{class e{constructor(t,n){this.dataService=t,this.router=n,this.searchFn=(i,r)=>r.name.toLowerCase().includes(i.toLowerCase())||r.sku.toLowerCase().includes(i.toLowerCase())}ngOnInit(){this.variants$=this.dataService.query(Ho,{id:this.productId}).mapStream(t=>t.product?.variants??[])}onSelect(t){t&&this.router.navigate(["catalog","products",this.productId,"variants",t.id]).then(()=>this.selectedVariantId=void 0)}static{this.\u0275fac=function(n){return new(n||e)(P(k),P(dt))}}static{this.\u0275cmp=E({type:e,selectors:[["vdr-product-variant-quick-jump"]],inputs:{productId:"productId"},standalone:!1,decls:2,vars:3,consts:[["appendTo","body","bindValue","id",3,"items","ngModel","searchFn","clearable","placeholder","ngModelChange","change",4,"ngIf"],["appendTo","body","bindValue","id",3,"ngModelChange","change","items","ngModel","searchFn","clearable","placeholder"],["ng-option-tmp",""]],template:function(n,i){if(n&1&&(g(0,Au,4,9,"ng-select",0),s(1,"async")),n&2){let r;a("ngIf",((r=d(1,1,i.variants$))==null?null:r.length)>1)}},dependencies:[A,Z,et,Ii,ga,G,R],encapsulation:2,changeDetection:0})}}return e})();var uo=()=>["UpdateCatalog","UpdateProduct"],Mu=()=>["enabled"],Nu=()=>["../../","options"],Lu=()=>["customFields"];function Uu(e,l){if(e&1){let t=D();c(0,"vdr-language-selector",8),s(1,"async"),s(2,"async"),C("languageCodeChange",function(i){b(t);let r=u(2);return y(r.setLanguage(i))}),p()}if(e&2){let t=u().ngIf,n=u();a("disabled",d(1,3,n.isNew$))("availableLanguageCodes",t)("currentLanguageCode",d(2,5,n.languageCode$))}}function $u(e,l){if(e&1&&(M(0),g(1,Uu,3,7,"vdr-language-selector",7),N()),e&2){let t=l.ngIf;o(),a("ngIf",t.length>1)}}function Gu(e,l){if(e&1){let t=D();c(0,"button",9),C("click",function(){b(t);let i=u();return y(i.save())}),f(1),s(2,"translate"),p()}if(e&2){let t=u();a("disabled",(t.detailForm.invalid||t.stockLevelsForm.invalid||t.pricesForm.invalid||t.detailForm.pristine&&t.stockLevelsForm.pristine&&t.pricesForm.pristine)&&!t.assetsChanged()),o(),v(" ",d(2,2,"common.update")," ")}}function ju(e,l){if(e&1&&(c(0,"clr-toggle-wrapper"),h(1,"input",39),c(2,"label"),f(3),s(4,"translate"),p()()),e&2){let t=u(2);o(),a("formControl",t.detailForm.get(W(4,Mu))),o(2),T(d(4,2,"common.enabled"))}}function Wu(e,l){if(e&1&&(c(0,"vdr-chip",43)(1,"span"),f(2),p(),f(3),p()),e&2){let t=l.$implicit,n=u(3);a("colorFrom",n.optionGroupCode(t.groupId))("invert",!0),o(2),v("",n.optionGroupCode(t.groupId),":"),o(),v(" ",n.optionName(t)," ")}}function qu(e,l){e&1&&(c(0,"a",44),h(1,"clr-icon",45),f(2),s(3,"translate"),p()),e&2&&(a("routerLink",W(4,Nu)),o(2),v(" ",d(3,2,"catalog.edit-options")," "))}function Hu(e,l){if(e&1&&(c(0,"vdr-card",14),s(1,"translate"),c(2,"div",40),g(3,Wu,4,4,"vdr-chip",41),s(4,"sort"),p(),c(5,"div"),g(6,qu,4,5,"a",42),p()()),e&2){let t=u().ngIf,n=u();a("title",d(1,3,"catalog.product-options")),o(3),a("ngForOf",O(4,5,t.options,"groupId")),o(3),a("vdrIfPermissions",n.updatePermissions)}}function Qu(e,l){if(e&1){let t=D();c(0,"vdr-facet-value-chip",46),s(1,"hasPermission"),C("remove",function(){let i=b(t).$implicit,r=u(2);return y(r.removeFacetValue(i.id))}),p()}if(e&2){let t=l.$implicit,n=u(2);a("facetValue",t)("removable",d(1,2,n.updatePermissions))}}function Yu(e,l){if(e&1){let t=D();c(0,"button",47),C("click",function(){b(t);let i=u(2);return y(i.selectFacetValue())}),h(1,"clr-icon",48),f(2),s(3,"translate"),p()}e&2&&(o(2),v(" ",d(3,1,"catalog.add-facets")," "))}function Ku(e,l){if(e&1&&h(0,"vdr-page-entity-info",49),e&2){let t=l.ngIf;a("entity",t)}}function zu(e,l){if(e&1&&(c(0,"vdr-card",14),s(1,"translate"),h(2,"vdr-tabbed-custom-fields",50),s(3,"hasPermission"),p()),e&2){let t=u(2);a("title",d(1,4,"common.custom-fields")),o(2),a("customFields",t.customFields)("customFieldsFormGroup",t.detailForm.get("customFields"))("readonly",!d(3,6,t.updatePermissions))}}function Zu(e,l){if(e&1&&(c(0,"option",34),f(1),p()),e&2){let t=l.$implicit;a("value",t.id),o(),v(" ",t.name," ")}}function Ju(e,l){if(e&1){let t=D();c(0,"div")(1,"button",57),C("click",function(){b(t);let i=u().$implicit,r=u(2);return y(r.toggleDeletePrice(i.get("delete")))}),h(2,"clr-icon",58),p()()}if(e&2){let t=u().$implicit,n=u(2);o(),a("disabled",t.value.currencyCode===n.channelDefaultCurrencyCode)}}function Xu(e,l){if(e&1&&(c(0,"div",59)(1,"div",60)(2,"span",61),f(3),s(4,"translate"),p()(),h(5,"vdr-tabbed-custom-fields",62),s(6,"hasPermission"),p()),e&2){let t=u().$implicit,n=u(2);o(3),T(d(4,4,"common.custom-fields")),o(2),a("customFields",n.customPriceFields)("customFieldsFormGroup",t.get(W(8,Lu)))("readonly",!d(6,6,n.updatePermissions))}}function e0(e,l){if(e&1&&(c(0,"div",51)(1,"vdr-form-field",52),s(2,"translate"),s(3,"translate"),c(4,"div",53),h(5,"vdr-currency-input",54),s(6,"hasPermission"),g(7,Ju,3,1,"div",2),p()(),h(8,"vdr-variant-price-detail",55),s(9,"async"),g(10,Xu,7,9,"div",56),p()),e&2){let t=l.$implicit,n=u(2);a("formGroup",t),o(),a("label",d(2,13,"catalog.price")+(1<n.pricesForm.length?" ("+t.value.currencyCode+")":""))("tooltip",1<n.pricesForm.length&&t.value.currencyCode===n.channelDefaultCurrencyCode?d(3,15,"catalog.default-currency"):void 0),o(3),w("pending-deletion",t.value.delete===!0),o(),a("currencyCode",t.value.currencyCode)("readonly",!d(6,17,n.updatePermissions)||t.value.delete===!0),o(2),a("ngIf",1<n.pricesForm.controls.length),o(),a("price",t.value.price)("currencyCode",t.value.currencyCode)("priceIncludesTax",d(9,19,n.channelPriceIncludesTax$))("taxCategoryId",n.detailForm.get("taxCategoryId").value),o(2),a("ngIf",n.customPriceFields.length)}}function t0(e,l){if(e&1){let t=D();c(0,"button",66),C("click",function(){let i=b(t).$implicit,r=u(4);return y(r.addPriceInCurrency(i))}),f(1),s(2,"localeCurrencyName"),p()}if(e&2){let t=l.$implicit;o(),v(" ",d(2,1,t)," ")}}function i0(e,l){if(e&1&&(c(0,"div")(1,"vdr-dropdown")(2,"button",63),h(3,"clr-icon",48),f(4),s(5,"translate"),h(6,"clr-icon",64),p(),c(7,"vdr-dropdown-menu"),g(8,t0,3,3,"button",65),p()()()),e&2){let t=u().ngIf;o(4),v(" ",d(5,2,"catalog.add-price-in-another-currency")," "),o(4),a("ngForOf",t)}}function n0(e,l){if(e&1&&(M(0),g(1,i0,9,4,"div",2),N()),e&2){let t=l.ngIf;o(),a("ngIf",t.length)}}function o0(e,l){if(e&1&&(c(0,"div",67)(1,"vdr-form-field",68),s(2,"translate"),h(3,"input",69),s(4,"hasPermission"),p(),c(5,"vdr-form-item",70),s(6,"translate"),f(7),p()()),e&2){let t,n,i,r,m,_=l.$implicit,x=u(2);a("formGroup",_),o(),a("label",((t=_.get("stockLocationName"))==null?null:t.value)+": "+d(2,7,"catalog.stock-on-hand"))("for","stockOnHand_"+((n=_.get("stockLocationId"))==null?null:n.value)),o(2),a("id","stockOnHand_"+((i=_.get("stockLocationId"))==null?null:i.value))("readonly",!d(4,9,x.updatePermissions)),o(2),a("label",((r=_.get("stockLocationName"))==null?null:r.value)+": "+d(6,11,"catalog.stock-allocated")),o(2),v(" ",(m=_.get("stockAllocated"))==null?null:m.value," ")}}function a0(e,l){if(e&1){let t=D();c(0,"button",66),C("click",function(){let i=b(t).$implicit,r=u(4);return y(r.addStockLocation(i))}),h(1,"clr-icon",71),f(2),p()}if(e&2){let t=l.$implicit;o(2),v(" ",t.name," ")}}function r0(e,l){if(e&1&&(c(0,"div")(1,"vdr-dropdown")(2,"button",63),h(3,"clr-icon",48),f(4),s(5,"translate"),h(6,"clr-icon",64),p(),c(7,"vdr-dropdown-menu"),g(8,a0,3,1,"button",65),p()()()),e&2){let t=u().ngIf;o(4),v(" ",d(5,2,"catalog.add-stock-location")," "),o(4),a("ngForOf",t)}}function l0(e,l){if(e&1&&(M(0),g(1,r0,9,4,"div",2),N()),e&2){let t=l.ngIf;o(),a("ngIf",t.length)}}function s0(e,l){if(e&1){let t=D();c(0,"form",10)(1,"vdr-page-detail-layout")(2,"vdr-page-detail-sidebar")(3,"vdr-card")(4,"vdr-form-field",11),s(5,"translate"),g(6,ju,5,5,"clr-toggle-wrapper",12),p()(),g(7,Hu,7,8,"vdr-card",13),c(8,"vdr-card",14),s(9,"translate"),c(10,"div",15),g(11,Qu,2,4,"vdr-facet-value-chip",16),s(12,"async"),p(),c(13,"div"),g(14,Yu,4,3,"button",17),p()(),c(15,"vdr-card"),g(16,Ku,1,1,"vdr-page-entity-info",18),s(17,"async"),p()(),c(18,"vdr-page-block"),h(19,"button",19),c(20,"vdr-card")(21,"div",20)(22,"vdr-form-field",21),s(23,"translate"),h(24,"input",22),s(25,"hasPermission"),p(),c(26,"vdr-form-field",23),s(27,"translate"),h(28,"input",24),s(29,"hasPermission"),p()()(),g(30,zu,4,8,"vdr-card",13),h(31,"vdr-custom-detail-component-host",25),c(32,"vdr-card",14),s(33,"translate"),c(34,"vdr-assets",26),C("change",function(i){b(t);let r=u();return y(r.assetChanges=i)}),p()(),c(35,"vdr-card",14),s(36,"translate"),c(37,"div",20)(38,"vdr-form-field",27),s(39,"translate"),c(40,"select",28),g(41,Zu,2,2,"option",29),s(42,"async"),p()()(),g(43,e0,11,21,"div",30),h(44,"vdr-variant-price-strategy-detail",31),s(45,"async"),g(46,n0,2,1,"ng-container",2),s(47,"async"),p(),c(48,"vdr-card",14),s(49,"translate"),c(50,"div",20)(51,"vdr-form-field",32),s(52,"translate"),s(53,"translate"),c(54,"select",33),s(55,"hasPermission"),c(56,"option",34),f(57),s(58,"translate"),p(),c(59,"option",34),f(60),s(61,"translate"),p(),c(62,"option",34),f(63),s(64,"translate"),p()()(),c(65,"vdr-form-item",35),s(66,"translate"),s(67,"translate"),h(68,"input",36),s(69,"hasPermission"),c(70,"clr-toggle-wrapper"),h(71,"input",37),s(72,"hasPermission"),c(73,"label"),f(74),s(75,"translate"),p()()()(),g(76,o0,8,13,"div",38)(77,l0,2,1,"ng-container",2),s(78,"async"),p()()()()}if(e&2){let t,n=l.ngIf,i=u();a("formGroup",i.detailForm),o(4),a("label",d(5,46,"catalog.visibility")),o(2),a("vdrIfPermissions",W(100,uo)),o(),a("ngIf",n.options.length),o(),a("title",d(9,48,"catalog.facets")),o(3),a("ngForOf",d(12,50,i.facetValues$)),o(3),a("vdrIfPermissions",i.updatePermissions),o(2),a("ngIf",d(17,52,i.entity$)),o(6),a("label",d(23,54,"common.name")),o(2),a("readonly",!d(25,56,W(101,uo))),o(2),a("label",d(27,58,"catalog.sku")),o(2),a("readonly",!d(29,60,i.updatePermissions)),o(2),a("ngIf",i.customFields.length),o(),a("entity$",i.entity$)("detailForm",i.detailForm),o(),a("title",d(33,62,"catalog.assets")),o(2),a("assets",i.assetChanges.assets||n.assets)("featuredAsset",i.assetChanges.featuredAsset||n.featuredAsset)("updatePermissions",i.updatePermissions),o(),a("title",d(36,64,"catalog.price-and-tax")),o(3),a("label",d(39,66,"catalog.tax-category")),o(3),a("ngForOf",d(42,68,i.taxCategories$)),o(2),a("ngForOf",i.pricesForm.controls),o(),a("channelPriceIncludesTax",d(45,70,i.channelPriceIncludesTax$))("channelDefaultCurrencyCode",i.channelDefaultCurrencyCode)("variant",n),o(2),a("ngIf",d(47,72,i.unusedCurrencyCodes$)),o(2),a("title",d(49,74,"catalog.stock-levels")),o(3),a("label",d(52,76,"catalog.track-inventory"))("tooltip",d(53,78,"catalog.track-inventory-tooltip")),o(3),a("disabled",!d(55,80,i.updatePermissions)),o(2),a("value",i.GlobalFlag.TRUE),o(),v(" ",d(58,82,"catalog.track-inventory-true")," "),o(2),a("value",i.GlobalFlag.FALSE),o(),v(" ",d(61,84,"catalog.track-inventory-false")," "),o(2),a("value",i.GlobalFlag.INHERIT),o(),v(" ",d(64,86,"catalog.track-inventory-inherit")," "),o(2),a("label",d(66,88,"catalog.out-of-stock-threshold"))("tooltip",d(67,90,"catalog.out-of-stock-threshold-tooltip")),o(3),a("readonly",!d(69,92,i.updatePermissions))("vdrDisabled",((t=i.detailForm.get("useGlobalOutOfStockThreshold"))==null?null:t.value)!==!1||i.inventoryIsNotTracked(i.detailForm)),o(3),a("vdrDisabled",!d(72,94,i.updatePermissions)||i.inventoryIsNotTracked(i.detailForm)),o(3),Nt("",d(75,96,"catalog.use-global-value")," (",i.globalOutOfStockThreshold,")"),o(2),a("ngForOf",i.stockLevelsForm.controls),o(),a("ngIf",d(78,98,i.unusedStockLocation$))}}var Il=(()=>{class e extends St{constructor(t,n,i,r,m,_){super(),this.productDetailService=t,this.formBuilder=n,this.modalService=i,this.notificationService=r,this.dataService=m,this.changeDetector=_,this.updatePermissions=[V.UpdateCatalog,V.UpdateProduct],this.customFields=this.getCustomFieldConfig("ProductVariant"),this.customPriceFields=this.getCustomFieldConfig("ProductVariantPrice"),this.customOptionFields=this.getCustomFieldConfig("ProductOption"),this.detailForm=this.formBuilder.group({id:"",enabled:!1,sku:"",name:"",taxCategoryId:"",stockOnHand:0,useGlobalOutOfStockThreshold:!0,outOfStockThreshold:0,trackInventory:Gi.TRUE,facetValueIds:[],customFields:this.formBuilder.group(_t(this.customFields))}),this.stockLevelsForm=this.formBuilder.array([]),this.pricesForm=this.formBuilder.array([]),this.assetChanges={},this.GlobalFlag=Gi}ngOnInit(){this.init(),this.dataService.settings.getGlobalSettings("cache-first").single$.subscribe(({globalSettings:m})=>{this.globalTrackInventory=m.trackInventory,this.globalOutOfStockThreshold=m.outOfStockThreshold,this.changeDetector.markForCheck()}),this.taxCategories$=this.result$.pipe(F(m=>m.taxCategories.items));let t=this.result$.pipe(ze(m=>this.channelDefaultCurrencyCode=m.activeChannel.defaultCurrencyCode),F(m=>m.activeChannel.availableCurrencyCodes));this.unusedCurrencyCodes$=ee(this.pricesForm.valueChanges,t).pipe(F(([m,_])=>_.filter(x=>!m.map(I=>I.currencyCode).includes(x))));let n=this.result$.pipe(F(m=>m.stockLocations.items));this.unusedStockLocation$=ee(this.entity$,n).pipe(F(([m,_])=>{let x=m.stockLevels.map(I=>I.stockLocation.id);return _.filter(I=>!x.includes(I.id))})),this.channelPriceIncludesTax$=this.dataService.settings.getActiveChannel("cache-first").refetchOnChannelChange().mapStream(m=>m.activeChannel.pricesIncludeTax).pipe(Ot(1)),this.stockLevels$=this.entity$.pipe(F(m=>m?.stockLevels??[]));let i=this.entity$.pipe(F(m=>m.facetValues??[])),r=this.detailForm.get("facetValueIds").valueChanges.pipe(Co(1),Fe(),B(m=>this.dataService.facet.getFacetValues({filter:{id:{in:m}}}).mapSingle(({facetValues:_})=>_.items)),Ot(1));this.facetValues$=Ji(i.pipe(lt(1)),i.pipe(bo(r)))}ngOnDestroy(){this.destroy()}addPriceInCurrency(t){this.pricesForm.push(this.formBuilder.group({currencyCode:t,price:0,delete:!1,customFields:this.formBuilder.group(_t(this.customPriceFields))}))}toggleDeletePrice(t){t.setValue(!t.value),t.markAsDirty()}addStockLocation(t){this.stockLevelsForm.push(this.formBuilder.group({stockLocationId:t.id,stockLocationName:t.name,stockOnHand:0,stockAllocated:0}))}save(){ee(this.entity$,this.languageCode$).pipe(lt(1),Ne(([t,n])=>{let i=(0,xl.pick)(this.getUpdatedVariant(t,this.detailForm,n),["id","enabled","translations","sku","taxCategoryId","facetValueIds","featuredAssetId","assetIds","trackInventory","outOfStockThreshold","useGlobalOutOfStockThreshold","customFields"]);return this.stockLevelsForm.dirty&&(i.stockLevels=this.stockLevelsForm.controls.filter(r=>r.dirty).map(r=>({stockLocationId:r.value.stockLocationId,stockOnHand:r.value.stockOnHand}))),this.pricesForm.dirty&&(i.prices=this.pricesForm.controls.filter(r=>r.dirty).map(r=>({price:r.value.price,currencyCode:r.value.currencyCode,delete:r.value.delete===!0,customFields:r.get("customFields")?.value}))),this.dataService.mutate(Wo,{input:[i]})})).subscribe(t=>{this.detailForm.markAsPristine(),this.stockLevelsForm.markAsPristine(),this.pricesForm.markAsPristine(),this.assetChanges={},this.notificationService.success("common.notify-update-success",{entity:"ProductVariant"}),this.changeDetector.markForCheck()},t=>{this.notificationService.error("common.notify-update-error",{entity:"ProductVariant"})})}assetsChanged(){return!!Object.values(this.assetChanges).length}inventoryIsNotTracked(t){let n=t.get("trackInventory")?.value;return n===Gi.FALSE||n===Gi.INHERIT&&this.globalTrackInventory===!1}optionGroupCode(t){return this.entity?.product.optionGroups.find(i=>i.id===t)?.code}optionName(t){return(t.translations.find(i=>i.languageCode===this.languageCode)??t.translations[0]).name}removeFacetValue(t){let n=this.detailForm.controls.facetValueIds,i=n.value??[];n.setValue(i.filter(r=>r!==t)),n.markAsDirty()}selectFacetValue(){this.displayFacetValueModal().subscribe(t=>{if(t){let n=this.detailForm.controls.facetValueIds,i=n.value??[];n.setValue((0,Pl.unique)([...i,...t])),n.markAsDirty()}})}displayFacetValueModal(){return this.modalService.fromComponent(Hi,{size:"md",closable:!0}).pipe(F(t=>t&&t.map(n=>n.id)))}setFormValues(t,n){let i=ue(t,n),r=t.facetValues.map(m=>m.id);this.detailForm.patchValue({id:t.id,enabled:t.enabled,sku:t.sku,name:i?i.name:"",taxCategoryId:t.taxCategory.id,stockOnHand:t.stockLevels[0]?.stockOnHand??0,useGlobalOutOfStockThreshold:t.useGlobalOutOfStockThreshold,outOfStockThreshold:t.outOfStockThreshold,trackInventory:t.trackInventory,facetValueIds:r}),this.stockLevelsForm.clear();for(let m of t.stockLevels)this.stockLevelsForm.push(this.formBuilder.group({stockLocationId:m.stockLocation.id,stockLocationName:m.stockLocation.name,stockOnHand:m.stockOnHand,stockAllocated:m.stockAllocated}));this.pricesForm.clear();for(let m of t.prices){let _=this.formBuilder.group({price:m.price,currencyCode:m.currencyCode,delete:!1,customFields:this.formBuilder.group(_t(this.customPriceFields))});this.customPriceFields.length&&this.setCustomFieldFormValues(this.customPriceFields,_.get(["customFields"]),m),this.pricesForm.push(_)}this.customFields.length&&this.setCustomFieldFormValues(this.customFields,this.detailForm.get("customFields"),t,i)}getUpdatedVariant(t,n,i){let r=at({translatable:t,updatedFields:n.value,customFieldConfig:this.customFields,languageCode:i,defaultTranslation:{languageCode:i,name:t.name||""}});return fe(X({},r),{assetIds:this.assetChanges.assets?.map(m=>m.id),featuredAssetId:this.assetChanges.featuredAsset?.id,facetValueIds:n.controls.facetValueIds.dirty?n.value.facetValueIds:void 0,taxCategoryId:n.controls.taxCategoryId.dirty?n.value.taxCategoryId:void 0})}static{this.\u0275fac=function(n){return new(n||e)(P(ai),P(je),P(te),P(Y),P(k),P(pe))}}static{this.\u0275cmp=E({type:e,selectors:[["vdr-product-variant-detail"]],standalone:!1,features:[ce],decls:13,vars:10,consts:[[3,"grow"],[1,"flex","center"],[4,"ngIf"],[3,"productId"],["locationId","product-variant-detail"],["class","btn btn-primary",3,"disabled","click",4,"vdrIfPermissions"],["class","form",3,"formGroup",4,"ngIf"],["class","mr-2",3,"disabled","availableLanguageCodes","currentLanguageCode","languageCodeChange",4,"ngIf"],[1,"mr-2",3,"languageCodeChange","disabled","availableLanguageCodes","currentLanguageCode"],[1,"btn","btn-primary",3,"click","disabled"],[1,"form",3,"formGroup"],["for","visibility",3,"label"],[4,"vdrIfPermissions"],[3,"title",4,"ngIf"],[3,"title"],[1,"facets"],[3,"facetValue","removable","remove",4,"ngFor","ngForOf"],["class","button-small mt-2",3,"click",4,"vdrIfPermissions"],[3,"entity",4,"ngIf"],["type","submit","hidden","","x-data","prevents enter key from triggering other buttons"],[1,"form-grid"],["for","name",3,"label"],["id","name","type","text","formControlName","name",3,"readonly"],["for","sku",3,"label"],["id","sku","type","text","formControlName","sku",3,"readonly"],["locationId","product-variant-detail",3,"entity$","detailForm"],[3,"change","assets","featuredAsset","updatePermissions"],["for","taxCategory",3,"label"],["name","taxCategory","formControlName","taxCategoryId"],[3,"value",4,"ngFor","ngForOf"],["class","form-grid prices",3,"formGroup",4,"ngFor","ngForOf"],[3,"channelPriceIncludesTax","channelDefaultCurrencyCode","variant"],["for","track-inventory",3,"label","tooltip"],["name","track-inventory","formControlName","trackInventory",3,"disabled"],[3,"value"],[3,"label","tooltip"],["type","number","formControlName","outOfStockThreshold",3,"readonly","vdrDisabled"],["type","checkbox","clrToggle","","name","useGlobalOutOfStockThreshold","formControlName","useGlobalOutOfStockThreshold",3,"vdrDisabled"],["class","form-grid stock-levels",3,"formGroup",4,"ngFor","ngForOf"],["type","checkbox","clrToggle","","name","enabled",3,"formControl"],[1,"options"],[3,"colorFrom","invert",4,"ngFor","ngForOf"],["class","button-small mt-2",3,"routerLink",4,"vdrIfPermissions"],[3,"colorFrom","invert"],[1,"button-small","mt-2",3,"routerLink"],["shape","pencil"],[3,"remove","facetValue","removable"],[1,"button-small","mt-2",3,"click"],["shape","plus"],[3,"entity"],["entityName","ProductVariant",3,"customFields","customFieldsFormGroup","readonly"],[1,"form-grid","prices",3,"formGroup"],["for","price",3,"label","tooltip"],[1,"price-wrapper"],["name","price","formControlName","price",3,"currencyCode","readonly"],[3,"price","currencyCode","priceIncludesTax","taxCategoryId"],["class","form-grid-span",4,"ngIf"],[1,"button-small","delete-button",3,"click","disabled"],["shape","trash"],[1,"form-grid-span"],[1,"title-row"],[1,"title"],["entityName","ProductVariantPrice",3,"customFields","customFieldsFormGroup","readonly"],["vdrDropdownTrigger","",1,"button","mt-2"],["shape","ellipsis-vertical"],["vdrDropdownItem","",3,"click",4,"ngFor","ngForOf"],["vdrDropdownItem","",3,"click"],[1,"form-grid","stock-levels",3,"formGroup"],[3,"label","for"],["type","number","formControlName","stockOnHand",3,"id","readonly"],[3,"label"],["shape","map-marker"]],template:function(n,i){n&1&&(c(0,"vdr-page-block")(1,"vdr-action-bar")(2,"vdr-ab-left",0)(3,"div",1),g(4,$u,2,1,"ng-container",2),s(5,"async"),h(6,"vdr-product-variant-quick-jump",3),p()(),c(7,"vdr-ab-right"),h(8,"vdr-action-bar-items",4),g(9,Gu,3,4,"button",5),h(10,"vdr-action-bar-dropdown-menu",4),p()()(),g(11,s0,79,102,"form",6),s(12,"async")),n&2&&(o(2),a("grow",!0),o(2),a("ngIf",d(5,5,i.availableLanguages$)),o(2),a("productId",i.entity==null?null:i.entity.product.id),o(3),a("vdrIfPermissions",W(9,uo)),o(2),a("ngIf",d(12,7,i.entity$)))},dependencies:[J,Ee,ye,tt,$,A,mt,pn,dn,ie,Ut,Ge,cn,Z,ve,Pt,Ce,be,Se,Te,Pe,Ie,Be,Oi,Ve,Qt,Yt,me,K,Vi,Re,jt,Wt,qt,It,xe,ke,Ht,ut,ei,de,Dt,zt,Zt,gt,co,po,mo,G,R,_a,Ti,qe],styles:[`.facets[_ngcontent-%COMP%], .options[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:3px}vdr-product-variant-quick-jump[_ngcontent-%COMP%]{flex:1;margin-inline-end:calc(var(--space-unit) * 2)}.stock-levels[_ngcontent-%COMP%], .prices[_ngcontent-%COMP%]{margin-top:calc(var(--space-unit) * 2);padding-top:calc(var(--space-unit) * 2);border-top:1px solid var(--color-weight-150)}.price-wrapper[_ngcontent-%COMP%]{display:flex;align-items:center;gap:var(--space-unit);width:100%}.price-wrapper.pending-deletion[_ngcontent-%COMP%] vdr-currency-input[_ngcontent-%COMP%]{opacity:.7}.price-wrapper.pending-deletion[_ngcontent-%COMP%] .delete-button[_ngcontent-%COMP%]{background-color:var(--color-error-700);color:var(--color-error-100)}.title-row[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center}.title[_ngcontent-%COMP%]{font-size:var(--font-size-base)}
|
|
153
|
+
/*# sourceMappingURL=product-variant-detail.component-C3IWHDW6.css.map */`],changeDetection:0})}}return e})();var kn=se(Jt());var Tl={location:"product-variant-list",label:"common.assign-to-channel",icon:"layers",requiresPermission:e=>e.includes(V.UpdateCatalog)||e.includes(V.UpdateProduct),isVisible:({injector:e})=>xn(e.get(k)),onClick:({injector:e,selection:l,clearSelection:t})=>{e.get(te).fromComponent(di,{size:"lg",locals:{productVariantIds:(0,kn.unique)(l.map(i=>i.id)),currentChannelIds:[]}}).subscribe(i=>{i&&t()})}},Dl=ni({location:"product-variant-list",requiresPermission:e=>e.includes(V.UpdateCatalog)||e.includes(V.UpdateProduct),getItemName:e=>e.name,bulkRemoveFromChannel:(e,l,t)=>e.product.removeVariantsFromChannel({channelId:t,productVariantIds:l}).pipe(F(n=>n.removeProductVariantsFromChannel))}),Fl={location:"product-variant-list",label:"common.delete",icon:"trash",iconClass:"is-danger",requiresPermission:e=>e.includes(V.DeleteProduct)||e.includes(V.DeleteCatalog),onClick:({injector:e,selection:l,hostComponent:t,clearSelection:n})=>{let i=e.get(te),r=e.get(k),m=e.get(Y);i.dialog({title:"common.confirm-bulk-delete",translationVars:{count:l.length},buttons:[{type:"secondary",label:"common.cancel"},{type:"danger",label:"common.delete",returnValue:!0}]}).pipe(B(_=>_?r.product.deleteProductVariants((0,kn.unique)(l.map(x=>x.id))):le)).subscribe(_=>{let x=0,I=[];for(let S of _.deleteProductVariants)S.result===Xe.DELETED?x++:S.message&&I.push(S.message);0<x&&m.success("catalog.notify-bulk-delete-products-success",{count:x}),0<I.length&&m.error(I.join(`
|
|
154
|
+
`)),t.refresh(),n()})}},Sl={location:"product-variant-list",label:"catalog.edit-facet-values",icon:"tag",requiresPermission:e=>e.includes(V.UpdateCatalog)||e.includes(V.UpdateProduct),onClick:({injector:e,selection:l,clearSelection:t})=>{let n=e.get(te),i=e.get(Y),r="variant",m=(0,kn.unique)(l.map(_=>_.id));return n.fromComponent(Qi,{size:"xl",locals:{mode:r,ids:m}}).subscribe(_=>{_&&(i.success("common.notify-bulk-update-success",{count:l.length,entity:r==="variant"?"Products":"ProductVariants"}),t())})}};function c0(e,l){if(e&1&&(M(0),c(1,"th"),f(2),p(),N()),e&2){let t=l.$implicit;o(2),T(t.name)}}function p0(e,l){if(e&1&&(h(0,"img",18),s(1,"assetPreview")),e&2){let t=l.ngIf;a("src",O(1,1,t,"tiny"),vi)}}function d0(e,l){e&1&&(c(0,"div",19),h(1,"clr-icon",20),p())}function m0(e,l){if(e&1&&(M(0),c(1,"td",6),s(2,"stringToColor"),f(3),p(),N()),e&2){let t=l.$implicit,n=u().ngIf,i=u(2);o(),Fo("color",d(2,5,i.optionGroupName(t.groupId))),w("disabled",!n.get("enabled").value),o(2),v(" ",t.name," ")}}function u0(e,l){if(e&1&&(h(0,"vdr-currency-input",21),s(1,"hasPermission")),e&2){let t=u(2).$implicit,n=u();a("currencyCode",t.currencyCode)("readonly",!d(1,2,n.updatePermission))}}function g0(e,l){if(e&1&&(h(0,"vdr-currency-input",22),s(1,"hasPermission")),e&2){let t=u(2).$implicit,n=u();a("currencyCode",t.currencyCode)("readonly",!d(1,2,n.updatePermission))}}function _0(e,l){if(e&1&&(M(0,5),c(1,"td",6)(2,"div",7)(3,"div",8),g(4,p0,2,4,"img",9)(5,d0,2,0,"ng-template",null,0,Q),p()()(),c(7,"td",6)(8,"clr-input-container"),h(9,"input",10),s(10,"hasPermission"),s(11,"translate"),p()(),c(12,"td",6)(13,"clr-input-container"),h(14,"input",11),s(15,"hasPermission"),s(16,"translate"),p()(),g(17,m0,4,7,"ng-container",2),s(18,"sort"),c(19,"td",12)(20,"clr-input-container"),g(21,u0,2,4,"vdr-currency-input",13)(22,g0,2,4,"vdr-currency-input",14),p()(),c(23,"td",15)(24,"clr-input-container"),h(25,"input",16),s(26,"hasPermission"),p()(),c(27,"td",15)(28,"clr-toggle-wrapper"),h(29,"input",17),s(30,"hasPermission"),p()(),N()),e&2){let t=l.ngIf,n=U(6),i=u().$implicit,r=u();a("formGroup",t),o(),w("disabled",!t.get("enabled").value),o(3),a("ngIf",r.getFeaturedAsset(i))("ngIfElse",n),o(3),w("disabled",!t.get("enabled").value),o(2),a("readonly",!d(10,24,r.updatePermission))("placeholder",d(11,26,"common.name")),o(3),w("disabled",!t.get("enabled").value),o(2),a("readonly",!d(15,28,r.updatePermission))("placeholder",d(16,30,"catalog.sku")),o(3),a("ngForOf",O(18,32,i.options,"groupId")),o(2),w("disabled",!t.get("enabled").value),o(2),a("ngIf",!r.channelPriceIncludesTax),o(),a("ngIf",r.channelPriceIncludesTax),o(),w("disabled",!t.get("enabled").value),o(2),a("readonly",!d(26,35,r.updatePermission)),o(2),w("disabled",!t.get("enabled").value),o(2),a("vdrDisabled",!d(30,37,r.updatePermission))}}function f0(e,l){if(e&1&&(c(0,"tr"),g(1,_0,31,39,"ng-container",4),p()),e&2){let t=l.$implicit,n=u();o(),a("ngIf",n.formGroupMap.get(t.id))}}var h0=(()=>{class e{constructor(t){this.changeDetector=t,this.formGroupMap=new Map,this.updatePermission=[V.UpdateCatalog,V.UpdateProduct]}ngOnInit(){this.subscription=this.formArray.valueChanges.pipe(F(t=>t.length),rt(1),Fe()).subscribe(()=>{this.buildFormGroupMap()}),this.buildFormGroupMap()}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}trackByFn(t,n){return n.id!=null?n.id:t}getFeaturedAsset(t){return this.pendingAssetChanges[t.id]?.featuredAsset||t.featuredAsset}optionGroupName(t){let n=this.optionGroups.find(i=>i.id===t);return n&&n.name}buildFormGroupMap(){this.formGroupMap.clear();for(let t of this.formArray.controls)this.formGroupMap.set(t.value.id,t);this.changeDetector.markForCheck()}static{this.\u0275fac=function(n){return new(n||e)(P(pe))}}static{this.\u0275cmp=E({type:e,selectors:[["vdr-product-variants-table"]],inputs:{formArray:[0,"productVariantsFormArray","formArray"],variants:"variants",paginationConfig:"paginationConfig",channelPriceIncludesTax:"channelPriceIncludesTax",optionGroups:"optionGroups",pendingAssetChanges:"pendingAssetChanges"},standalone:!1,decls:24,vars:24,consts:[["placeholder",""],[1,"table"],[4,"ngFor","ngForOf"],[4,"ngFor","ngForOf","ngForTrackBy"],[3,"formGroup",4,"ngIf"],[3,"formGroup"],[1,"left","align-middle"],[1,"card-img"],[1,"featured-asset"],[3,"src",4,"ngIf","ngIfElse"],["clrInput","","type","text","formControlName","name",3,"readonly","placeholder"],["clrInput","","type","text","formControlName","sku",3,"readonly","placeholder"],[1,"left","align-middle","price"],["clrInput","","formControlName","price",3,"currencyCode","readonly",4,"ngIf"],["clrInput","","formControlName","priceWithTax",3,"currencyCode","readonly",4,"ngIf"],[1,"left","align-middle","stock"],["clrInput","","type","number","min","0","step","1","formControlName","stockOnHand",3,"readonly"],["type","checkbox","clrToggle","","name","enabled","formControlName","enabled",3,"vdrDisabled"],[3,"src"],[1,"placeholder"],["shape","image","size","48"],["clrInput","","formControlName","price",3,"currencyCode","readonly"],["clrInput","","formControlName","priceWithTax",3,"currencyCode","readonly"]],template:function(n,i){n&1&&(c(0,"table",1)(1,"thead")(2,"tr"),h(3,"th"),c(4,"th"),f(5),s(6,"translate"),p(),c(7,"th"),f(8),s(9,"translate"),p(),g(10,c0,3,1,"ng-container",2),s(11,"sort"),c(12,"th"),f(13),s(14,"translate"),p(),c(15,"th"),f(16),s(17,"translate"),p(),c(18,"th"),f(19),s(20,"translate"),p()()(),c(21,"tbody"),g(22,f0,2,1,"tr",3),s(23,"paginate"),p()()),n&2&&(o(5),T(d(6,8,"common.name")),o(3),T(d(9,10,"catalog.sku")),o(2),a("ngForOf",O(11,12,i.optionGroups,"id")),o(3),T(d(14,15,"catalog.price")),o(3),T(d(17,17,"catalog.stock-on-hand")),o(3),T(d(20,19,"common.enabled")),o(3),a("ngForOf",O(23,21,i.variants,i.paginationConfig))("ngForTrackBy",i.trackByFn))},dependencies:[J,ye,tt,Gt,_n,$,A,ie,Ut,Ge,Z,ve,yi,Ce,be,Qt,K,Ht,Kt,R,Ti,Ca,qe,Ei],styles:[`.placeholder[_ngcontent-%COMP%]{color:var(--color-grey-300)}.stock[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .price[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{max-width:96px}td[_ngcontent-%COMP%]{transition:background-color .2s}td.disabled[_ngcontent-%COMP%]{background-color:var(--color-component-bg-200)}
|
|
155
|
+
/*# sourceMappingURL=product-variants-table.component-K4FFCTKO.css.map */`],changeDetection:0})}}return e})();var El=se(oi());var v0=()=>["UpdateCatalog","UpdateProduct"];function C0(e,l){e&1&&(f(0),s(1,"translate")),e&2&&T(d(1,1,"catalog.update-product-option"))}function b0(e,l){if(e&1&&(c(0,"section")(1,"label"),f(2),s(3,"translate"),p(),h(4,"vdr-tabbed-custom-fields",10),s(5,"hasPermission"),p()),e&2){let t=u();o(2),T(d(3,4,"common.custom-fields")),o(2),a("customFields",t.customFields)("customFieldsFormGroup",t.customFieldsForm)("readonly",!d(5,6,W(8,v0)))}}function y0(e,l){if(e&1){let t=D();c(0,"button",11),C("click",function(){b(t);let i=u();return y(i.cancel())}),f(1),s(2,"translate"),p(),c(3,"button",12),C("click",function(){b(t);let i=u();return y(i.update())}),f(4),s(5,"translate"),p()}if(e&2){let t=u(),n=U(4),i=U(8);o(),T(d(2,3,"common.cancel")),o(2),a("disabled",n.invalid||i.invalid||n.pristine&&i.pristine&&t.customFieldsForm.pristine),o(),v(" ",d(5,5,"catalog.update-product-option")," ")}}var x0=(()=>{class e{constructor(){this.updateVariantName=!0,this.codeInputTouched=!1}ngOnInit(){let t=this.productOption.translations.find(n=>n.languageCode===this.activeLanguage);if(this.name=t?.name??"",this.code=this.productOption.code,this.customFieldsForm=new Ci({}),this.customFields){let n=t&&t.customFields||{};for(let i of this.customFields){let r=i.name,m=i.type==="localeString"?n[r]:this.productOption.customFields[r];this.customFieldsForm.addControl(i.name,new Bt(m))}}}update(){let t=at({translatable:this.productOption,languageCode:this.activeLanguage,updatedFields:{code:this.code,name:this.name,customFields:this.customFieldsForm.value},customFieldConfig:this.customFields,defaultTranslation:{languageCode:this.activeLanguage,name:""}});this.resolveWith(fe(X({},t),{autoUpdate:this.updateVariantName}))}cancel(){this.resolveWith()}updateCode(t){!this.codeInputTouched&&!this.productOption.code&&(this.code=(0,El.normalizeString)(t,"-"))}static{this.\u0275fac=function(n){return new(n||e)}}static{this.\u0275cmp=E({type:e,selectors:[["vdr-update-product-option-dialog"]],standalone:!1,decls:16,vars:13,consts:[["nameInput","ngModel"],["codeInput","ngModel"],["vdrDialogTitle",""],["for","name",3,"label"],["id","name","type","text","required","",3,"ngModelChange","input","ngModel"],["for","code",3,"label"],["id","code","type","text","required","","pattern","[a-z0-9_-]+",3,"ngModelChange","ngModel"],["type","checkbox","clrCheckbox","",3,"ngModelChange","ngModel"],[4,"ngIf"],["vdrDialogButtons",""],["entityName","ProductOption",3,"customFields","customFieldsFormGroup","readonly"],["type","button",1,"btn",3,"click"],["type","submit",1,"btn","btn-primary",3,"click","disabled"]],template:function(n,i){if(n&1){let r=D();g(0,C0,2,3,"ng-template",2),c(1,"vdr-form-field",3),s(2,"translate"),c(3,"input",4,0),$e("ngModelChange",function(_){return b(r),Ue(i.name,_)||(i.name=_),y(_)}),C("input",function(_){return b(r),y(i.updateCode(_.target.value))}),p()(),c(5,"vdr-form-field",5),s(6,"translate"),c(7,"input",6,1),$e("ngModelChange",function(_){return b(r),Ue(i.code,_)||(i.code=_),y(_)}),p()(),c(9,"clr-checkbox-wrapper")(10,"input",7),$e("ngModelChange",function(_){return b(r),Ue(i.updateVariantName,_)||(i.updateVariantName=_),y(_)}),p(),c(11,"label"),f(12),s(13,"translate"),p()(),g(14,b0,6,9,"section",8)(15,y0,6,7,"ng-template",9)}n&2&&(o(),a("label",d(2,7,"catalog.option-name")),o(2),Le("ngModel",i.name),o(2),a("label",d(6,9,"common.code")),o(2),Le("ngModel",i.code),o(3),Le("ngModel",i.updateVariantName),o(2),T(d(13,11,"catalog.auto-update-option-variant-name")),o(2),a("ngIf",i.customFields.length))},dependencies:[Ee,ye,tt,A,ie,Ge,Z,mn,ca,et,me,K,We,Oe,ut,R,qe],encapsulation:2,changeDetection:0})}}return e})();var ch=(()=>{class e{static{this.hasRegisteredTabsAndBulkActions=!1}constructor(t,n){e.hasRegisteredTabsAndBulkActions||(t.registerBulkAction(Cl),t.registerBulkAction(hl),t.registerBulkAction(bl),t.registerBulkAction(vl),t.registerBulkAction(fl),t.registerBulkAction(Sl),t.registerBulkAction(Tl),t.registerBulkAction(Dl),t.registerBulkAction(Fl),t.registerBulkAction(nl),t.registerBulkAction(al),t.registerBulkAction(ol),t.registerBulkAction(il),t.registerBulkAction(jr),t.registerBulkAction(Wr),t.registerBulkAction(Hr),t.registerBulkAction(qr),t.registerBulkAction(Gr),n.registerPageTab({priority:0,location:"product-list",tab:"catalog.products",route:"",component:yl}),n.registerPageTab({priority:0,location:"product-detail",tab:"catalog.product",route:"",component:Ri({component:_l,query:$o,entityKey:"product",getBreadcrumbs:i=>[{label:i?i.name:"catalog.create-new-product",link:[i?.id]}]})}),n.registerPageTab({priority:0,location:"product-list",tab:"catalog.product-variants",route:"variants",component:On}),n.registerPageTab({priority:0,location:"product-variant-detail",tab:"catalog.product-variants",route:"",component:Ri({component:Il,query:jo,entityKey:"productVariant",getBreadcrumbs:i=>[{label:`${i?.product.name}`,link:["/catalog","products",i?.product.id]},{label:`${i?.name} (${i?.sku})`,link:["variants",i?.id]}]})}),n.registerPageTab({priority:0,location:"facet-list",tab:"catalog.facets",route:"",component:rl}),n.registerPageTab({priority:0,location:"facet-detail",tab:"catalog.facet",route:"",component:Ri({component:el,query:an,variables:{facetValueListOptions:{take:10,skip:0,sort:{createdAt:Ol.SortOrder.DESC}}},entityKey:"facet",getBreadcrumbs:i=>[{label:i?i.name:"catalog.create-new-facet",link:[i?.id]}]})}),n.registerPageTab({priority:0,location:"collection-list",tab:"catalog.collections",route:"",component:Yr}),n.registerPageTab({priority:0,location:"collection-detail",tab:"catalog.collection",route:"",component:Ri({component:Ur,query:Lo,entityKey:"collection",getBreadcrumbs:i=>[{label:i?i.name:"catalog.create-new-collection",link:[i?.id]}]})}),n.registerPageTab({priority:0,location:"asset-list",tab:"catalog.assets",route:"",component:Sr}),n.registerPageTab({priority:0,location:"asset-detail",tab:"catalog.asset",route:"",component:Ri({component:Tr,query:No,entityKey:"asset",getBreadcrumbs:i=>[{label:`${i?.name}`,link:[i?.id]}]})}),e.hasRegisteredTabsAndBulkActions=!0)}static{this.\u0275fac=function(n){return new(n||e)(Mt(ka),Mt(yn))}}static{this.\u0275mod=To({type:e})}static{this.\u0275inj=xo({providers:[{provide:ta,useFactory:t=>Ir(t),multi:!0,deps:[yn]}],imports:[Ha,ia.forChild([])]})}}return e})();var P0=ne`
|
|
156
156
|
fragment ProductListQueryProductFragment on Product {
|
|
157
157
|
id
|
|
158
158
|
createdAt
|
|
@@ -355,5 +355,5 @@ import{a as ni}from"./chunk-MZFFGCAS.js";import{$ as Io,$c as sn,$d as Pi,$e as
|
|
|
355
355
|
}
|
|
356
356
|
}
|
|
357
357
|
${I0}
|
|
358
|
-
`;export{xg as ASSET_DETAIL_QUERY,Hi as ApplyFacetDialogComponent,Tr as AssetDetailComponent,Sr as AssetListComponent,
|
|
359
|
-
//# sourceMappingURL=chunk-
|
|
358
|
+
`;export{xg as ASSET_DETAIL_QUERY,Hi as ApplyFacetDialogComponent,Tr as AssetDetailComponent,Sr as AssetListComponent,di as AssignProductsToChannelDialogComponent,Qi as BulkAddFacetValuesDialogComponent,C_ as COLLECTION_DETAIL_QUERY,ch as CatalogModule,zi as CollectionBreadcrumbPipe,Yi as CollectionContentsComponent,Ki as CollectionDataTableComponent,Ur as CollectionDetailComponent,Yr as CollectionListComponent,_d as CollectionTreeComponent,oo as CollectionTreeNodeComponent,Ni as CollectionTreeService,Cd as ConfirmVariantDeletionDialogComponent,ao as CreateFacetValueDialogComponent,$n as CreateProductOptionGroupDialogComponent,jn as CreateProductVariantDialogComponent,Ud as FACET_DETAIL_QUERY,vf as FACET_LIST_QUERY,el as FacetDetailComponent,rl as FacetListComponent,Or as GET_PRODUCTS_WITH_FACET_VALUES_BY_IDS,Nf as GET_PRODUCT_DETAIL,Vr as GET_VARIANTS_WITH_FACET_VALUES_BY_IDS,so as GenerateProductVariantsComponent,br as GeneratedVariant,to as MoveCollectionsDialogComponent,ns as OPTION_VALUE_INPUT_VALUE_ACCESSOR,wi as OptionValueInputComponent,mh as PRODUCT_LIST_QUERY,fh as PRODUCT_VARIANT_DETAIL_QUERY,Vl as PRODUCT_VARIANT_DETAIL_QUERY_PRODUCT_VARIANT_FRAGMENT,yh as PRODUCT_VARIANT_LIST_QUERY,hh as PRODUCT_VARIANT_UPDATE_MUTATION,_l as ProductDetailComponent,ai as ProductDetailService,yl as ProductListComponent,Un as ProductOptionsEditorComponent,Il as ProductVariantDetailComponent,On as ProductVariantListComponent,mo as ProductVariantQuickJumpComponent,Wn as ProductVariantsEditorComponent,Pr as ProductVariantsResolver,h0 as ProductVariantsTableComponent,kr as UPDATE_PRODUCTS_BULK,Rr as UPDATE_VARIANTS_BULK,x0 as UpdateProductOptionDialogComponent,co as VariantPriceDetailComponent,po as VariantPriceStrategyDetailComponent,zr as arrayToTree,Wr as assignCollectionsToChannelBulkAction,Sl as assignFacetValuesToProductVariantsBulkAction,Cl as assignFacetValuesToProductsBulkAction,nl as assignFacetsToChannelBulkAction,Tl as assignProductVariantsToChannelBulkAction,hl as assignProductsToChannelBulkAction,Ir as createRoutes,Gr as deleteCollectionsBulkAction,il as deleteFacetsBulkAction,Fl as deleteProductVariantsBulkAction,fl as deleteProductsBulkAction,Hr as duplicateCollectionsBulkAction,al as duplicateFacetsBulkAction,bl as duplicateProductsBulkAction,jr as moveCollectionsBulkAction,hs as productOptionsEditorBreadcrumb,qr as removeCollectionsFromChannelBulkAction,ol as removeFacetsFromChannelBulkAction,gf as removeFacetsFromChannelBulkAction2,Dl as removeProductVariantsFromChannelBulkAction,vl as removeProductsFromChannelBulkAction,Nn as replaceLast};
|
|
359
|
+
//# sourceMappingURL=chunk-NNPXIO6O.js.map
|