1import {PolymerElement, html} from '../../libs/polymer/3.5.2/polymer-element.js'; 2import {MutableData} from '../../libs/polymer/3.5.2/lib/mixins/mutable-data.js'; 3 4// https://www.captaincodeman.com/managing-state-in-polymer-20-beyond-parent-child-binding 5 6 7 8// XState: 9// https://bestofjs.org/projects?tags=state 10 11 12//export default XStoreConfigurer; 13class XStoreConfigurer extends PolymerElement { 14 constructor() { 15 super(); 16 } 17 18 config(options) { 19 20 function adjustUserSeCd(theme, userSeCd) { 21 switch(theme) { 22 case '4.0.0': 23 case '4.1.0': 24 case '4.2.0': 25 return "01"; 26 case '4.0.1': 27 case '4.1.1': 28 case '4.2.1': 29 return "02"; 30 case '4.0.2': 31 case '4.1.2': 32 case '4.2.2': 33 if(typeof userSeCd == 'string' && '02' == userSeCd) return '02'; 34 default : return "01"; 35 } 36 } 37 38 class XStore extends MutableData(PolymerElement) { 39 static get is() { 40 return 'x-store'; 41 } 42 static get template() { 43 return html` 44 `; 45 } 46 static get properties() { 47 return { 48 config: { 49 type: Object 50 , notify: true 51 , readOnly: false 52 , reflectToAttribute: true 53 , observer: 'configChanged' 54 , value() { 55 return { 56 loaded: false 57 , list: [] 58 , userSeCd: adjustUserSeCd(options.theme, options.userSeCd) 59 } 60 } 61 } 62 , vrsInstall: { 63 type: Object 64 , notify: true 65 , readOnly: false 66 , reflectToAttribute: true 67 , observer: 'certicateChanged' 68 , value() { 69 return { 70 support: false 71 , lvl: 1 72 , group: "01" 73 , vendor: "vrs" 74 , css: [] 75 , script: [] 76 , urls: {} 77 } 78 } 79 } 80 , mipInstall: { 81 type: Object 82 , notify: true 83 , readOnly: false 84 , reflectToAttribute: true 85 , observer: 'certicateChanged' 86 , value() { 87 return { 88 support: false 89 , lvl: 1 90 , group: "01" 91 , vendor: "mip" 92 , css: [] 93 , script: [] 94 , urls: {} 95 } 96 } 97 } 98 , vrsRelay: { 99 type: Object 100 , notify: true 101 , readOnly: false 102 , reflectToAttribute: true 103 , observer: 'certicateChanged' 104 , value() { 105 return { 106 support: false 107 , loaded: false 108 , lvl: 1 109 , group: "01" 110 , vendor: "vrs" 111 , instt: "" 112 } 113 } 114 } 115 , magcertInstall: { 116 type: Object 117 , notify: true 118 , readOnly: false 119 , reflectToAttribute: true 120 , observer: 'certicateChanged' 121 , value() { 122 return { 123 support: false 124 , lvl: 2 125 , group: "05" 126 , vendor: "dream" 127 , loaded: false 128 , initialized: false 129 , css: [] 130 , script: [] 131 , urls: {} 132 } 133 } 134 } 135 , magcertRelay: { 136 type: Object 137 , notify: true 138 , readOnly: false 139 , reflectToAttribute: true 140 , observer: 'certicateChanged' 141 , value() { 142 return { 143 support: false 144 , lvl: 2 145 , group: "05" 146 , vendor: "dream" 147 } 148 } 149 } 150 , anysignInstall: { 151 type: Object 152 , notify: true 153 , readOnly: false 154 , reflectToAttribute: true 155 , observer: 'certicateChanged' 156 , value() { 157 return { 158 support: false 159 , lvl: 2 160 , group: "05" 161 , vendor: "hancome" 162 , loaded: false 163 , initialized: false 164 , css: [] 165 , script: [] 166 , urls: {} 167 } 168 } 169 } 170 , anysignliteInstall: { 171 type: Object 172 , notify: true 173 , readOnly: false 174 , reflectToAttribute: true 175 , observer: 'certicateChanged' 176 , value() { 177 return { 178 support: false 179 , lvl: 2 180 , group: "05" 181 , vendor: "hancome" 182 , loaded: false 183 , initialized: false 184 , css: [] 185 , script: [] 186 , urls: {} 187 } 188 } 189 } 190 , anysignoptInstall: { 191 type: Object 192 , notify: true 193 , readOnly: false 194 , reflectToAttribute: true 195 , observer: 'certicateChanged' 196 , value() { 197 return { 198 support: false 199 , lvl: 2 200 , group: "05" 201 , vendor: "hancome" 202 , mode: 1 203 , loaded: false 204 , initialized: false 205 , css: [] 206 , script: [] 207 , urls: {} 208 } 209 } 210 } 211 , ksbizInstall: { 212 type: Object 213 , notify: true 214 , readOnly: false 215 , reflectToAttribute: true 216 , observer: 'certicateChanged' 217 , value() { 218 return { 219 support: false 220 , lvl: 2 221 , group: "05" 222 , vendor: "raon" 223 , loaded: false 224 , initialized: false 225 , css: [] 226 , script: [] 227 , urls: {} 228 } 229 } 230 } 231 , ksignInstall: { 232 type: Object 233 , notify: true 234 , readOnly: false 235 , reflectToAttribute: true 236 , observer: 'certicateChanged' 237 , value() { 238 return { 239 support: false 240 , lvl: 2 241 , group: "05" 242 , vendor: "ksign" 243 , loaded: false 244 , initialized: false 245 , css: [] 246 , script: [] 247 , urls: {} 248 } 249 } 250 } 251 , ksbizRelay: { 252 type: Object 253 , notify: true 254 , readOnly: false 255 , reflectToAttribute: true 256 , observer: 'certicateChanged' 257 , value() { 258 return { 259 support: false 260 , lvl: 2 261 , group: "05" 262 , vendor: "raon" 263 //, userSeCd: "01" 264 } 265 } 266 } 267 , fincertInstall: { 268 type: Object 269 , notify: true 270 , readOnly: false 271 , reflectToAttribute: true 272 , observer: 'certicateChanged' 273 , value() { 274 return { 275 support: false 276 , lvl: 2 277 , group: "02" 278 , vendor: "yeskey" 279 , loaded: false 280 , initialized: false 281 , css: [] 282 , script: [] 283 , urls: {} 284 } 285 } 286 } 287 , fincertRelay: { 288 type: Object 289 , notify: true 290 , readOnly: false 291 , reflectToAttribute: true 292 , observer: 'certicateChanged' 293 , value() { 294 return { 295 support: false 296 , lvl: 2 297 , group: "02" 298 , vendor: "yeskey" 299 , loaded: false 300 , initialized: false 301 } 302 } 303 } 304 , fincertcorpInstall: { 305 type: Object 306 , notify: true 307 , readOnly: false 308 , reflectToAttribute: true 309 , observer: 'certicateChanged' 310 , value() { 311 return { 312 support: false 313 , lvl: 2 314 , group: "02" 315 , vendor: "yeskey" 316 , loaded: false 317 , initialized: false 318 , css: [] 319 , script: [] 320 , urls: {} 321 } 322 } 323 } 324 , fincertcorpRelay: { 325 type: Object 326 , notify: true 327 , readOnly: false 328 , reflectToAttribute: true 329 , observer: 'certicateChanged' 330 , value() { 331 return { 332 support: false 333 , lvl: 2 334 , group: "02" 335 , vendor: "yeskey" 336 , loaded: false 337 , initialized: false 338 } 339 } 340 } 341 , fincertoptInstall: { 342 type: Object 343 , notify: true 344 , readOnly: false 345 , reflectToAttribute: true 346 , observer: 'certicateChanged' 347 , value() { 348 return { 349 support: false 350 , lvl: 2 351 , group: "02" 352 , vendor: "yeskey" 353 , mode: 1 354 , loaded: false 355 , initialized: false 356 , css: [] 357 , script: [] 358 , urls: {} 359 } 360 } 361 } 362 , fincertoptRelay: { 363 type: Object 364 , notify: true 365 , readOnly: false 366 , reflectToAttribute: true 367 , observer: 'certicateChanged' 368 , value() { 369 return { 370 support: false 371 , lvl: 2 372 , group: "02" 373 , vendor: "yeskey" 374 , mode: 1 375 , loaded: false 376 , initialized: false 377 , css: [] 378 , script: [] 379 , urls: {} 380 } 381 } 382 } 383 , esignInstall: { 384 type: Object 385 , notify: true 386 , readOnly: false 387 , reflectToAttribute: true 388 , observer: 'certicateChanged' 389 , value() { 390 return { 391 support: false 392 , lvl: 3 393 , group: "03" 394 , vendor: "esign" 395 , css: [] 396 , script: [] 397 , urls: {} 398 } 399 } 400 } 401 , esignRelay: { 402 type: Object 403 , notify: true 404 , readOnly: false 405 , reflectToAttribute: true 406 , observer: 'certicateChanged' 407 , value() { 408 return { 409 support: false 410 , lvl: 3 411 , group: "03" 412 , vendor: "esign" 413 , loaded: false 414 } 415 } 416 } 417 , socialRelay: { 418 type: Object 419 , notify: true 420 , readOnly: false 421 , reflectToAttribute: true 422 , observer: 'certicateChanged' 423 , value() { 424 return { 425 support: false 426 , lvl: 4 427 , group: "04" 428 , vendor: "pid" 429 , loaded: false 430 } 431 } 432 } 433 , options: { 434 type: Object 435 , notify: true 436 , readOnly: false 437 , reflectToAttribute: true 438 , observer: 'optionsChanged' 439 , value() { 440 return { 441 lvl: 1 442 } 443 } 444 } 445 , organization: { 446 type: Object 447 , notify: true 448 , readOnly: false 449 , reflectToAttribute: true 450 , observer: 'organizationChanged' 451 , value() { 452 return { 453 srvcNo: "" 454 } 455 } 456 } 457 , calloutBox: { 458 type: Object 459 , notify: true 460 , readOnly: false 461 , reflectToAttribute: true 462 , observer: 'calloutBoxChanged' 463 , value() { 464 return { 465 urls: { 466 userMng: "" 467 , userReg: "" 468 } 469 } 470 } 471 } 472 , news: { 473 type: Object 474 , notify: true 475 , readOnly: false 476 , reflectToAttribute: true 477 , observer: 'newsChanged' 478 , value() { 479 return [] 480 } 481 } 482 , identityVerification : { 483 type: Object 484 , notify: true 485 , readOnly: false 486 , reflectToAttribute: true 487 , observer: 'identityVerificationChanged' 488 , value() { 489 return { 490 } 491 } 492 } 493 , resources : { 494 type: Object 495 , notify: true 496 , readOnly: false 497 , reflectToAttribute: true 498 , observer: 'resourcesChanged' 499 , value() { 500 return { 501 } 502 } 503 } 504 , language: { 505 type: String 506 , readOnly: false 507 , notify: true 508 , reflectToAttribute: true 509 , observer: 'languageChanged' 510 , value() { 511 return "ko"; 512 } 513 } 514 }; 515 } 516 static get observers() { 517 return [ 518 'stateChanged(*)' 519 //'configChanged(config.*)' 520 ] 521 } 522 ready(){ 523 super.ready(); 524 } 525 configChanged(newValue, oldValue) { 526 //console.log('configChanged:', newValue + oldValue); 527 } 528 certicateChanged(newValue, oldValue) { 529 //console.log('certicateChanged:', newValue + oldValue); 530 } 531 optionsChanged(newValue, oldValue) { 532 //console.log('optionsChanged:', newValue + oldValue); 533 } 534 organizationChanged(newValue, oldValue) { 535 //console.log('organizationChanged:', newValue + oldValue); 536 } 537 calloutBoxChanged(newValue, oldValue) { 538 //console.log('calloutBoxChanged:', newValue + oldValue); 539 } 540 newsChanged(newValue, oldValue) { 541 //console.log('newsChanged:', newValue + oldValue); 542 } 543 identityVerificationChanged(newValue, oldValue) { 544 //console.log('identityVerificationChanged:', newValue + oldValue); 545 } 546 resourcesChanged(newValue, oldValue) { 547 //console.log('resourcesChanged:', newValue + oldValue); 548 } 549 languageChanged(newValue, oldValue) { 550 //this.dispatchEvent(new CustomEvent("there-is-a-change", { 551 // detail: { 552 // path: state.path 553 // } 554 //})); 555 } 556 stateChanged(state) { 557 console.log("Changed!" + state); 558 //this.dispatchEvent(new CustomEvent("there-is-a-change", { 559 // detail: { 560 // path: ""//state.path 561 // } 562 //})); 563 } 564 } 565 566 customElements.define('x-store', XStore); 567 return new XStore(); 568 } 569} 570
571export { XStoreConfigurer };
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.