PageSourceSearch

https://bttlgrnd.com/VAADIN/build/siteadmin-crm-list-DWMMMXxM.js

js bttlgrnd.com collected 2026-10-10 02:00:30 UTC 11,982 bytes, 187 lines download raw bytes

1import{aF as g,al as c,x as i,m as h,cw as p,d as w,au as b,a as v,t as d,e as f}from"./indexhtml-DernGyVj.js";import{C as u}from"./cadmin-base-D1Atg8vc.js";import{j as x,k as $,l as y,m as C,o as _}from"./EndpointSiteAdmin-C-rZLh4Q.js";import"./siteadmin-crm-org-DA4BUa8I.js";import"./oum-dialog-confirm-BDhyA_P0.js";import"./oum-admin-list-CSWUU1vZ.js";import"./oum-person-select-DSynm1MI.js";import"./oum-country-cbx-C6SOE2Jf.js";var R=Object.defineProperty,T=Object.getOwnPropertyDescriptor,n=(e,a,t,r)=>{for(var o=r>1?void 0:r?T(a,t):a,l=e.length-1,m;l>=0;l--)(m=e[l])&&(o=(r?m(a,t,o):m(o))||o);return r&&o&&R(a,t,o),o};let s=class extends u{constructor(){super(...arguments),this.tab="search",this.orgTab="contacts",this.searchText="",this.searchResult=[],this.federations=[],this.customers=[],this.email_afterYear=2025,this.email_allEmails=[],this.debounceSearchText=g.debounce(e=>{e!=this.searchText&&(this.searchText=e,this.doSearch())},250),this.nameRenderer=(e,a,t)=>{const r=t.item;e.innerText=r.id.name},this.publikRenderer=(e,a,t)=>{const r=t.item;c(r.publik?i`
2                <wa-icon name="users" color="var(--c-semantic-positive)"></wa-icon>`:i`
3                <wa-icon name="lock" color="var(--c-semantic-negative)"></wa-icon>`,e)},this.stripeRenderer=(e,a,t)=>{const r=t.item;c(r.hasStripe?i`
4                <wa-icon name="check" color="var(--c-semantic-positive)"></wa-icon>`:i``,e)},this.contactsRenderer=(e,a,t)=>{const r=t.item;c(r.contactsCount>0?i`
5                <wa-icon name="check" color="var(--c-semantic-positive)"></wa-icon>`:i``,e)},this.adminsRenderer=(e,a,t)=>{const r=t.item;c(r.adminCount>0?i`
6                <wa-icon name="check" color="var(--c-semantic-positive)"></wa-icon>`:i``,e)},this.compsRenderer=(e,a,t)=>{const r=t.item;e.innerText=r.competitionCount.toString()}}connectedCallback(){super.connectedCallback(),x().then(e=>{this.federations=e.sort((a,t)=>a.id.name.localeCompare(t.id.name))}),$().then(e=>{this.customers=e.sort((a,t)=>a.id.name.localeCompare(t.id.name))})}updated(e){e.has("tab")&&this.tab=="emails"?this.updateEmailList():(e.has("email_selectedCountry")||e.has("email_afterYear"))&&this.updateEmailList()}updateEmailList(){y(this.email_selectedCountry,this.email_afterYear).then(e=>{this.email_allEmails=e})}doSearch(){C(this.searchText).then(e=>{this.searchResult=e.sort((a,t)=>a.id.name.localeCompare(t.id.name))})}renderTop(){return this.selectedOrg?i`
7                <flex-c style="width:100%">
8                    <flex-r style="align-items:center;justify-content:space-between;padding-left:var(--space-sm);width:100%">
9                        <h3>${this.selectedOrg.id.name}</h3>
10                        <wa-button appearance="plain"
11                                   @click="${()=>this.selectedOrg=void 0}" aria-label="Close">
12                            <wa-icon name="xmark" label="Close"></wa-icon>
13                        </wa-button>
14                    </flex-r>
15                    <wa-tab-group style="width:100%">
16                        <wa-tab ?active=${this.orgTab=="contacts"} @click="${()=>this.orgTab="contacts"}">
17                            Contacts
18                        </wa-tab>
19                        <wa-tab ?active=${this.orgTab=="settings"} @click="${()=>this.orgTab="settings"}">
20                            Settings
21                        </wa-tab>
22                        <wa-tab ?active=${this.orgTab=="notes"} @click="${()=>this.orgTab="notes"}">
23                            Notes
24                        </wa-tab>
25                        <wa-tab ?active=${this.orgTab=="send-email"} @click="${()=>this.orgTab="send-email"}">
26                            Send email settings
27                        </wa-tab>
28                        <wa-tab ?active=${this.orgTab=="merge"} @click="${()=>this.orgTab="merge"}">
29                            Merge
30                        </wa-tab>
31                    </wa-tab-group>
32                </flex-c>
33            `:i`
34            <wa-tab-group style="width:100%">
35                <wa-tab ?active=${this.tab=="search"} @click="${()=>this.tab="search"}">
36                    Search
37                </wa-tab>
38                <wa-tab ?active=${this.tab=="customers"} @click="${()=>this.tab="customers"}">
39                    Customers
40                </wa-tab>
41                <wa-tab ?active=${this.tab=="federations"} @click="${()=>this.tab="federations"}">
42                    Federations
43                </wa-tab>
44                <wa-tab ?active=${this.tab=="emails"} @click="${()=>this.tab="emails"}">
45                    Emails
46                </wa-tab>
47            </wa-tab-group>
48            <wa-button @click=${()=>{_().then(e=>{e&&(this.federations.push(e),this.federations=[...this.federations].sort((a,t)=>a.id.name.localeCompare(t.id.name)),this.requestUpdate("federations"))})}}>
49                Create fed
50            </wa-button>
50
51        `}renderContent(){return this.selectedOrg?i`
52                <siteadmin-crm-org .orgInput="${this.selectedOrg}"
53                                   .tab="${this.orgTab}">
54                </siteadmin-crm-org>`:this.tab=="search"?this.renderSearch():this.tab=="customers"?this.renderCustomers():this.tab=="emails"?this.renderEmails():this.renderFederations()}renderEmails(){return i`
55            <design-centered style="flex:1">
56                <flex-c class="pad-wa-input"
57                        style="flex:1;gap:var(--space-ml);width:100%">
58                    <oum-country-cbx label="${h("Country")}"
59                                     @change=${e=>{p.allCountries().then(a=>{this.email_selectedCountry=e.detail.value})}}
60                                     style="width:100%">
61                    </oum-country-cbx>
62                    <wa-input label="${h("After year")}"
63                              type="number"
64                              .value="${this.email_afterYear}"
65                              @change="${e=>{this.email_afterYear=parseInt(e.target.value)}}"
66                              style="width:100%">
67                    </wa-input>
68
69                    <wa-textarea label="${h("Email text")}"
70                                 .value="${this.email_allEmails.join("; ")}"
71                                 rows="20"
72                                 style="flex:1;width:100%">
73                    </wa-textarea>
74                </flex-c>
75            </design-centered>
76        `}renderSearch(){return i`
77            <flex-c style="flex:1;justify-content:center">
78                <oum-searchbar @input="${e=>{this.debounceSearchText(e.detail.value)}}">
79                </oum-searchbar>
80                <vaadin-grid id="grid"
81                             .items="${this.searchResult}"
82                             theme="no-row-borders no-border"
83                             class="grid-clean no-cell-padding"
84                             @active-item-changed=${e=>{this.selectedOrg=e.detail.value}}
85                             style="flex:1">
86                    <vaadin-grid-column
87                            .renderer="${this.publikRenderer}"
88                            flex-grow="0"
89                            width="63px"></vaadin-grid-column>
90                    <vaadin-grid-column
91                            .renderer="${this.nameRenderer}"
92                            flex-grow="1"></vaadin-grid-column>
93                    <vaadin-grid-column
94                            header="Stripe"
95                            .renderer="${this.stripeRenderer}"
96                            flex-grow="0"
97                            width="91px"
98                    ></vaadin-grid-column>
99                    <vaadin-grid-column
100                            header="Contacts"
101                            .renderer="${this.contactsRenderer}"
102                            flex-grow="0"
103                            width="91px"
104                    ></vaadin-grid-column>
105                    <vaadin-grid-column
106                            header="Admins"
107                            .renderer="${this.adminsRenderer}"
108                            flex-grow="0"
109                            width="91px"
110                    ></vaadin-grid-column>
111                    <vaadin-grid-column
112                            header="Competitions"
113                            .renderer="${this.compsRenderer}"
114                            flex-grow="0"
115                            width="91px"
116                    ></vaadin-grid-column>
117                </vaadin-grid>
118            </flex-c>
119        `}renderCustomers(){return i`
120            <vaadin-grid id="grid"
121                         .items="${this.customers}"
122                         theme="no-row-borders no-border"
123                         class="grid-clean no-cell-padding"
124                         @active-item-changed=${e=>{this.selectedOrg=e.detail.value}}
125                         style="flex:1">
126                <vaadin-grid-column
127                        .renderer="${this.publikRenderer}"
128                        flex-grow="0"
129                        width="63px"></vaadin-grid-column>
130                <vaadin-grid-column
131                        .renderer="${this.nameRenderer}"
132                        flex-grow="1"></vaadin-grid-column>
133                <vaadin-grid-column
134                        header="Contacts"
135                        .renderer="${this.contactsRenderer}"
136                        flex-grow="0"
137                        width="91px"
138                ></vaadin-grid-column>
139                <vaadin-grid-column
140                        header="Admins"
141                        .renderer="${this.adminsRenderer}"
142                        flex-grow="0"
143                        width="91px"
144                ></vaadin-grid-column>
145                <vaadin-grid-column
146                        header="Competitions"
147                        .renderer="${this.compsRenderer}"
148                        flex-grow="0"
149                        width="91px"
150                ></vaadin-grid-column>
151            </vaadin-grid>
152
153        `}renderFederations(){return i`
154            <vaadin-grid id="grid"
155                         .items="${this.federations}"
156                         theme="no-row-borders no-border"
157                         class="grid-clean no-cell-padding"
158                         @active-item-changed=${e=>{this.selectedOrg=e.detail.value}}
159                         style="flex:1">
160                <vaadin-grid-column
161                        .renderer="${this.publikRenderer}"
162                        flex-grow="0"
163                        width="63px"></vaadin-grid-column>
164                <vaadin-grid-column
165                        .renderer="${this.nameRenderer}"
166                        flex-grow="1"></vaadin-grid-column>
167                <vaadin-grid-column
168                        header="Contacts"
169                        .renderer="${this.contactsRenderer}"
170                        flex-grow="0"
171                        width="91px"
172                ></vaadin-grid-column>
173                <vaadin-grid-column
174                        header="Admins"
175                        .renderer="${this.adminsRenderer}"
176                        flex-grow="0"
177                        width="91px"
178                ></vaadin-grid-column>
179                <vaadin-grid-column
180                        header="Competitions"
181                        .renderer="${this.compsRenderer}"
182                        flex-grow="0"
183                        width="91px"
184                ></vaadin-grid-column>
185            </vaadin-grid>
186        `}};s.styles=[w,b,u.stylesBase,v`
187    `];n([d()],s.prototype,"tab",2);n([d()],s.prototype,"orgTab",2);n([d()],s.prototype,"searchText",2);n([d()],s.prototype,"searchResult",2);n([d()],s.prototype,"selectedOrg",2);n([d()],s.prototype,"federations",2);n([d()],s.prototype,"customers",2);n([d()],s.prototype,"email_selectedCountry",2);n([d()],s.prototype,"email_afterYear",2);n([d()],s.prototype,"email_allEmails",2);s=n([f("siteadmin-crm-list")],s);export{s as SiteAdminCrmList};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.