{"version":3,"file":"mayiwen_angular.mjs","sources":["../../src/app/myw/util/directive/debounce.ts","../../src/app/myw/util/directive/throttle.ts","../../src/app/myw/util/myw-tabs.module.ts","../../src/app/myw/util/debounce-throttle.ts","../../src/app/myw/module/input/directive/input/myw-input.directive.ts","../../src/app/myw/module/gap/myw-gap.component.ts","../../src/app/myw/module/gap/myw-gap.component.html","../../src/app/myw/module/loading/myw-loading.component.ts","../../src/app/myw/module/loading/myw-loading.component.html","../../src/app/myw/module/button/myw-button.component.ts","../../src/app/myw/module/button/myw-button.component.html","../../src/app/myw/module/editor/myw-editor.component.ts","../../src/app/myw/module/editor/myw-editor.component.html","../../src/app/myw/testcomponent/editor/myw-test-editor.component.ts","../../src/app/myw/testcomponent/editor/myw-test-editor.component.html","../../src/app/myw/module/loading/service/myw-loading.service.ts","../../src/app/myw/module/loading/myw-loading.module.ts","../../src/app/myw/module/button/component/directive/myw-button.directive.ts","../../src/app/myw/module/button/myw-button.module.ts","../../src/app/myw/module/icon/loading/myw-icon.component.ts","../../src/app/myw/module/icon/loading/myw-icon.component.html","../../src/app/myw/module/icon/loading/myw-icon.module.ts","../../src/app/myw/module/editor/myw-editor.module.ts","../../src/app/myw/module/alert/myw-alert.component.ts","../../src/app/myw/module/alert/myw-alert.component.html","../../src/app/myw/module/alert/service/myw-alert.service.ts","../../src/app/myw/module/message/myw-message.component.ts","../../src/app/myw/module/message/myw-message.component.html","../../src/app/myw/module/message/service/myw-message.service.ts","../../src/app/myw/testcomponent/about/myw-test-about.component.ts","../../src/app/myw/testcomponent/about/myw-test-about.component.html","../../src/app/myw/module/tabs/directive/myw-tab.directive.ts","../../src/app/myw/module/tabs/tab/myw-tab.component.ts","../../src/app/myw/module/tabs/tab/myw-tab.component.html","../../src/app/myw/module/tabs/myw-tabs.component.ts","../../src/app/myw/module/tabs/myw-tabs.component.html","../../src/app/myw/testcomponent/tabs/myw-test-tab.component.ts","../../src/app/myw/testcomponent/tabs/myw-test-tab.component.html","../../src/app/myw/module/input/myw-input.component.ts","../../src/app/myw/module/input/myw-input.component.html","../../src/app/myw/module/input/component/date/myw-date.component.ts","../../src/app/myw/module/input/component/date/myw-date.component.html","../../src/app/myw/module/drag/service/myw-drag.service.ts","../../src/app/myw/module/drag/myw-drag.component.ts","../../src/app/myw/module/drag/myw-drag.component.html","../../src/app/myw/testcomponent/drag/myw-test-drag.component.ts","../../src/app/myw/testcomponent/drag/myw-test-drag.component.html","../../src/app/myw/module/drag/myw-drag.module.ts","../../src/app/myw/module/grid/directive/myw-grid.directive.ts","../../src/app/myw/module/grid2/myw-grid2.component.ts","../../src/app/myw/module/grid2/myw-grid2.component.html","../../src/app/myw/module/grid2/myw-grid2.module.ts","../../src/app/myw/testcomponent/grid2/myw-test-grid2.component.ts","../../src/app/myw/testcomponent/grid2/myw-test-grid2.component.html","../../src/app/myw/module/modal/directive/myw-modal-footer.directive.ts","../../src/app/myw/module/tree/directive/myw-tree.directive.ts","../../src/app/myw/module/input/component/select/myw-select.service.ts","../../src/app/myw/module/input/component/select/option/myw-option.component.ts","../../src/app/myw/module/input/component/select/option/myw-option.component.html","../../src/app/myw/module/input/component/select/myw-select.component.ts","../../src/app/myw/module/input/component/select/myw-select.component.html","../../src/app/myw/module/input/component/number/myw-input-number.component.ts","../../src/app/myw/module/input/component/number/myw-input-number.component.html","../../src/app/myw/module/row/directive/myw-col.directive.ts","../../src/app/myw/module/row/myw-row.component.ts","../../src/app/myw/module/row/myw-row.component.html","../../src/app/myw/directive/form/check-empty-object.directive.ts","../../src/app/myw/testcomponent/form/myw-test-form.component.ts","../../src/app/myw/testcomponent/form/myw-test-form.component.html","../../src/app/myw/directive/lazy/defer-load.directive.ts","../../src/app/myw/module/center/myw-center.component.ts","../../src/app/myw/module/center/myw-center.component.html","../../src/app/myw/module/grid/myw-grid.component.ts","../../src/app/myw/module/grid/myw-grid.component.html","../../src/app/myw/module/input/component/textarea/myw-textarea.component.ts","../../src/app/myw/module/input/component/textarea/myw-textarea.component.html","../../src/app/myw/module/modal/directive/myw-modal-header.directive.ts","../../src/app/myw/module/modal/directive/myw-modal-section.directive.ts","../../src/app/myw/module/modal/myw-modal.component.ts","../../src/app/myw/module/modal/myw-modal.component.html","../../src/app/myw/module/page/myw-page.component.ts","../../src/app/myw/module/page/myw-page.component.html","../../src/app/myw/module/split/myw-split.component.ts","../../src/app/myw/module/split/myw-split.component.html","../../src/app/myw/module/table/component/line/myw-table-line.component.ts","../../src/app/myw/module/table/component/line/myw-table-line.component.html","../../src/app/myw/module/table/component/myw-table-col.component.ts","../../src/app/myw/module/table/component/myw-table-col.component.html","../../src/app/myw/module/table/directive/myw-table.directive.ts","../../src/app/myw/module/table/myw-table.component.ts","../../src/app/myw/module/table/myw-table.component.html","../../src/app/myw/module/tooltip/myw-tooltip.component.ts","../../src/app/myw/module/tooltip/myw-tooltip.component.html","../../src/app/myw/module/tree/myw-tree.component.ts","../../src/app/myw/module/tree/myw-tree.component.html","../../src/app/myw/testcomponent/split/myw-test-split.component.ts","../../src/app/myw/testcomponent/split/myw-test-split.component.html","../../src/app/myw/testcomponent/loading/myw-test-loading.component.ts","../../src/app/myw/testcomponent/loading/myw-test-loading.component.html","../../src/app/myw/testcomponent/tooltip/myw-test-tooltip.component.ts","../../src/app/myw/testcomponent/tooltip/myw-test-tooltip.component.html","../../src/app/myw/testcomponent/table/myw-test-table.component.ts","../../src/app/myw/testcomponent/table/myw-test-table.component.html","../../src/app/myw/testcomponent/alert/myw-test-alert.component.ts","../../src/app/myw/testcomponent/alert/myw-test-alert.component.html","../../src/app/myw/testcomponent/message/myw-test-message.component.ts","../../src/app/myw/testcomponent/message/myw-test-message.component.html","../../src/app/myw/testcomponent/modal/myw-test-modal.component.ts","../../src/app/myw/testcomponent/modal/myw-test-modal.component.html","../../src/app/myw/testcomponent/icon/myw-test-icon.component.ts","../../src/app/myw/testcomponent/icon/myw-test-icon.component.html","../../src/app/myw/testcomponent/gap/myw-test-gap.component.ts","../../src/app/myw/testcomponent/gap/myw-test-gap.component.html","../../src/app/myw/testcomponent/lazy/myw-test-lazy.component.ts","../../src/app/myw/testcomponent/lazy/myw-test-lazy.component.html","../../src/app/myw/testcomponent/tree/myw-test-tree.component.ts","../../src/app/myw/testcomponent/tree/myw-test-tree.component.html","../../src/app/myw/testcomponent/page/myw-test-page.component.ts","../../src/app/myw/testcomponent/page/myw-test-page.component.html","../../src/app/myw/testcomponent/row/myw-test-row.component.ts","../../src/app/myw/testcomponent/row/myw-test-row.component.html","../../src/app/myw/myw.component.ts","../../src/app/myw/myw.component.html","../../src/app/myw/testcomponent/commonTest/myw-test-common.component.ts","../../src/app/myw/testcomponent/commonTest/myw-test-common.component.html","../../src/app/myw/testcomponent/grid/myw-test-grid.component.ts","../../src/app/myw/testcomponent/grid/myw-test-grid.component.html","../../src/app/myw/testcomponent/select/myw-test-select.component.ts","../../src/app/myw/testcomponent/select/myw-test-select.component.html","../../src/app/myw/testcomponent/tabsTest/myw-test-tabs.component.ts","../../src/app/myw/testcomponent/tabsTest/myw-test-tabs.component.html","../../src/app/myw/module/alert/myw-alert.module.ts","../../src/app/myw/module/center/myw-center.module.ts","../../src/app/myw/module/gap/myw-gap.module.ts","../../src/app/myw/module/grid/myw-grid.module.ts","../../src/app/myw/module/input/myw-input.module.ts","../../src/app/myw/module/message/myw-message.module.ts","../../src/app/myw/module/modal/myw-modal.module.ts","../../src/app/myw/module/page/myw-page.module.ts","../../src/app/myw/module/row/myw-row.module.ts","../../src/app/myw/module/split/myw-split.module.ts","../../src/app/myw/module/table/myw-table.module.ts","../../src/app/myw/module/tabs/myw-tabs.module.ts","../../src/app/myw/module/tooltip/myw-tooltip.module.ts","../../src/app/myw/module/tree/myw-tree.module.ts","../../src/app/myw/myw.service.ts","../../src/app/myw/myw-routing.mdule.ts","../../src/app/myw/testcomponent/index.ts","../../src/app/myw/myw.module.ts","../../mayiwen_angular.ts"],"sourcesContent":["import { Directive, EventEmitter, HostListener, OnInit, Output, OnDestroy, Input } from '@angular/core';\r\nimport { Subject, Subscription } from 'rxjs';\r\nimport { debounceTime } from 'rxjs/operators';\r\n/**\r\n * 点击节流器：避免连续点击\r\n */\r\n@Directive({\r\n  selector: '[myw-debounce]'\r\n})\r\nexport class MywDebounceClickDirective implements OnInit, OnDestroy {\r\n  // 一定的时间内只执行第一个事件\r\n  @Input() time: number = 300\r\n  private subject = new Subject<MouseEvent>();\r\n  private click?: Subscription;\r\n  // 事件方法\r\n  @Output() mywClick = new EventEmitter();\r\n  constructor() { }\r\n \r\n  ngOnInit(): void {\r\n    const result = this.subject.pipe(\r\n      debounceTime(this.time)\r\n    );\r\n    this.click = result.subscribe(e => {\r\n      this.mywClick.emit(e)\r\n    })\r\n \r\n  }\r\n \r\n  ngOnDestroy() {\r\n    this.click?.unsubscribe();\r\n  }\r\n \r\n  @HostListener('click', ['$event'])\r\n  onClick(evt: MouseEvent) {\r\n    this.subject.next(evt);\r\n  }\r\n}","import { Directive, EventEmitter, HostListener, OnInit, Output, OnDestroy, Input } from '@angular/core';\r\nimport { Subject, Subscription } from 'rxjs';\r\nimport { throttleTime } from 'rxjs/operators';\r\n/**\r\n * 点击节流器：避免连续点击\r\n */\r\n@Directive({\r\n  selector: '[myw-throttle]'\r\n})\r\nexport class MywThrottleClickDirective implements OnInit, OnDestroy {\r\n  // 一定的时间内只执行第一个事件\r\n  @Input() time: number = 300\r\n\r\n  private subject = new Subject<MouseEvent>();\r\n  private click?: Subscription;\r\n  // 事件方法\r\n  @Output() mywClick = new EventEmitter();\r\n  constructor() { }\r\n \r\n  ngOnInit(): void {\r\n    const result = this.subject.pipe(\r\n      throttleTime(this.time)\r\n    );\r\n    this.click = result.subscribe(e => {\r\n      this.mywClick.emit(e)\r\n    })\r\n \r\n  }\r\n \r\n  ngOnDestroy() {\r\n    this.click?.unsubscribe();\r\n  }\r\n \r\n  @HostListener('click', ['$event'])\r\n  onClick(evt: MouseEvent) {\r\n    this.subject.next(evt);\r\n  }\r\n}","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MywDebounceClickDirective } from './directive/debounce';\r\nimport { MywThrottleClickDirective } from './directive/throttle';\r\n\r\nconst components = [MywThrottleClickDirective, MywDebounceClickDirective];\r\n@NgModule({\r\n  declarations: [...components],\r\n  exports: [...components],\r\n  imports: [CommonModule, FormsModule, ReactiveFormsModule],\r\n  bootstrap: [],\r\n  providers: [],\r\n})\r\nexport class UtilModule {}\r\n","\r\nexport class mywDebounceThrottle {\r\n    public static mywDebounce(fn: Function, millisecond = 300) {\r\n        let timeout: any = null;\r\n        return  () => {\r\n            if (timeout) clearTimeout(timeout);\r\n            timeout = setTimeout(() => {\r\n                fn.apply(this, arguments)\r\n            }, millisecond)\r\n        }\r\n    }\r\n    public static mywThrottle(fn: Function, millisecond = 300) {\r\n        let timeout: any = null;\r\n        return  () => {\r\n            if (timeout) return;\r\n            timeout = setTimeout(() => {\r\n                fn.apply(this, arguments)\r\n                timeout = null;\r\n            }, millisecond)\r\n        }\r\n    }\r\n}","import { AfterViewInit, ChangeDetectorRef, Directive, ElementRef, HostListener, Input, OnChanges, OnInit, SimpleChanges, forwardRef, inject } from \"@angular/core\";\r\nimport { AbstractControl, ControlValueAccessor, NG_VALIDATORS, NG_VALUE_ACCESSOR, ValidationErrors, Validator, ValidatorFn } from \"@angular/forms\";\r\n@Directive({\r\n  selector: '[myw-input]',\r\n})\r\n/**\r\n * 如果是个对像的话，// <input type=\"text\" id=\"name\" name=\"name\" class=\"form-control\" mywCheckEmpytObjectDirective=\"name\" [(ngModel)]=\"test\" #name=\"ngModel\">  应给mywCheckEmpytObjectDirective指定一个属性名。\r\n * 如果不是对象，直接使用 <input type=\"text\" id=\"name\" name=\"name\" class=\"form-control\" mywCheckEmpytObjectDirective [(ngModel)]=\"test\" #name=\"ngModel\"> 不用加属性名\r\n */\r\nexport class MywInputDirective implements OnInit, OnChanges, AfterViewInit{\r\n\r\n  @Input('reg') reg? = ''\r\n  private inputSave = ''\r\n  _fathrData: any = ''\r\n  fatherDataCopy: any = ''\r\n  constructor(private cdr: ChangeDetectorRef){}\r\n  ngOnChanges(changes: SimpleChanges): void {\r\n    console.log('changes 执行了')\r\n    console.log(changes)\r\n  }\r\n  private elementRef = inject(ElementRef);\r\n  ngOnInit() {\r\n    this.elementRef.nativeElement.classList.add('mayiwen_from_bg')\r\n    this.elementRef.nativeElement.classList.add('mayiwen_border')\r\n    this.elementRef.nativeElement.classList.add('mayiwen_radius')\r\n    // this.elementRef.nativeElement.classList.add('mayiwen_color')\r\n    this.elementRef.nativeElement.style['height'] = '26px';\r\n    this.elementRef.nativeElement.style['box-sizing'] = 'border-box';\r\n    this.elementRef.nativeElement.style['outline'] = 'none';\r\n    this.elementRef.nativeElement.style['padding'] = '0 4px';\r\n  }\r\n  ngAfterViewInit(): void {\r\n    this.inputSave = this.elementRef.nativeElement.value\r\n  }\r\n\r\n  \r\n}","import {\r\n  AfterViewInit,\r\n  Component,\r\n  Input,\r\n  OnInit,\r\n} from '@angular/core';\r\n@Component({\r\n  selector: 'myw-gap',\r\n  templateUrl: './myw-gap.component.html',\r\n  styleUrls: ['./myw-gap.component.less'],\r\n  providers: [\r\n  ],\r\n})\r\nexport class MywGapComponent implements AfterViewInit{\r\n  @Input() w: string = '';\r\n  @Input() h: string = '';\r\n  constructor() {\r\n  }\r\n  ngOnInit() {\r\n    if (this.w && this.h) {\r\n      this.w = ''\r\n    }\r\n    if (!this.w && !this.h) {\r\n      this.h = '8'\r\n    }\r\n  }\r\n  ngAfterViewInit(): void {\r\n\r\n  }\r\n  get height() {\r\n    return this.h\r\n  }\r\n  get width() {\r\n    return this.w\r\n  }\r\n \r\n}\r\n","<div *ngIf=\"this.h\" [ngStyle]=\"{height: height + 'px'}\"></div>\r\n<span style=\"display: inline-block;\" *ngIf=\"this.w\" [ngStyle]=\"{width: width + 'px'}\"></span>\r\n","import { AfterViewInit, ChangeDetectorRef, Component, ContentChild, EventEmitter, Input, OnInit, Output, TemplateRef, ViewChild } from '@angular/core';\r\n@Component({\r\n  selector: 'myw-loading',\r\n  templateUrl: './myw-loading.component.html',\r\n  styleUrls: ['./myw-loading.component.less'],\r\n  providers: []\r\n})\r\nexport class MywLoadingComponent implements  AfterViewInit {\r\n  \r\n  @Input() v = '';\r\n  @Input() h?: string;\r\n  /** 请传入具体的内容，如 20px 或 50%这样的。 */\r\n  @Input() w?: string;\r\n  @Input() t?: string;\r\n  @Input() fixed?: boolean = true;\r\n  flagShow = false;\r\n  selectTab = 0;\r\n  deg = 0\r\n  /** setInterval 解订阅 */\r\n  timer: any\r\n  /** 指定宽高，必须是正方形，暂不支持其他形式的loading */\r\n  constructor(private cdr: ChangeDetectorRef) {\r\n  }\r\n  get wh() {\r\n    if (this.message === 'fixed')\r\n    return '100%'\r\n    return this.w ? this.w : this.h ? this.h : '20px'\r\n  }\r\n  @Input()\r\n  get message() {\r\n    return this._message;\r\n  }\r\n  set message(message) {\r\n    this._message = message;\r\n  }\r\n  private _message = {};\r\n\r\n  ngOnDestroy(): void {\r\n    if (this.timer) clearInterval(this.timer)\r\n  }\r\n  ngAfterViewInit(): void {\r\n    this.timer = setInterval(() => {\r\n      this.deg = this.deg + 1\r\n      if (this.deg === 360) this.deg = 0\r\n    }, 10)\r\n  }\r\n  ngOnInit(): void {\r\n  }\r\n  nextTick() {\r\n      this.cdr.markForCheck();\r\n      this.cdr.detectChanges();\r\n  }\r\n  @Output() closed = new EventEmitter<void>();\r\n  cancel() {\r\n    this.closed.next()\r\n  }\r\n}\r\n","<div class=\"box\" [ngClass]=\"{fixed: message === 'fixed'}\" [ngStyle]=\"{width: wh, height: wh}\">\r\n    <div class=\"box\" [ngStyle]=\"{transform: 'rotate(' + deg +'deg)', width: wh, height: wh}\">\r\n        <div [class]=\"'inner inner' + item\" *ngFor=\"let item of [0, 1, 2, 3, 4, 5, 6, 7];\">\r\n            <div class=\"single\"></div>\r\n        </div>\r\n    </div>\r\n</div>","import { AfterViewInit, ChangeDetectorRef, Component, ContentChild, ElementRef, HostBinding, HostListener, Input, OnInit, TemplateRef, ViewChild } from '@angular/core';\r\n@Component({\r\n  selector: 'myw-button',\r\n  templateUrl: './myw-button.component.html',\r\n  styleUrls: ['./myw-button.component.scss'],\r\n  providers: []\r\n})\r\nexport class MywButtonComponent implements  AfterViewInit {\r\n  @Input('loading') loading: any\r\n  @Input('disabled') disabled: any\r\n  @Input('active') active: any\r\n  @Input('t') t = ''\r\n  @Input('w') w = ''\r\n  get type () {\r\n    if (this.t) return this.t\r\n    return 'default'\r\n  }\r\n  ngAfterViewInit(): void {\r\n    // this.disabled = true\r\n  }\r\n  \r\n  @HostBinding('style.pointer-events') get pEvents(): string {\r\n    if (this.loading || this.disabled) {\r\n      return 'none';\r\n    }\r\n    return 'auto';\r\n  }\r\n  @HostBinding('style.cursor') get cursorEvents(): string {\r\n    if (this.loading) {\r\n      return 'wait';\r\n    }\r\n    return 'pointer';\r\n  }\r\n}\r\n ","<button [disabled]=\"loading\" [class]=\"type\" [ngClass]=\"{active: active}\" [ngStyle]=\"{width: w + 'px'}\">\r\n    <myw-loading w=\"24px\" *ngIf=\"loading\"></myw-loading>\r\n    <div class=\"disabled\" *ngIf=\"disabled\" ></div>\r\n    <ng-content></ng-content>\r\n</button>","import {\r\n  AfterViewInit,\r\n  ChangeDetectorRef,\r\n  Component,\r\n  ContentChild,\r\n  ElementRef,\r\n  EventEmitter,\r\n  forwardRef,\r\n  Input,\r\n  OnInit,\r\n  Output,\r\n  QueryList,\r\n  ViewChild,\r\n  ViewChildren,\r\n} from '@angular/core';\r\nimport { Editor } from './i/editor.i';\r\n@Component({\r\n  selector: 'myw-editor',\r\n  templateUrl: './myw-editor.component.html',\r\n  styleUrls: ['./myw-editor.component.scss'],\r\n  providers: [\r\n  ],\r\n})\r\nexport class MywEditorComponent{\r\n  @ViewChild('edit') edit!: ElementRef\r\n  private editor: Editor = {\r\n    tag: 'div',\r\n    class: []\r\n  }\r\n\r\n  tools: Tool[] = [\r\n    {value: 'h1'}\r\n  ]\r\n  constructor() {\r\n  }\r\n  closeClick() {\r\n  }\r\n  /** copy from  */\r\n  // handleClickTool (tool: Tool) {\r\n  //   const {value, command = 'formatblock'} = tool\r\n  //   this.edit.nativeElement.focus()\r\n  //   document.execCommand(command, false, value)\r\n  // }\r\n  preventDefault(e: DragEvent ) {\r\n    e.preventDefault()\r\n  }\r\n\r\n  containerDrop(e: any) {\r\n    this.preventDefault(e)\r\n    console.log(e)\r\n    const files = [] as any;\r\n    [].forEach.call(\r\n      e.dataTransfer.files,\r\n      (file) => {\r\n        files.push(file);\r\n      },\r\n      false\r\n    );\r\n    console.log('这是files');\r\n    console.log(files);\r\n    files.forEach((item: any) => {\r\n      var reader = new FileReader();\r\n      reader.readAsDataURL(files[0]);\r\n      reader.onload = () => {\r\n          console.log(reader.result); //获取到base64格式图片\r\n          let str = ''\r\n          str = <string>reader.result\r\n          const {value = 'a', command = 'formatblock', v = 'a'} =     {value: 'a', v: 'a', command: ''}\r\n          this.edit.nativeElement.focus()\r\n          document.execCommand(command, false, str)\r\n      };\r\n    })\r\n  }\r\n\r\n  addTag(tool: Tool) {\r\n    \r\n  }\r\n  \r\n}\r\ninterface Tool  {\r\n  value: string\r\n}\r\n","<div #editor>\r\n  <div #tool class=\"tool\">\r\n    <myw-button *ngFor=\"let item of tools\" (click)=\"addTag(item)\">{{\r\n      item.value\r\n    }}</myw-button>\r\n    <myw-button>图片</myw-button>\r\n  </div>\r\n  <div\r\n    #edit\r\n    class=\"edit\"\r\n    (dragover)=\"preventDefault($event)\"\r\n    (dragenter)=\"preventDefault($event)\"\r\n    (dragenter)=\"preventDefault($event)\"\r\n    (drop)=\"containerDrop($event)\"\r\n    draggable=\"true\"\r\n  >\r\n  \r\n</div>\r\n</div>\r\n","import {\r\n  AfterViewInit,\r\n  ChangeDetectorRef,\r\n  Component,\r\n  EventEmitter,\r\n  Input,\r\n  OnDestroy,\r\n  OnInit,\r\n  Output,\r\n  ViewChild,\r\n} from '@angular/core';\r\n@Component({\r\n  selector: 'myw-test-editor',\r\n  templateUrl: './myw-test-editor.component.html',\r\n  styleUrls: ['./myw-test-editor.component.less'],\r\n  providers: [],\r\n})\r\nexport class MywTestEditorComponent implements OnInit, AfterViewInit, OnDestroy {\r\n  constructor(private cdr: ChangeDetectorRef) {}\r\n  ngAfterViewInit(): void {\r\n  }\r\n  ngOnDestroy(): void {\r\n  }\r\n  ngOnInit(): void {\r\n  }\r\n}\r\n","<myw-gap></myw-gap>\r\n<h1>myw-editor 富文本编辑器</h1>\r\n<h3>\r\n  思想先行：我看富文本编辑器都是基于原生的技术去实现，没有人用到组件技术。尝试用组件化数据绑定的思想实现一个富文本编辑器。尝试一下，如果失败了就推倒重来。\r\n</h3>\r\n<p>\r\n</p>\r\n\r\n<myw-editor></myw-editor>","import {\r\n  ApplicationRef,\r\n  ComponentFactoryResolver,\r\n  Injectable,\r\n  Injector,\r\n} from '@angular/core';\r\nimport { MywLoadingComponent } from '../myw-loading.component';\r\n\r\n@Injectable()\r\nexport class MywLoadingService {\r\n  popupElement : any\r\n  popup : any\r\n  popupComponentRef : any\r\n  constructor(\r\n    private injector: Injector,\r\n    private applicationRef: ApplicationRef,\r\n    private componentFactoryResolver: ComponentFactoryResolver\r\n  ) {\r\n  }\r\n\r\n  // Previous dynamic-loading method required you to set up infrastructure\r\n  // before adding the popup to the DOM.\r\n  private showAsComponent() {\r\n    if (!this.popup) {\r\n      // Create element\r\n      this.popup = document.createElement('popup-component');\r\n      // Create the component and wire it up with the element\r\n      const factory = this.componentFactoryResolver.resolveComponentFactory(\r\n        MywLoadingComponent\r\n      );\r\n      this.popupComponentRef = factory.create(this.injector, [], this.popup);\r\n      console.log('这是element showAsComponent');\r\n      // Attach to the view so that the change detector knows to run\r\n      this.applicationRef.attachView(this.popupComponentRef.hostView);\r\n\r\n      // Listen to the close event\r\n      this.popupComponentRef.instance.closed.subscribe(() => {\r\n        document.body.removeChild(this.popup);\r\n        this.applicationRef.detachView(this.popupComponentRef.hostView);\r\n        this.popup = null\r\n      });\r\n      this.popupComponentRef.instance.message = 'fixed';\r\n      // Set the message\r\n\r\n      // Add to the DOM\r\n      document.body.appendChild(this.popup);\r\n    } else {\r\n    }\r\n  }\r\n\r\n  show() {\r\n    this.showAsComponent()\r\n  }\r\n  hide() {\r\n    document.body.removeChild(this.popup)\r\n    this.popup = null\r\n  }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MywLoadingComponent } from './myw-loading.component';\r\nimport { MywLoadingService } from './service/myw-loading.service';\r\nconst components = [\r\n  MywLoadingComponent,\r\n];\r\n@NgModule({\r\n  declarations: [...components],\r\n  exports: [...components],\r\n  imports: [CommonModule, FormsModule, ReactiveFormsModule],\r\n  bootstrap: [],\r\n  providers: [MywLoadingService],\r\n})\r\nexport class MywLoadingModule {}\r\n","import { Directive, ElementRef, HostListener } from '@angular/core';\r\n@Directive({\r\n  selector: '[myw-button]'//这个指令名可以自己修改\r\n})\r\nexport class MywButtonDirDirective {\r\n  constructor(private el: ElementRef) {\r\n    el.nativeElement.style.backgroundColor = '#f0f0f0';//背景色修改为黄色\r\n    el.nativeElement.style.color = 'black';\r\n    el.nativeElement.style.border = '1px solid #cccccc';\r\n    el.nativeElement.style.lineHeight = '26px';\r\n    el.nativeElement.style.minWidth = '50px';\r\n    el.nativeElement.style.padding = '0 10px';\r\n    el.nativeElement.style.borderRadius = '3px';\r\n  }\r\n  @HostListener('mouseenter') onMouseEnter() {\r\n    this.el.nativeElement.style.backgroundColor = '#c2c5d1';\r\n    this.el.nativeElement.style.border = '1px solid #cccccc';\r\n  }\r\n  @HostListener('mouseleave') onMouseLeave() {\r\n    this.el.nativeElement.style.transform = 'scale(1)'\r\n    this.el.nativeElement.style.backgroundColor = '#f0f0f0';\r\n    this.el.nativeElement.style.border = '1px solid #cccccc';\r\n  }\r\n  @HostListener('click') onactive() {\r\n    this.el.nativeElement.style.transform = 'scale(.95)';\r\n    this.el.nativeElement.style.border = '1px solid #cccccc';\r\n  }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MywButtonDirDirective } from './component/directive/myw-button.directive';\r\nimport { MywButtonComponent } from './myw-button.component';\r\nimport { MywLoadingModule } from '../loading/myw-loading.module';\r\nconst components = [\r\n  MywButtonDirDirective,\r\n  MywButtonComponent\r\n];\r\n@NgModule({\r\n  declarations: [...components],\r\n  exports: [...components],\r\n  imports: [CommonModule, FormsModule, ReactiveFormsModule, MywLoadingModule],\r\n  bootstrap: [],\r\n  providers: [MywButtonDirDirective],\r\n})\r\nexport class MywButtonModule {}\r\n","import { AfterViewInit, ChangeDetectorRef, Component, ContentChild, EventEmitter, Input, OnInit, Output, TemplateRef, ViewChild } from '@angular/core';\r\n@Component({\r\n  selector: 'myw-icon',\r\n  templateUrl: './myw-icon.component.html',\r\n  styleUrls: ['./myw-icon.component.scss'],\r\n  providers: []\r\n})\r\nexport class MywIconComponent implements  AfterViewInit {\r\n  @Input () icon: string = ''\r\n  @Input () w: string | number = 24\r\n  @Input () h: string | number = 28\r\n  @Input () x?: string | number = 0\r\n  @Input () y?: string | number = 0\r\n  \r\n  \r\n  /** 指定宽高，必须是正方形，暂不支持其他形式的loading */\r\n  constructor(private cdr: ChangeDetectorRef) {\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n  }\r\n  ngAfterViewInit(): void {\r\n  }\r\n  ngOnInit(): void {\r\n  }\r\n  nextTick() {\r\n      this.cdr.markForCheck();\r\n      this.cdr.detectChanges();\r\n  }\r\n}\r\n","<svg class=\"icon\" aria-hidden=\"true\" [ngStyle]=\"{'height': h + 'px', 'width': w + 'px', 'transform': 'translate(' + x +'px, ' + y+ 'px)' }\">\r\n    <use  [attr.xlink:href]=\"'#' + icon\"></use>\r\n</svg>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MywIconComponent } from './myw-icon.component';\r\nconst components = [\r\n  MywIconComponent,\r\n];\r\n@NgModule({\r\n  declarations: [...components],\r\n  exports: [...components],\r\n  imports: [CommonModule, FormsModule, ReactiveFormsModule],\r\n  bootstrap: [],\r\n  providers: [],\r\n})\r\nexport class MywIconModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MywLoadingModule } from '../loading/myw-loading.module';\r\nimport { MywButtonModule } from '../button/myw-button.module';\r\nimport { MywIconModule } from '../icon/loading/myw-icon.module';\r\nimport { MywEditorComponent } from './myw-editor.component';\r\nconst components = [\r\n  MywEditorComponent\r\n];\r\n@NgModule({\r\n  declarations: [...components],\r\n  exports: [...components],\r\n  imports: [CommonModule, FormsModule, ReactiveFormsModule, MywLoadingModule, MywButtonModule, MywIconModule],\r\n  bootstrap: [],\r\n  providers: [],\r\n})\r\nexport class MywEditorModule {}\r\n","import {\r\n  AfterViewInit,\r\n  Component,\r\n  EventEmitter,\r\n  HostBinding,\r\n  Input,\r\n  OnDestroy,\r\n  Output,\r\n} from '@angular/core';\r\nimport {\r\n  animate,\r\n  state,\r\n  style,\r\n  transition,\r\n  trigger,\r\n} from '@angular/animations';\r\n\r\n@Component({\r\n  selector: 'myw-alert',\r\n  templateUrl: './myw-alert.component.html',\r\n  styleUrls: ['./myw-alert.component.less'],\r\n  animations: [\r\n    trigger('state', [\r\n      state('opened', style({ transform: 'translateY(0%)', opacity: 1 })),\r\n      state(\r\n        'void, closed',\r\n        style({ transform: 'translateY(100%)', opacity: 0 })\r\n      ),\r\n      transition('* => *', animate('200ms ease-in')),\r\n    ]),\r\n  ],\r\n})\r\nexport class MywAlertComponent implements  AfterViewInit, OnDestroy {\r\n  timer = null\r\n  type = ''\r\n  messageSave: any\r\n  ngOnDestroy(): void {\r\n    this.state = 'closed'\r\n  }\r\n  ngAfterViewInit(): void {\r\n  }\r\n  \r\n  @HostBinding('@state')\r\n  state: 'opened' | 'closed' = 'closed';\r\n  \r\n  @Input()\r\n  get message() {\r\n    return this._message;\r\n  }\r\n  set message(message) {\r\n    this._message = message;\r\n    this.messageSave = message\r\n    this.state = 'opened';\r\n  }\r\n  private _message = {};\r\n\r\n  @Output() closed = new EventEmitter<void>();\r\n  cancel() {\r\n    this.closed.next()\r\n  }\r\n  sure() {\r\n    this.messageSave.success()\r\n    this.closed.next()\r\n  }\r\n}\r\n","<div class=\"mask\"></div>\r\n<div  class=\"box\"> \r\n  <h3 *ngIf=\"messageSave.title\">{{messageSave.title}}</h3>\r\n  <p *ngIf=\"messageSave.message\" style=\"margin-bottom: 0px; word-break: break-all; text-align: left;\">{{messageSave.message}}</p>\r\n  <br>\r\n  <div style=\"text-align: right; \">\r\n    <myw-button (click)=\"sure()\">确定</myw-button>\r\n    <myw-button (click)=\"cancel()\" style=\"margin-left: 10px;\">取消</myw-button>\r\n  </div>\r\n</div>","import {\r\n  ApplicationRef,\r\n  ComponentFactoryResolver,\r\n  Injectable,\r\n  Injector,\r\n} from '@angular/core';\r\nimport { MywAlertComponent } from '../myw-alert.component';\r\nimport { MessageI } from '../o/myw-alert.i';\r\n\r\n@Injectable()\r\nexport class MywAlertService {\r\n  popupElement : any\r\n  popup : any\r\n  popupComponentRef : any\r\n  constructor(\r\n    private injector: Injector,\r\n    private applicationRef: ApplicationRef,\r\n    private componentFactoryResolver: ComponentFactoryResolver\r\n  ) {\r\n  }\r\n\r\n  // Previous dynamic-loading method required you to set up infrastructure\r\n  // before adding the popup to the DOM.\r\n  private showAsComponent(message: any) {\r\n    if (!this.popup) {\r\n      // Create element\r\n      this.popup = document.createElement('popup-component');\r\n      // Create the component and wire it up with the element\r\n      const factory = this.componentFactoryResolver.resolveComponentFactory(\r\n        MywAlertComponent\r\n      );\r\n      this.popupComponentRef = factory.create(this.injector, [], this.popup);\r\n      console.log('这是element showAsComponent');\r\n      console.log(message);\r\n      // Attach to the view so that the change detector knows to run\r\n      this.applicationRef.attachView(this.popupComponentRef.hostView);\r\n\r\n      // Listen to the close event\r\n      this.popupComponentRef.instance.closed.subscribe(() => {\r\n        document.body.removeChild(this.popup);\r\n        this.applicationRef.detachView(this.popupComponentRef.hostView);\r\n        this.popup = null\r\n      });\r\n\r\n      // Set the message\r\n      this.popupComponentRef.instance.message = message;\r\n\r\n      // Add to the DOM\r\n      document.body.appendChild(this.popup);\r\n    } else {\r\n      this.popupComponentRef.instance.message = message;\r\n    }\r\n  }\r\n\r\n  show(message: MessageI) {\r\n    this.showAsComponent(message)\r\n  }\r\n}\r\n","import {\r\n  AfterViewInit,\r\n  Component,\r\n  EventEmitter,\r\n  HostBinding,\r\n  Input,\r\n  OnDestroy,\r\n  Output,\r\n} from '@angular/core';\r\nimport {\r\n  animate,\r\n  state,\r\n  style,\r\n  transition,\r\n  trigger,\r\n} from '@angular/animations';\r\n\r\n@Component({\r\n  selector: 'my-message',\r\n  templateUrl: './myw-message.component.html',\r\n  styleUrls: ['./myw-message.component.less'],\r\n  animations: [\r\n    trigger('state', [\r\n      state('opened', style({ transform: 'translateY(0%)', opacity: 1 })),\r\n      state(\r\n        'void, closed',\r\n        style({ transform: 'translateY(100%)', opacity: 0 })\r\n      ),\r\n      transition('* => *', animate('200ms ease-in')),\r\n    ]),\r\n  ],\r\n})\r\nexport class MywMessageComponent implements  AfterViewInit, OnDestroy {\r\n  @Output()\r\n  closed = new EventEmitter<void>();\r\n  /** 是否是第一次 */\r\n  flagFirst: boolean = true\r\n  arr = [\r\n    \r\n  ] as any[]\r\n  type = ''\r\n  /** 计时器 */\r\n  timerShiftMessage: any\r\n\r\n  ngOnDestroy(): void {\r\n    this.state = 'closed'\r\n    if (this.timerShiftMessage) clearTimeout(this.timerShiftMessage);\r\n  }\r\n  ngAfterViewInit(): void {\r\n  }\r\n  \r\n  @HostBinding('@state')\r\n  state: 'opened' | 'closed' = 'closed';\r\n\r\n  @Input()\r\n  get message(): string {\r\n    return this._message;\r\n  }\r\n  set message(message: string) {\r\n    this._message = message;\r\n    if (this.arr.length > 2)  {\r\n      this.arr.shift()\r\n    }\r\n    this.arr.push({message})\r\n    this.state = 'opened';\r\n    if (this.flagFirst) {\r\n      this.flagFirst = false\r\n      this.shiftMessage()\r\n    }\r\n  }\r\n  private _message = '';\r\n  shiftMessage() {\r\n    if (this.timerShiftMessage) clearTimeout(this.timerShiftMessage);\r\n    this.timerShiftMessage =  setTimeout(() => {\r\n      if (this.arr.length > 0) {\r\n        this.arr.shift()\r\n        this.shiftMessage()\r\n      } else {\r\n        this.closed.next()\r\n      }\r\n    }, 1500)\r\n\r\n  }\r\n\r\n  \r\n}\r\n","<div *ngFor=\"let item of arr;\" style=\"margin-top: 5px;\"> \r\n  {{item.message}}\r\n</div>\r\n\r\n","import {\r\n  ApplicationRef,\r\n  ComponentFactoryResolver,\r\n  Injectable,\r\n  Injector,\r\n} from '@angular/core';\r\nimport { MywMessageComponent } from '../myw-message.component';\r\n\r\n@Injectable()\r\nexport class MywMessageService {\r\n  popupElement$!: any;\r\n  popup!: any;\r\n  popupComponentRef!: any;\r\n  constructor(\r\n    private injector: Injector,\r\n    private applicationRef: ApplicationRef,\r\n    private componentFactoryResolver: ComponentFactoryResolver\r\n  ) {\r\n    // this.popupElement = createCustomElement(MayiwenMessageComponent, {\r\n    //   injector,\r\n    // });\r\n    // customElements.define('popup-element', this.popupElement);\r\n  }\r\n\r\n  // Previous dynamic-loading method required you to set up infrastructure\r\n  // before adding the popup to the DOM.\r\n  private showAsComponent(message: string) {\r\n    if (!this.popup) {\r\n      // Create element\r\n      this.popup = document.createElement('popup-component');\r\n\r\n      // Create the component and wire it up with the element\r\n      const factory = this.componentFactoryResolver.resolveComponentFactory(\r\n        MywMessageComponent\r\n      );\r\n      this.popupComponentRef = factory.create(this.injector, [], this.popup);\r\n      console.log('这是element showAsComponent');\r\n      console.log(message);\r\n      // Attach to the view so that the change detector knows to run\r\n      this.applicationRef.attachView(this.popupComponentRef.hostView);\r\n\r\n      // Listen to the close event\r\n      this.popupComponentRef.instance.closed.subscribe(() => {\r\n        document.body.removeChild(this.popup);\r\n        this.applicationRef.detachView(this.popupComponentRef.hostView);\r\n        this.popup = null\r\n      });\r\n\r\n      // Set the message\r\n      this.popupComponentRef.instance.message = message;\r\n\r\n      // Add to the DOM\r\n      document.body.appendChild(this.popup);\r\n    } else {\r\n      this.popupComponentRef.instance.message = message;\r\n      \r\n    }\r\n    \r\n  }\r\n\r\n  // // This uses the new custom-element method to add the popup to the DOM.\r\n  // private showAsElement(message: string) {\r\n  //   // Create element\r\n  //   const popupEl: NgElement & WithProperties<MayiwenMessageComponent> =\r\n  //     document.createElement('popup-element') as any;\r\n\r\n  //   // Listen to the close event\r\n  //   popupEl.addEventListener('closed', () =>\r\n  //     document.body.removeChild(popupEl)\r\n  //   );\r\n\r\n  //   // Set the message\r\n  //   popupEl.message = message;\r\n\r\n  //   // Add to the DOM\r\n  //   document.body.appendChild(popupEl);\r\n  // }\r\n  show(message: any) {\r\n    this.showAsComponent(message)\r\n  }\r\n  err(message: any) {\r\n    this.showAsComponent(message)\r\n  }\r\n}\r\n","import { AfterViewInit, ChangeDetectorRef, Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { MywAlertService } from '../../module/alert/service/myw-alert.service';\r\nimport { MywMessageService } from '../../module/message/service/myw-message.service';\r\n@Component({\r\n  selector: 'myw-test-about',\r\n  templateUrl: './myw-test-about.component.html',\r\n  styleUrls: ['./myw-test-about.component.scss'],\r\n  providers: []\r\n})\r\nexport class MywTestAboutComponent implements OnInit, AfterViewInit, OnDestroy {\r\n  loading = true\r\n  version = ''\r\n  constructor(private mywAlert: MywAlertService, private message: MywMessageService) {\r\n\r\n  }\r\n  ngOnInit(): void {\r\n    console.log('这是打印的pack')\r\n    // console.log(packageJson)\r\n    // console.log()\r\n    // this.version = JSON.parse(JSON.stringify(packageJson)).version\r\n  }\r\n  ngAfterViewInit(): void {\r\n  }\r\n  ngOnDestroy(): void {\r\n  }\r\n  alert() {\r\n    console.log('这是显示的内容')\r\n    this.mywAlert.show({\r\n      title: '这是一个标题',\r\n      message: '这是里面显示的内容',\r\n      success: () => {\r\n        this.message.show('点击了确定按钮')\r\n      }\r\n    })\r\n  }\r\n\r\n}\r\n","<myw-gap></myw-gap>\r\n<p>该组件尚处于开发阶段，暂时先满足mayiwen客户端的使用。组件功能不全，现在只支持最基本的功能。组件个个数尚少，将会完成几十个常用的组件的开发，并支持3个框架。</p>\r\n<p>version: 0.0.31beta</p>\r\n<p>使用了以下开源技术：html、css、js、scss、ts、angular、rxjs、ng-packagr。特此鸣谢</p>\r\n<a  href=\"https://www.npmjs.com/package/mayiwen_angular\" target=\"_blank\">组件在npmjs.com</a> &nbsp;\r\n<a href=\"https://github.com/mayiwen/mayiwen_angular\" target=\"_blank\">组件在github.com</a>\r\n\r\n<h3>版本更新历史</h3>\r\n<p>v0.0.29 添加黑白主题支持 2023-11-25</p>\r\n<div class=\"test\"></div>","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n    selector: '[mywTab]'\r\n})\r\nexport class MywTabDirective {\r\nconstructor(public templateRef: TemplateRef<unknown>) {}\r\n}","import { AfterViewInit, ChangeDetectorRef, Component, ContentChild, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport { MywTabDirective } from '../directive/myw-tab.directive';\r\n@Component({\r\n  selector: 'myw-tab',\r\n  templateUrl: './myw-tab.component.html',\r\n  styleUrls: ['./myw-tab.component.less'],\r\n  providers: []\r\n})\r\nexport class MywTabComponent implements OnInit, AfterViewInit {\r\n  @Input() v = '';\r\n  @Output() tabClick = new EventEmitter()\r\n  // @ContentChild('tabset') oneTemplate: TemplateRef<any>;\r\n  @ContentChild(MywTabDirective) mywTabDirective!:  MywTabDirective\r\n  // @ContentChildren(MywTableDirective) qlist!: QueryList<MywTableDirective>;\r\n\r\n  flagShow = false;\r\n  selectTab = 0;\r\n  constructor(private cdr: ChangeDetectorRef) {\r\n\r\n  }\r\n  ngAfterViewInit(): void {\r\n  }\r\n  ngOnInit(): void {\r\n  }\r\n  nextTick() {\r\n    if (this.cdr) {\r\n      this.cdr.markForCheck();\r\n      this.cdr.detectChanges();\r\n    }\r\n  }\r\n  tclick(item: any) {\r\n    this.tabClick.emit(item)\r\n  }\r\n}\r\n","  <div *ngIf=\"mywTabDirective && flagShow\">\r\n    <ng-content *ngTemplateOutlet=\"mywTabDirective.templateRef\"></ng-content>\r\n  </div>\r\n  <div [hidden]=\"!flagShow\" *ngIf=\"!mywTabDirective\">\r\n    <ng-content></ng-content>\r\n  </div>","import { AfterViewInit, ChangeDetectorRef, Component, ContentChildren, EventEmitter, OnInit, Output, QueryList, ViewChild, ViewChildren, forwardRef } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { MywTabComponent } from './tab/myw-tab.component';\r\n@Component({\r\n  selector: 'myw-tabs',\r\n  templateUrl: './myw-tabs.component.html',\r\n  styleUrls: ['./myw-tabs.component.scss'],\r\n  providers: [{\r\n    provide: NG_VALUE_ACCESSOR,\r\n    useExisting: forwardRef(() => MywTabsComponent),\r\n    multi: true\r\n  }]\r\n})\r\nexport class MywTabsComponent implements OnInit, AfterViewInit, ControlValueAccessor {\r\n  @ContentChildren(MywTabComponent) tabsetList!: QueryList<MywTabComponent>;\r\n  @Output() changeTabOutput = new EventEmitter()\r\n  @Output() tabClick = new EventEmitter()\r\n  tabsetTitleList = [] as any;\r\n  selectTab = 0;\r\n  _fatherNgModel: any\r\n  constructor( private cdr: ChangeDetectorRef ) {\r\n\r\n  }\r\n  get fatherNgModel() {\r\n    return this._fatherNgModel;\r\n  }\r\n  set fatherNgModel(data: any) {\r\n    this._fatherNgModel = data;\r\n  }\r\n\r\n  ngOnInit(): void {\r\n  }\r\n  changeTab(index: any) {\r\n    this.selectTab = index;\r\n    this.changeData = index;\r\n    let itemSave\r\n    this.tabsetList.forEach((item, indexi) => {\r\n      item.flagShow = false;\r\n    });\r\n    this.tabsetList.forEach((item, indexi) => {\r\n      if (indexi === this.selectTab) {\r\n        item.flagShow = true;\r\n        itemSave = item\r\n        item.tclick(item)\r\n      } else {\r\n        item.flagShow = false;\r\n      }\r\n      item.selectTab = indexi;\r\n      item.nextTick();\r\n    });\r\n    this.changeTabOutput.emit(index)\r\n    this.tabClick.emit(itemSave)\r\n  }\r\n  ngAfterViewInit() {\r\n    console.log('tabset ngAfterViewInit')\r\n    console.log(this.tabsetTitleList)\r\n\r\n    this.tabsetList.forEach((item, index) => {\r\n      if (index === this.selectTab) {\r\n        item.flagShow = true;\r\n      } else {\r\n        item.flagShow = false;\r\n      }\r\n      item.selectTab = index;\r\n      item.nextTick();\r\n    });\r\n  \r\n    this.tabsetList.forEach((item, index) => {\r\n      this.tabsetTitleList.push({\r\n        v: item.v,\r\n        index,\r\n      });\r\n    });\r\n    this.cdr.detectChanges();\r\n    this.cdr.markForCheck();\r\n    this.tabsetList.forEach((item, index) => {\r\n      item.nextTick();\r\n    });\r\n  }\r\n\r\n  /** controlvalue */\r\n  change = (value: any) => {};\r\n  // 外部给内部赋值的方法\r\n  writeValue(value: any): void {\r\n    this.fatherNgModel = value\r\n  }\r\n  // 改变的方法\r\n  registerOnChange(fn: any): void {\r\n    console.log('myw-tabs registerOnChangessss');\r\n    this.change = fn;\r\n  }\r\n  registerOnTouched(fn: any): void {\r\n    console.log('myw-tabs registerOnTouchedssss');\r\n  }\r\n  setDisabledState?(isDisabled: boolean): void {\r\n    console.log('setDisabledStatesss');\r\n  }\r\n  set changeData(value:any) {\r\n    this.fatherNgModel = value;\r\n    this.change(this.fatherNgModel)\r\n  }\r\n}\r\n","<div class=\"title\">\r\n  <myw-button *ngFor=\"let item of tabsetList; let index = index\" (click)=\"changeTab(index)\" [active]=\"index === selectTab\">{{item.v}}</myw-button>\r\n</div>\r\n<ng-content select=\"myw-tab\" mywTabList ></ng-content>","import { AfterViewInit,  Component,  OnInit } from '@angular/core';\r\n@Component({\r\n  selector: 'myw-test-tabset',\r\n  templateUrl: './myw-test-tab.component.html',\r\n  styleUrls: ['./myw-test-tab.component.scss'],\r\n  providers: []\r\n})\r\nexport class MywTestTabComponent implements OnInit, AfterViewInit {\r\n  arr = [\r\n    {id: '1', name: 'zs', age: 20},\r\n    {id: '2', name: '', age: 21},\r\n    {id: '3', name: 'we', age: 22},\r\n    {id: '4', name: 'mz', age: 23},\r\n    {id: '4', name: 'mz', age: 23},\r\n    {id: '4', name: 'mz', age: 23},\r\n    {id: '4', name: 'mz', age: 23},\r\n    {id: '4', name: 'mz', age: 23},\r\n    {id: '4', name: 'mz', age: 23},\r\n    {id: '4', name: 'mz', age: 23},\r\n    {id: '4', name: 'mz', age: 23},\r\n    {id: '4', name: 'mz', age: 23},\r\n    {id: '4', name: 'mz', age: 23},\r\n    {id: '4', name: 'mz', age: 23},\r\n    {id: '4', name: 'mz', age: 23},\r\n    {id: '4', name: 'mz', age: 23},\r\n    {id: '4', name: 'mz', age: 23},\r\n    {id: '4', name: 'mz', age: 23},\r\n    {id: '4', name: 'mz', age: 23},\r\n    {id: '4', name: 'mz', age: 23},\r\n    {id: '4', name: 'mz', age: 23},\r\n    {id: '4', name: 'mz', age: 23},\r\n    {id: '4', name: 'mz', age: 23},\r\n    {id: '4', name: 'mz', age: 23},\r\n    {id: '4', name: 'mz', age: 23},\r\n    {id: '4', name: 'mz', age: 23},\r\n    {id: '4', name: 'mz', age: 23},\r\n    {id: '4', name: 'mz', age: 23},\r\n    {id: '4', name: 'mz', age: 23},\r\n    {id: '4', name: 'mz', age: 23},\r\n    {id: '4', name: 'mz', age: 23},\r\n    {id: '4', name: 'mz', age: 23},\r\n    {id: '4', name: 'mz', age: 23},\r\n    {id: '4', name: 'mz', age: 23},\r\n    {id: '4', name: 'mz', age: 23},\r\n    {id: '4', name: 'mz', age: 23},\r\n    {id: '4', name: 'mz', age: 23},\r\n  ]\r\n  tableSetting = {\r\n    \r\n  }\r\n  tableCol = [\r\n    {\r\n      v: 'id',\r\n      value: 'id',\r\n      w: 200\r\n    },\r\n    {\r\n      v: '姓名',\r\n      value: 'name',\r\n      w: 120\r\n    },\r\n    {\r\n      v: '年龄',\r\n      value: 'age',\r\n      w: 120\r\n    },\r\n    {\r\n      v: '自定义组件1',\r\n      value: 'show',\r\n      w: 120,\r\n    },\r\n    {\r\n      v: '自定义组件2',\r\n      value: 'show1',\r\n      w: 120\r\n    },\r\n    {\r\n      v: '自定义组件3',\r\n      value: 'show2',\r\n      w: 120\r\n    },\r\n\r\n  ]\r\n  constructor() {}\r\n  ngAfterViewInit(): void {\r\n  }\r\n  ngOnInit(): void {\r\n  }\r\n  \r\n}\r\n","<h1>myw-tab myw-tabs</h1>\r\ntabset 是 创建的第一个组件，激发我创建一套自定义组件的想法。看着一个很简单的东西，也包含了不少容。满足了以下基础要求：\r\n<p>1, 仅仅提供一个样式，不提供被包裹的内容。在下面应提供一个路由，当点击每一个tabset的时候，会触发tabClick方法。通过这个方法切换路由。</p>\r\n<p>2，在myw-tab 直接书写内容。内容里面会即时加载，即使你没有点击这个tabset，里面的元素也会被生成。这样的缺点时，如果页面tabset特别多时，每个页面都会增加网页消耗的资源</p>\r\n<p>3，在myw-tab 套用一层 &lt;ng-template mywTab&gt;，再书写内容。只会加载被选中tabset的资源。大大降低了网页资源的消耗。但是从一个tabset，跳转另一个tabset，会重新调用后台的接口。简而言之，如果你需要If控制显隐的地方，应该使用3，如果你需要用display控制显隐的地方应该用方式2。同一个myw-tabs方式2和方式3可共存。</p>\r\n<p>_4，给tabs 指定一个宽高，使tabset，放置的内容可以滚动，外层不再支持滚动，tabs所有的标签都会显示，可以快速切换标签，而不是页面特别长时，必须滚动到最上面，才可以切换tabset。(未实现)</p>\r\n<p>_5，tabset 我不喜欢，后面改成tab，tabs 包含数个 tab。将 myw-tabset 改成 myw-tab</p>\r\n\r\n<pre>\r\n&lt;myw-tabs&gt;\r\n   &lt;myw-tab v=\"tabset\"&gt;\r\n      &lt;ng-template mywTab&gt;\r\n         &lt;myw-test-tabset&gt;&lt;/myw-test-tabset&gt;\r\n      &lt;/ng-template&gt;\r\n   &lt;/myw-tab&gt;\r\n&lt;/myw-tabs&gt;\r\n\r\n<myw-tabs>\r\n  <myw-tab v=\"111\">\r\n    <ng-template mywTab>\r\n      这是111里面的内容。\r\n    </ng-template>\r\n  </myw-tab>\r\n  <myw-tab v=\"222\">\r\n    <ng-template mywTab>\r\n      这是222里面的内容。\r\n    </ng-template>\r\n  </myw-tab>\r\n</myw-tabs>\r\n\r\n</pre>\r\n<br>\r\nmyw-tabs\r\n<br>\r\n属性：\r\n<br>\r\n方法：\r\n<br>\r\n<br>\r\nmyw-tab\r\n<br>\r\n属性：\r\n<br>\r\n方法：\r\n(tabClick)=\"hello('1')\" 点击tabset名称的时候调用。\r\n\r\n<br>\r\n指令：ng-templat mywTab 添加可指令可使实现点击的时候加载，同时将不会被保存，离开此tabset时，加载的内容，将被清除。这是为了同一页面加载过多页面造成卡顿的问题。\r\n如果不需要，请去掉 &lt;ng-template mywTab&gt; &lt;/ng-template&gt; 层，直接在 &lt;myw-tab v=\"tabset\"&gt; &lt;/myw-tab&gt; 里加入内容\r\n<br>\r\n\r\n","import { AfterViewInit, ChangeDetectorRef, Component, ContentChild, ElementRef, HostBinding, HostListener, Input, OnInit, TemplateRef, ViewChild, forwardRef } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n@Component({\r\n  selector: 'myw-input',\r\n  templateUrl: './myw-input.component.html',\r\n  styleUrls: ['./myw-input.component.scss'],\r\n  providers: [\r\n    {\r\n      provide: NG_VALUE_ACCESSOR,\r\n      useExisting: forwardRef(() => MywInputComponent),\r\n      multi: true\r\n    }\r\n  ]\r\n})\r\nexport class MywInputComponent implements  AfterViewInit, ControlValueAccessor {\r\n  /** 父组件传过来的正则。 */\r\n  @Input('reg') reg? = ''\r\n  @Input('w') w? = '100'\r\n  @Input('placeholder') placeholder? = ''\r\n  @Input('bold') bold: any\r\n  @Input('name') name: any\r\n  @Input('disabled') disabled: boolean = false\r\n  /** 父组件传过来的数据 */\r\n  _fathrData: string = ''\r\n  /** 是否disabled */\r\n  flagDisabled: boolean = false\r\n  /** 父组件传过的数据复制的一份数据。主要是为了不满足正则的时候，要恢复原来的内容。 */\r\n  fatherDataCopy: string = ''\r\n  constructor() {\r\n    \r\n  }\r\n  set fatherData(value: string) {\r\n    // 将子元素赋值\r\n    this._fathrData = value\r\n    this.change(this._fathrData)\r\n  }\r\n  get fatherData() {\r\n    return this._fathrData\r\n  }\r\n  /** 将父组件传过来的数据写入到此组件中。 */\r\n  writeValue(obj: any): void {\r\n    \r\n    this._fathrData = obj\r\n    console.log('writevalue')\r\n    console.log(obj)\r\n    this.fatherDataCopy = this._fathrData ? JSON.parse(JSON.stringify(this._fathrData)) : ''\r\n  }\r\n  /** 把此组件修改过的内容，写入到子组件中 */\r\n  registerOnChange(fn: any): void {\r\n    this.change = fn\r\n  }\r\n  registerOnTouched(fn: any): void {\r\n    console.log('当前的元素被触发了。')\r\n  }\r\n  setDisabledState?(isDisabled: boolean): void {\r\n    this.flagDisabled = isDisabled\r\n  }\r\n  change = (value:any) => {}\r\n\r\n  ngAfterViewInit(): void {\r\n  }\r\n  changeValue(e: any, input:any) {\r\n    if (this.fatherData) {\r\n      // 如果当前的reg有值。\r\n      if (this.reg) {\r\n        try {\r\n          let reg = eval(this.reg)\r\n          let res = reg.test(this.fatherData)\r\n          if (res) {\r\n            this.fatherData = e\r\n            this.fatherDataCopy = this._fathrData ? JSON.parse(JSON.stringify(this._fathrData)) : ''\r\n          } else {\r\n            this._fathrData = JSON.parse(JSON.stringify(this.fatherDataCopy))\r\n            input.value = this._fathrData\r\n          }\r\n        } catch(error) {\r\n          this.fatherData = ''\r\n          this.fatherDataCopy = ''\r\n        }\r\n      } else {\r\n        this.fatherData = e\r\n        this.fatherDataCopy = this._fathrData ? JSON.parse(JSON.stringify(this._fathrData)) : ''\r\n      }\r\n    } else {\r\n      this.fatherData = ''\r\n      this.fatherDataCopy = ''\r\n    }\r\n  }\r\n}\r\n ","<!-- <input\r\n  type=\"text\"\r\n  #input1\r\n  [(ngModel)]=\"_fathrData\"\r\n  (ngModelChange)=\"changeValue($event, input1)\"\r\n  [ngStyle]=\"{ width: w + 'px' }\"\r\n  [placeholder]=\"placeholder\"\r\n/> -->\r\n<!-- -->\r\n<!-- 这是fatherdata\r\n{{fatherData}} -->\r\n<!-- <hr> -->\r\n<div class=\"myw-input-box\" >\r\n    <input\r\n    type=\"text\"\r\n    #input1\r\n    [(ngModel)]=\"fatherData\"\r\n    (ngModelChange)=\"changeValue($event, input1)\"\r\n    [ngStyle]=\"{ width: w + 'px' }\"\r\n    [placeholder]=\"bold ? '' : placeholder\"\r\n    [ngClass]=\"{bold: bold, novalue: _fathrData, disabled: disabled}\"\r\n    [name]=\"name\"\r\n    [disabled]=\"disabled ? true : false\"\r\n    />\r\n    <!-- [placeholder]=\"placeholder\"     class=\"bold\" -->\r\n  <label *ngIf=\"bold\">{{placeholder}}</label>\r\n</div>\r\n","import { DatePipe } from '@angular/common';\r\nimport { AfterViewInit, ChangeDetectorRef, Component, ContentChild, ElementRef, HostBinding, HostListener, Input, OnInit, TemplateRef, ViewChild, forwardRef } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n@Component({\r\n  selector: 'myw-date',\r\n  templateUrl: './myw-date.component.html',\r\n  styleUrls: ['./myw-date.component.scss'],\r\n  providers: [\r\n    DatePipe,\r\n    {\r\n      provide: NG_VALUE_ACCESSOR,\r\n      useExisting: forwardRef(() => MywDateComponent),\r\n      multi: true\r\n    }\r\n  ]\r\n})\r\nexport class MywDateComponent implements  AfterViewInit, ControlValueAccessor {\r\n  /** 父组件传过来的正则。 */\r\n  @Input('reg') reg? = ''\r\n  @Input('w') w? = '100'\r\n  @Input('placeholder') placeholder? = ''\r\n  @Input('bold') bold: any\r\n  @Input('name') name: any\r\n  @Input('disabled') disabled: boolean = false\r\n  /** 父组件传过来的数据 */\r\n  _fathrData: string = ''\r\n  /** 是否disabled */\r\n  flagDisabled: boolean = false\r\n  /** 父组件传过的数据复制的一份数据。主要是为了不满足正则的时候，要恢复原来的内容。 */\r\n  fatherDataCopy: string = ''\r\n  dataArr: any = [\r\n\r\n  ]\r\n  /** 年份 */\r\n  yearArr = [[], [], [], [], [], []]\r\n  monthArr = [[1, 2], [3, 4], [5, 6], [7, 8], [9, 10], [11, 12]]\r\n  selectYear = 2000\r\n  selectMonth = 2000\r\n\r\n  /** 选择的面版 当为d的时候选择日期，当为 y 的时候选择年份，当为m的时候选择日期*/\r\n  selectPanel: 'd' | 'y' | 'm' = 'd'\r\n  flagShow: boolean = false\r\n  @HostListener('window:click', ['$event']) onClose() {\r\n    this.flagShow = false\r\n  }\r\n  showDateSelect(e: any) {\r\n    this.flagShow = true\r\n    e.stopPropagation()\r\n  }\r\n  toBeforeMonth() {\r\n    this.nowDate = this.dateAddAndSub(this.nowDate, 'month', -1)\r\n    this.getDateArrByDate(this.nowDate)\r\n  }\r\n\r\n  toAfterMonth() {\r\n    this.nowDate = this.dateAddAndSub(this.nowDate, 'month', 1)\r\n    this.getDateArrByDate(this.nowDate)\r\n  }\r\n  toBeforeYear() {\r\n    this.nowDate = this.dateAddAndSub(this.nowDate, 'year', -1)\r\n    this.getDateArrByDate(this.nowDate)\r\n  }\r\n\r\n  toAfterYear() {\r\n    this.nowDate = this.dateAddAndSub(this.nowDate, 'year', 1)\r\n    this.getDateArrByDate(this.nowDate)\r\n  }\r\n  selectDate(itemi: any) {\r\n    this.nowDate = itemi.date\r\n    this.getDateArrByDate(this.nowDate)\r\n  }\r\n  getYearArr(year: number) {\r\n    let nowyear = year\r\n    let arr: any = [[], [], [], [], [], []]\r\n    for (let index = year - 29; index <= nowyear ; index++){\r\n      for (let indexInner = 0; indexInner <= 5; indexInner++) {\r\n        if (arr[indexInner].length < 5) {\r\n          arr[indexInner].push(index)\r\n          break\r\n        }\r\n      }\r\n    }\r\n    return arr\r\n  }\r\n  get nowDateYear() {\r\n    return this.nowDate.getFullYear()\r\n  }\r\n  toBeforeYearArr() {\r\n    let year = this.yearArr[this.yearArr.length - 1][this.yearArr[this.yearArr.length - 1].length - 1]\r\n    console.log(year)\r\n    let after = year - 30\r\n    this.yearArr = this.getYearArr(after)\r\n  }\r\n  toAfterYearArr() {\r\n    let year = this.yearArr[this.yearArr.length - 1][this.yearArr[this.yearArr.length - 1].length - 1]\r\n    console.log(year)\r\n    let after = year + 30\r\n    this.yearArr = this.getYearArr(after)\r\n  }\r\n  selectPanelFn(panel: 'y' | 'm' | 'd', data?: any) {\r\n    console.log('年份选择了')\r\n    this.selectPanel = panel\r\n    let year = this.nowDate.getFullYear()\r\n    if (panel === 'y') {\r\n      let arr = this.getYearArr(year)\r\n      this.yearArr = arr\r\n      // console.log(data)\r\n      // this.selectYear = data\r\n    }\r\n    if (panel === 'm') {\r\n      this.selectYear = data\r\n    }\r\n    if (panel === 'd') {\r\n      this.selectMonth = data\r\n      let date = this.selectYear + '/'+ this.addZero(this.selectMonth) +  '/01'\r\n      console.log(date)\r\n      this.nowDate = new Date(date)\r\n      this.getDateArrByDate(this.nowDate)\r\n      \r\n    }\r\n\r\n\r\n  }\r\n  constructor(private datePipe: DatePipe) {\r\n    this.getDateArrByDate(this.nowDate)\r\n  }\r\n  nowDate = new Date()\r\n  get nowDateString() {\r\n    let nowO = this.getDateObjectString(this.nowDate)\r\n    return nowO.year + '/' + this.addZero(nowO.month) + '/' +  this.addZero(nowO.day)\r\n  }\r\n  getDateArrByDate(nowDate: Date) {\r\n    // 将当前的日期 转化为 日期\r\n    let date = new Date(nowDate)\r\n    console.log(this.datePipe.transform(date, 'yyyy-MM-dd'))\r\n    // 根据当前的日期，获取当月的第1天\r\n    let dayO = this.getDateObjectString(date)\r\n    let oneDay = dayO.year + '/' + this.addZero(dayO.month) + '/01'\r\n    let oneDayO = this.getDateObjectString(new Date(oneDay))\r\n    console.log('获取的当前月的第一天')\r\n    console.log(oneDayO)\r\n    // 获取 当月的天数\r\n    let nowDaysCount = this.getMonthDay(date.getFullYear(), date.getMonth())\r\n    let beforeMonth = this.dateAddAndSub(date, 'month', -1)\r\n    let beforeDaysCount = this.getMonthDay(beforeMonth.getFullYear(), beforeMonth.getMonth())\r\n    let afterMonth = this.dateAddAndSub(date, 'month', 1)\r\n    let afterDaysCount = this.getMonthDay(afterMonth.getFullYear(), afterMonth.getMonth())\r\n    console.log(nowDaysCount, beforeDaysCount, afterDaysCount)\r\n    console.log('-------')\r\n    let arr: any = [[], [], [], [], [], []]\r\n    \r\n    if (oneDayO.week !== 1) {\r\n      let week = oneDayO.week === 0 ? 7 : oneDayO.week\r\n      console.log(week)\r\n      for (let index = beforeDaysCount - (week - 1 - 1); index <= beforeDaysCount; index++) {\r\n        console.log(index)\r\n        arr[0].push({\r\n          date: new Date(beforeMonth.getFullYear() + '/' + this.addZero(beforeMonth.getMonth() + 1) + '/' + this.addZero(index)),\r\n          type: 'before',\r\n          select: false\r\n        })\r\n      }\r\n    }\r\n    for (let index = 1; index <= nowDaysCount ; index++){\r\n      for (let indexInner = 0; indexInner <= 5; indexInner++) {\r\n        if (arr[indexInner].length < 7) {\r\n          arr[indexInner].push({\r\n            date: new Date(date.getFullYear() + '/' + this.addZero(date.getMonth() + 1) + '/' + this.addZero(index)),\r\n            type: 'now',\r\n            select: date.getDate() === index\r\n          })\r\n          break\r\n        }\r\n      }\r\n    }\r\n    for (let index = 1; index <= afterDaysCount ; index++){\r\n      for (let indexInner = 0; indexInner <= 5; indexInner++) {\r\n        if (arr[indexInner].length < 7) {\r\n          arr[indexInner].push({\r\n            date: new Date(afterMonth.getFullYear() + '/' + this.addZero(afterMonth.getMonth() + 1) + '/' + this.addZero(index)),\r\n            type: 'after',\r\n            select: false\r\n          })\r\n          break\r\n        }\r\n      }\r\n    }\r\n    console.log(arr)\r\n    this.dataArr = arr\r\n  }\r\n  /**\r\n   * 对日期做加减的方法 这个方法并不会修改传入的日期\r\n   * @param date 传入的日期\r\n   * @param type 可以对 年 月 日 周 做  加减\r\n   * @param scale 当为正数的时候，做加法。否则做减法\r\n   * @returns 返回一个新的日期\r\n   */\r\n  dateAddAndSub(date: Date, type: 'year' | 'month' | 'day' | 'week', scale: number): Date {\r\n    let newDate = new Date(date)\r\n    switch (type) {\r\n      case 'year':\r\n        newDate.setFullYear(newDate.getFullYear() + scale);\r\n        break;\r\n      case 'month':\r\n        newDate.setMonth(newDate.getMonth() + scale);\r\n        break;\r\n      case 'day':\r\n        newDate.setDate(newDate.getDate() + scale);\r\n        break;\r\n      default:\r\n        break;\r\n    }\r\n    return newDate\r\n  }\r\n  getMonthFirstDay(date: Date): Date {\r\n    return date\r\n  }\r\n  getDateObjectString(date: Date): any {\r\n    return {\r\n      year: date.getFullYear(),\r\n      month: date.getMonth() + 1,\r\n      day: date.getDate(),\r\n      hours: date.getHours(),\r\n      minutes: date.getMinutes(),\r\n      seconds: date.getSeconds(),\r\n      week: date.getDay()\r\n    }\r\n  }\r\n  addZero(num: string | number): string {\r\n    if (Number(num) < 10) {\r\n      return '0' + num\r\n    }\r\n    return num + ''\r\n  }\r\n\r\n  getMonthDay(year: number, month: number) {\r\n    let days = new Date(year, month + 1, 0).getDate()\r\n    return days\r\n  }\r\n  set fatherData(value: string) {\r\n    // 将子元素赋值\r\n    this._fathrData = value\r\n    this.change(this._fathrData)\r\n  }\r\n  get fatherData() {\r\n    return this._fathrData\r\n  }\r\n  /** 将父组件传过来的数据写入到此组件中。 */\r\n  writeValue(obj: any): void {\r\n    \r\n    this._fathrData = obj\r\n    console.log('writevalue')\r\n    console.log(obj)\r\n    this.fatherDataCopy = this._fathrData ? JSON.parse(JSON.stringify(this._fathrData)) : ''\r\n  }\r\n  /** 把此组件修改过的内容，写入到子组件中 */\r\n  registerOnChange(fn: any): void {\r\n    this.change = fn\r\n  }\r\n  registerOnTouched(fn: any): void {\r\n    console.log('当前的元素被触发了。')\r\n  }\r\n  setDisabledState?(isDisabled: boolean): void {\r\n    this.flagDisabled = isDisabled\r\n  }\r\n  change = (value:any) => {}\r\n\r\n  ngAfterViewInit(): void {\r\n  }\r\n  changeValue(e: any, input:any) {\r\n    if (this.fatherData) {\r\n      // 如果当前的reg有值。\r\n      if (this.reg) {\r\n        try {\r\n          let reg = eval(this.reg)\r\n          let res = reg.test(this.fatherData)\r\n          if (res) {\r\n            this.fatherData = e\r\n            this.fatherDataCopy = this._fathrData ? JSON.parse(JSON.stringify(this._fathrData)) : ''\r\n          } else {\r\n            this._fathrData = JSON.parse(JSON.stringify(this.fatherDataCopy))\r\n            input.value = this._fathrData\r\n          }\r\n        } catch(error) {\r\n          this.fatherData = ''\r\n          this.fatherDataCopy = ''\r\n        }\r\n      } else {\r\n        this.fatherData = e\r\n        this.fatherDataCopy = this._fathrData ? JSON.parse(JSON.stringify(this._fathrData)) : ''\r\n      }\r\n    } else {\r\n      this.fatherData = ''\r\n      this.fatherDataCopy = ''\r\n    }\r\n  }\r\n}\r\n ","<!-- <div class=\"myw-input-box\" >\r\n    <input\r\n    type=\"text\"\r\n    #input1\r\n    [(ngModel)]=\"fatherData\"\r\n    (ngModelChange)=\"changeValue($event, input1)\"\r\n    [ngStyle]=\"{ width: w + 'px' }\"\r\n    [placeholder]=\"bold ? '' : placeholder\"\r\n    [ngClass]=\"{bold: bold, novalue: _fathrData, disabled: disabled}\"\r\n    [name]=\"name\"\r\n    [disabled]=\"disabled ? true : false\"\r\n    />\r\n  <label *ngIf=\"bold\">{{placeholder}}</label>\r\n</div> -->\r\n<div style=\"display: inline-block; position: relative;\">\r\n  <myw-input w=\"200\" [ngModel]=\"nowDateString\" (click)=\"showDateSelect($event)\"></myw-input>\r\n  <div\r\n    style=\"border: 1px solid #eee; height: 250px; width: 220px; position: absolute; left: 0; top: 0; background-color: white; z-index: 100;\"\r\n    *ngIf=\"flagShow\">\r\n    <div style=\"text-align: center;\">{{nowDateString}} 所选年份：{{selectYear}}</div>\r\n    <ng-container *ngIf=\"selectPanel === 'd'\">\r\n      <div style=\"margin-bottom: 10px;\" (click)=\"$event.stopPropagation()\">\r\n        <myw-button w=\"30\" (click)=\"toBeforeYear()\">←</myw-button>\r\n        <myw-button w=\"30\" (click)=\"toBeforeMonth()\">&lt;</myw-button>\r\n        <myw-button w=\"45\" style=\"margin-left: calc((100% - 210px) / 4);\" (click)=\"selectPanelFn('y'); $event.stopPropagation()\">{{nowDate | date: 'yyyy'}}</myw-button>\r\n        <myw-button w=\"45\" style=\"margin-left: calc((100% - 210px) / 4);\" (click)=\"selectPanelFn('m', nowDateYear); $event.stopPropagation()\">{{nowDate | date: 'MM'}}</myw-button>\r\n        <myw-button w=\"30\" style=\"float: right;\" (click)=\"toAfterYear()\">→</myw-button>\r\n        <myw-button w=\"30\" (click)=\"toAfterMonth()\" style=\"float: right;\">&gt;</myw-button>\r\n      </div>\r\n      <div *ngFor=\"let item of dataArr;\" style=\" height: 30px; margin-bottom: 3px;\">\r\n        <div *ngFor=\"let itemi of item;\"\r\n          style=\"display: inline-block; width: 14.2859%; height: 30px; text-align: center;\">\r\n          <myw-button w=\"24\" (click)=\"selectDate(itemi); flagShow= false\" *ngIf=\"itemi.type === 'now'; else sss\"\r\n            [t]=\"itemi.select ? 'red':'blue'\">{{itemi.date | date: 'd'}}</myw-button>\r\n          <ng-template #sss>\r\n            <myw-button w=\"24\" (click)=\"selectDate(itemi); flagShow= false\">{{itemi.date | date: 'd'}}</myw-button>\r\n          </ng-template>\r\n        </div>\r\n      </div>\r\n    </ng-container>\r\n    <ng-container *ngIf=\"selectPanel === 'y'\">\r\n      <div style=\"margin-bottom: 10px;\" (click)=\"$event.stopPropagation()\">\r\n        <myw-button w=\"30\" (click)=\"toBeforeYearArr()\">←</myw-button>\r\n        <!-- <myw-button w=\"30\" active=\"true\">年</myw-button> -->\r\n        <!-- <myw-button w=\"90\" style=\"margin-left: calc((100% - 210px) / 2);\" (click)=\"selectPanelFn('y'); $event.stopPropagation()\">{{nowDate | date: 'yyyy'}}年{{nowDate | date:\r\n          'MM'}}月</myw-button> -->\r\n          请选择年份\r\n        <myw-button w=\"30\" (click)=\"toAfterYearArr()\" style=\"float: right;\">→</myw-button>\r\n        <!-- <myw-button w=\"30\" disabled=\"true\" style=\"float: right;\" >月</myw-button> -->\r\n      </div>\r\n      <div *ngFor=\"let item of yearArr;\" style=\" height: 30px; margin-bottom: 3px;\"  (click)=\"$event.stopPropagation()\">\r\n        <div *ngFor=\"let itemi of item;\"\r\n          style=\"display: inline-block; width: 20%; height: 30px; text-align: center;\">\r\n          <myw-button w=\"43\" (click)=\"selectPanelFn('m', itemi);$event.stopPropagation()\">{{itemi}}</myw-button>\r\n        </div>\r\n      </div>\r\n    </ng-container>\r\n    <ng-container *ngIf=\"selectPanel === 'm'\">\r\n      <div style=\"margin-bottom: 10px;\" (click)=\"$event.stopPropagation()\">\r\n        <!-- <myw-button w=\"30\" (click)=\"toBeforeYear()\">←</myw-button>\r\n        <myw-button w=\"30\" active=\"true\">年</myw-button> -->\r\n        <!-- <myw-button w=\"90\" style=\"margin-left: calc((100% - 210px) / 2);\" (click)=\"selectPanelFn('y'); $event.stopPropagation()\">{{nowDate | date: 'yyyy'}}年{{nowDate | date:\r\n          'MM'}}月</myw-button> -->\r\n          所选年份： <myw-button (click)=\"selectPanelFn('y');$event.stopPropagation()\">{{selectYear}}</myw-button> 选择月份\r\n        <!-- <myw-button w=\"30\" >月</myw-button>\r\n        <myw-button w=\"30\" (click)=\"toAfterMonth()\" style=\"float: right;\">&gt;</myw-button> -->\r\n      </div>\r\n      <div *ngFor=\"let item of monthArr;\" style=\" height: 30px; margin-bottom: 3px;\"  (click)=\"$event.stopPropagation()\">\r\n        <div *ngFor=\"let itemi of item;\"\r\n          style=\"display: inline-block; width: 50%; height: 30px; text-align: center;\">\r\n          <myw-button w=\"100\" (click)=\"selectPanelFn('d', itemi);$event.stopPropagation()\">{{itemi}}月</myw-button>\r\n        </div>\r\n      </div>\r\n    </ng-container>\r\n    \r\n  </div>\r\n</div>","import {\r\n    Injectable,\r\n} from '@angular/core';\r\n\r\n@Injectable()\r\nexport class MywDragService {\r\n    zIndex = 1000000\r\n    constructor(\r\n    ) {\r\n    }\r\n}\r\n","import {\r\n  AfterViewInit,\r\n  ChangeDetectorRef,\r\n  Component,\r\n  ElementRef,\r\n  EventEmitter,\r\n  forwardRef,\r\n  Input,\r\n  OnInit,\r\n  Output,\r\n  ViewChild,\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { MywDragService } from './service/myw-drag.service';\r\n@Component({\r\n  selector: 'myw-drag',\r\n  templateUrl: './myw-drag.component.html',\r\n  styleUrls: ['./myw-drag.component.scss']\r\n})\r\nexport class MywDragComponent\r\n  implements OnInit, AfterViewInit, ControlValueAccessor {\r\n  @Input() position: boolean = true\r\n  @Input() v: string = ''\r\n  @ViewChild('dragRef') dragRef!: ElementRef\r\n  @Input() indexId = '';\r\n  @Output() close = new EventEmitter()\r\n  \r\n  offsetX = 0;\r\n  offsetY = 0;\r\n  _fatherNgModel: any = {};\r\n  arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23]\r\n  zIndex = 100000\r\n  constructor(private cdr: ChangeDetectorRef,private service: MywDragService) { \r\n    this.zIndex = ++this.service.zIndex\r\n    console.log('这是打印的下标')\r\n    console.log(this.zIndex)\r\n    console.log(this.zIndex % 10)\r\n  }\r\n  get fatherNgModel() {\r\n    return this._fatherNgModel;\r\n  }\r\n  set fatherNgModel(data: any) {\r\n    // 此处动用了getf方法\r\n    this._fatherNgModel = data;\r\n    this.change(this.fatherNgModel);\r\n  }\r\n  change = (value: any) => {\r\n    console.log('changge');\r\n    console.log(value);\r\n  };\r\n  // 先定义一个方法，很重要，用于接收registerOnChange()方法里传递回来的方法，然后通过这个方法就能通知到外部组件数据更新。\r\n  // 这个是外部给内部赋值的方法。\r\n  writeValue(val: any): void {\r\n    console.log('这是write value，父组件给里面的原素赋值了。');\r\n    console.log(val);\r\n    if (val) {\r\n      /* 此处动调用了fatherNgModel的set法法。 */\r\n      this.fatherNgModel = val.map((item: any) => {\r\n        item.flagExpand = true;\r\n        item.flagEdit = false;\r\n        return item;\r\n      });\r\n    }\r\n  }\r\n  registerOnChange(fn: any): void {\r\n    console.log('registerOnChange');\r\n    this.change = fn;\r\n  }\r\n  registerOnTouched(fn: any): void {\r\n    console.log('registerOnTouched');\r\n  }\r\n  setDisabledState?(isDisabled: boolean): void {\r\n    console.log('setDisabledState');\r\n  }\r\n\r\n  ngAfterViewInit(): void {\r\n    console.log('这是打印的gridList')\r\n\r\n    this.cdr.detectChanges()\r\n  }\r\n  ngOnInit(): void {\r\n    console.log('ngOnInit 执行了');\r\n  }\r\n\r\n  dragStart(e: any) {\r\n    console.log('开始拖动了。')\r\n    this.offsetX = e.offsetX;\r\n    this.offsetY = e.offsetY;\r\n    this.dragRef.nativeElement.style.opacity = 1;\r\n    console.log(e)\r\n    console.log('开始拖动打印结束')\r\n  }\r\n  drag(e: any) {\r\n    console.log(e)\r\n    var x = e.pageX;\r\n    var y = e.pageY;\r\n    console.log(x + '-' + y);\r\n    //drag事件最后一刻，无法读取鼠标的坐标，pageX和pageY都变为0  \r\n    if (x == 0 && y == 0) {\r\n      return; //不处理拖动最后一刻X和Y都为0的情形  \r\n    }\r\n    x -= this.offsetX;\r\n    y -= this.offsetY;\r\n    this.dragRef.nativeElement.style.left = x + 'px';\r\n    this.dragRef.nativeElement.style.top = y + 'px';\r\n  }\r\n  closeEmit() {\r\n    this.close.emit()\r\n  }\r\n}\r\n","<div [class]=\"'move' + zIndex % 10\" (drag)=\"drag($event)\" (dragstart)=\"dragStart($event)\" #dragRef draggable=\"true\" [ngStyle]=\"{'z-index': zIndex}\"\r\n    [ngClass]=\"{position: position, 'drag-box': true}\">\r\n    <div class=\"header\"><span (click)=\"position = !position\">{{position && v ? v : position ? '点击弹窗下沉-可拖动' : '点击弹窗上浮'}}</span>\r\n    <myw-button class=\"close\" (click)=\"closeEmit()\">关闭</myw-button></div>\r\n    <div class=\"body\" draggable=\"true\" (dragstart)=\"$event.preventDefault()\">\r\n        <ng-content></ng-content>\r\n    </div>\r\n</div>","import { AfterViewInit, ChangeDetectorRef, Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild } from '@angular/core';\r\n@Component({\r\n  selector: 'myw-test-drag',\r\n  templateUrl: './myw-test-drag.component.html',\r\n  styleUrls: ['./myw-test-drag.component.scss'],\r\n  providers: []\r\n})\r\nexport class MywTestDragComponent implements OnInit, AfterViewInit, OnDestroy {\r\n  loading = true\r\n  value: string = '100'\r\n  drag1: boolean = true\r\n  drag2: boolean = true\r\n  drag3: boolean = true\r\n  drag4: boolean = true\r\n  drag5: boolean = true\r\n  drag6: boolean = true\r\n  drag7: boolean = true\r\n  drag8: boolean = true\r\n  drag9: boolean = true\r\n  drag10: boolean = true\r\n  drag11: boolean = true\r\n  drag12: boolean = true\r\n  constructor() {\r\n\r\n  }\r\n  ngOnInit(): void {\r\n  }\r\n  ngAfterViewInit(): void {\r\n  }\r\n  ngOnDestroy(): void {\r\n  }\r\n  alert() {\r\n  }\r\n\r\n}\r\n","<myw-drag *ngIf=\"drag1\" (close)=\"drag1 = false\" v=\"自定义标题\" >1</myw-drag>\r\n<myw-drag *ngIf=\"drag2\" (close)=\"drag2 = false\" v=\"这是标题\">这是第2个</myw-drag>\r\n<myw-drag *ngIf=\"drag3\" (close)=\"drag3 = false\">这是第3个</myw-drag>\r\n<myw-drag *ngIf=\"drag4\" (close)=\"drag4 = false\">这是第4个</myw-drag>\r\n<myw-drag *ngIf=\"drag5\" (close)=\"drag5 = false\">这是第5个</myw-drag>\r\n<myw-drag *ngIf=\"drag6\" (close)=\"drag6 = false\">这是第6个</myw-drag>\r\n<myw-drag *ngIf=\"drag7\" (close)=\"drag7 = false\">这是第7个</myw-drag>\r\n<myw-drag *ngIf=\"drag8\" (close)=\"drag8 = false\">这是第8个</myw-drag>\r\n<myw-drag *ngIf=\"drag9\" (close)=\"drag9 = false\">这是第9个</myw-drag>\r\n<myw-drag *ngIf=\"drag10\" (close)=\"drag10 = false\">这是第10个</myw-drag>\r\n<myw-drag *ngIf=\"drag11\" (close)=\"drag11 = false\">这是第11个</myw-drag>\r\n<myw-drag *ngIf=\"drag12\" (close)=\"drag12 = false\">12个</myw-drag>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\r\nimport { MywDragComponent } from './myw-drag.component';\r\nimport { MywButtonModule } from '../button/myw-button.module';\r\nimport { MywDragService } from './service/myw-drag.service';\r\nconst components = [\r\n  MywDragComponent\r\n];\r\n@NgModule({\r\n  declarations: [\r\n    ...components\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    ReactiveFormsModule,\r\n    FormsModule,\r\n    MywButtonModule\r\n  ],\r\n  exports: [\r\n    ...components\r\n  ],\r\n  bootstrap: [\r\n  ],\r\n  providers: [MywDragService],\r\n})\r\nexport class MywDragModule { }\r\n","import { Directive, Input, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n\tselector: '[mywGrid]'\r\n})\r\nexport class MywGridDirective {\r\n\t@Input() key: string = ''\r\n\tconstructor(public templateRef: TemplateRef<unknown>) {}\r\n}","import {\r\n  AfterViewInit,\r\n  ChangeDetectorRef,\r\n  Component,\r\n  ContentChild,\r\n  ContentChildren,\r\n  ElementRef,\r\n  forwardRef,\r\n  HostListener,\r\n  Input,\r\n  OnInit,\r\n  QueryList,\r\n  ViewChild,\r\n  ViewContainerRef,\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n@Component({\r\n  selector: 'myw-grid2',\r\n  templateUrl: './myw-grid2.component.html',\r\n  styleUrls: ['./myw-grid2.component.scss'],\r\n  providers: [\r\n    {\r\n      provide: NG_VALUE_ACCESSOR,\r\n      useExisting: forwardRef(() => MywGrid2Component),\r\n      multi: true,\r\n    },\r\n  ],\r\n})\r\nexport class MywGrid2Component\r\n  implements OnInit, AfterViewInit, ControlValueAccessor\r\n{\r\n\r\n\r\n  @Input() indexId = '';\r\n  @ViewChild('gridBox') gridBox!: ElementRef\r\n  arrHeight = [] as any\r\n  arrWidth = [] as any\r\n  _fatherNgModel: any = {};\r\n  arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23]\r\n  constructor(private cdr: ChangeDetectorRef) {}\r\n  get fatherNgModel() {\r\n    return this._fatherNgModel;\r\n  }\r\n  set fatherNgModel(data: any) {\r\n    // 此处动用了getf方法\r\n    this._fatherNgModel = data;\r\n    this.change(this.fatherNgModel);\r\n  }\r\n  change = (value: any) => {\r\n    console.log('changge');\r\n    console.log(value);\r\n  };\r\n  // 先定义一个方法，很重要，用于接收registerOnChange()方法里传递回来的方法，然后通过这个方法就能通知到外部组件数据更新。\r\n  // 这个是外部给内部赋值的方法。\r\n  writeValue(val: any): void {\r\n    console.log('这是write value，父组件给里面的原素赋值了。');\r\n    console.log(val);\r\n    if (val) {\r\n      /* 此处动调用了fatherNgModel的set法法。 */\r\n      this.fatherNgModel = val.map((item: any) => {\r\n        item.flagExpand = true;\r\n        item.flagEdit = false;\r\n        return item;\r\n      });\r\n    }\r\n  }\r\n  registerOnChange(fn: any): void {\r\n    console.log('registerOnChange');\r\n    this.change = fn;\r\n  }\r\n  registerOnTouched(fn: any): void {\r\n    console.log('registerOnTouched');\r\n  }\r\n  setDisabledState?(isDisabled: boolean): void {\r\n    console.log('setDisabledState');\r\n  }\r\n  @HostListener('window:resize', ['$event']) onResize() {\r\n    this.getresize()\r\n  }\r\n  ngAfterViewInit(): void {\r\n    this.getresize()\r\n  }\r\n  getresize() {\r\n    console.log('这是打印的gridList')\r\n     /* 获取当前元素的高 */\r\n     let screenHeight: number = this.gridBox.nativeElement.offsetHeight\r\n     /* 获取当前元斯的宽 */\r\n     let screenWidth: number = this.gridBox.nativeElement.offsetWidth\r\n \r\n     let h  = Math.floor(screenHeight / 44)\r\n     let h1 = screenHeight % 44\r\n     if (h1 >= 40) h = h + 1\r\n     let w  = Math.floor(screenWidth / 44)\r\n     let w1 = screenHeight % 44\r\n     if (w1 >= 40) w = w + 1\r\n \r\n     let arrHeight = []\r\n     let arrWidth = []\r\n     for (let index = 1; index <= h; index++) {\r\n       arrHeight.push(index)\r\n     }\r\n     for (let index = 1; index <= w; index++) {\r\n       arrWidth.push(index)\r\n     }\r\n     this.arrHeight = arrHeight\r\n     this.arrWidth = arrWidth\r\n     this.cdr.detectChanges()\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    console.log('ngOnInit 执行了');\r\n  }\r\n  \r\n\r\n  \r\n  \r\n}\r\n","<!-- <div class=\"grid-box\" #gridBox [ngStyle]=\"{\r\n    'grid-template-columns': 'repeat(' + arrWidth.length + ', 40px',\r\n    'grid-template-rows': 'repeat(' + arrHeight.length + ', 40px',\r\n}\">\r\n    <ng-container *ngFor=\"let h of arrHeight;\">\r\n        <ng-container *ngFor=\"let w of arrWidth;\">\r\n            <div>{{ h + '' + 'w'}}</div>\r\n        </ng-container>\r\n\r\n    </ng-container>\r\n</div> -->\r\n<!-- {{arrHeight | json}}\r\n{{arrWidth | json}} -->\r\n<div class=\"grid-box\" #gridBox [ngStyle]=\"{\r\n    'grid-template-columns': 'repeat(' + arrWidth.length + ', 40px)',\r\n    'grid-template-rows': 'repeat(' + arrHeight.length + ', 40px)'}\" >\r\n    <ng-container *ngFor=\"let h of arrHeight;\">\r\n        <ng-container *ngFor=\"let w of arrWidth;\">\r\n            <div>{{ h + ' ' + w}}</div>\r\n        </ng-container>\r\n    </ng-container>\r\n</div>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\r\nimport { MywGrid2Component } from './myw-grid2.component';\r\nconst components = [\r\n  MywGrid2Component,\r\n];\r\n@NgModule({\r\n  declarations: [\r\n ...components\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    ReactiveFormsModule,\r\n    FormsModule,\r\n  ],\r\n  exports: [\r\n    ...components\r\n  ],\r\n  bootstrap: [\r\n  ],\r\n  providers: [],\r\n})\r\nexport class MywGrid2Module { }\r\n","import {\r\n  AfterViewInit,\r\n  ChangeDetectorRef,\r\n  Component,\r\n  EventEmitter,\r\n  Input,\r\n  OnDestroy,\r\n  OnInit,\r\n  Output,\r\n  ViewChild,\r\n} from '@angular/core';\r\n@Component({\r\n  selector: 'myw-test-grid2',\r\n  templateUrl: './myw-test-grid2.component.html',\r\n  styleUrls: ['./myw-test-grid2.component.less'],\r\n  providers: [],\r\n})\r\nexport class MywTestGrid2Component implements OnInit, AfterViewInit, OnDestroy {\r\n  treeData = [\r\n    {\r\n      v: 'v1',\r\n      value: '1',\r\n      flagExpand: true,\r\n      children: [\r\n        {\r\n          v: 'v11',\r\n          value: '11',\r\n          flagExpand: true,\r\n          children: [\r\n            {\r\n              v: 'v111',\r\n              value: '111',\r\n              flagExpand: true,\r\n              children: [\r\n                {\r\n                  v: 'v1111',\r\n                  value: '1111',\r\n                  flagExpand: true,\r\n                  children: [\r\n                    {\r\n                      v: 'v11111',\r\n                      value: '11111',\r\n                      flagExpand: true,\r\n                    },\r\n                    {\r\n                      v: 'v11112',\r\n                      value: '11112',\r\n                      flagExpand: true,\r\n                    },\r\n                  ],\r\n                },\r\n              ],\r\n            },\r\n            {\r\n              v: 'v112',\r\n              value: '112',\r\n              flagExpand: true,\r\n              children: [{\r\n                  v: 'v1121',\r\n                  value: '1121',\r\n                  flagExpand: true,\r\n              }]\r\n            },\r\n          ],\r\n        },\r\n      ],\r\n    },\r\n    {\r\n      v: 'v2',\r\n      value: '2',\r\n      flagExpand: true,\r\n      children: [{\r\n        v: 'v21',\r\n        value: '21',\r\n        flagExpand: true,\r\n    }]\r\n    },\r\n  ];\r\n  loading = true;\r\n  constructor(private cdr: ChangeDetectorRef) {}\r\n  ngOnInit(): void {}\r\n  ngAfterViewInit(): void {\r\n    this.cdr.detectChanges()\r\n  }\r\n  ngOnDestroy(): void {}\r\n  alert() {}\r\n}\r\n","<myw-gap></myw-gap>\r\n<h1>根据父元素的大小生成格子</h1>\r\n<myw-gap></myw-gap>\r\n\r\n<div style=\"height: 500px; width: 100%; border: 1px solid red; resize: both;\">\r\n    <myw-grid2></myw-grid2>\r\n</div>\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n    selector: '[mywModalFooter]'\r\n})\r\nexport class MywModalFooterDirective {\r\nconstructor(public templateRef: TemplateRef<unknown>) {}\r\n}","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n    selector: '[mywTree]'\r\n})\r\nexport class MywTreeDirective {\r\nconstructor(public templateRef: TemplateRef<unknown>) {}\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class MayiwenSelectService {\r\n  flagShow = false;\r\n  obj = {} as any;\r\n  subject = new Subject();\r\n  constructor(private http: HttpClient) { }\r\n}\r\n","import { AfterViewInit, ChangeDetectorRef, Component, Input, OnInit, QueryList, ViewChild, ViewChildren } from '@angular/core';\r\nimport { MayiwenSelectService } from '../myw-select.service';\r\n@Component({\r\n  selector: 'myw-option',\r\n  templateUrl: './myw-option.component.html',\r\n  styleUrls: ['./myw-option.component.less'],\r\n  providers: []\r\n})\r\nexport class MywOptionComponent implements OnInit, AfterViewInit {\r\n  @Input() value = '';\r\n  @Input() v = '';\r\n  @Input() o: any\r\n  tabsetTitleList = [] as any;\r\n  selectTab = 0;\r\n  flagShow = false;\r\n  constructor(private cdr: ChangeDetectorRef) {\r\n\r\n  }\r\n  get title() {\r\n    return JSON.stringify(this.tabsetTitleList);\r\n  }\r\n  ngOnInit(): void {\r\n    // throw new Error('Method not implemented.');\r\n  }\r\n  changeTab(index: any) {\r\n  }\r\n  ngAfterViewInit() {\r\n  }\r\n  selectOption() {\r\n    console.log('这是option');\r\n\r\n  }\r\n\r\n}\r\n","<!-- \r\n<div (click)=\"selectOption()\">\r\n  {{value}} | {{v}}\r\n</div> -->","import {\r\n  AfterViewInit,\r\n  ChangeDetectorRef,\r\n  Component,\r\n  ContentChildren,\r\n  EventEmitter,\r\n  forwardRef,\r\n  HostListener,\r\n  Input,\r\n  OnInit,\r\n  Output,\r\n  QueryList,\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { MayiwenSelectService } from './myw-select.service';\r\nimport { MywOptionComponent } from './option/myw-option.component';\r\n@Component({\r\n  selector: 'myw-select',\r\n  templateUrl: './myw-select.component.html',\r\n  styleUrls: ['./myw-select.component.scss'],\r\n  providers: [\r\n    {\r\n      provide: NG_VALUE_ACCESSOR,\r\n      useExisting: forwardRef(() => MywSelectComponent),\r\n      multi: true,\r\n    },\r\n    MayiwenSelectService,\r\n  ],\r\n})\r\nexport class MywSelectComponent implements  AfterViewInit, ControlValueAccessor {\r\n  @Input() w = 100;\r\n  @Input() v = 'v';\r\n  @Input() value = 'value';\r\n  @Input() name = '';\r\n  /** 获取 option 的列表  */\r\n  @ContentChildren(MywOptionComponent) optionList!: QueryList<MywOptionComponent>;\r\n  @Output('optionSelect') optionSelect = new EventEmitter()\r\n  @Output('inputChange') inputChange = new EventEmitter()\r\n  /** 是否显示下面的option */\r\n  flagShow = false;\r\n  inputValue = '111';\r\n  /** 这是展示的值。 */\r\n  showAndSearchValue = ''\r\n  /** 父组件把ngModel传进来的时候绑定的值 */\r\n  _fatherNgModel: any = {};\r\n  data: any;\r\n  constructor(\r\n    private cdr: ChangeDetectorRef,\r\n  ) {\r\n    // this.childData = 2;\r\n  }\r\n  @HostListener('window:click', ['$event']) onClose() {\r\n    this.flagShow = false\r\n  }\r\n  get width() {\r\n    return parseInt(this.w + '', 10) + 4;\r\n  }\r\n  get fatherNgModel() {\r\n    return this._fatherNgModel;\r\n  }\r\n  set fatherNgModel(data: any) {\r\n    this._fatherNgModel = data;\r\n    this.change(this.fatherNgModel);\r\n  }\r\n  ngAfterViewInit() {\r\n    console.log('这是打印的option list')\r\n    console.log(this.optionList)\r\n  }\r\n  add() {\r\n    // this.childData++;\r\n  }\r\n  change = (value: any) => {\r\n    console.log('changge');\r\n    console.log(value);\r\n  }; // 先定义一个方法，很重要，用于接收registerOnChange()方法里传递回来的方法，然后通过这个方法就能通知到外部组件数据更新。\r\n  /** 写入值的方法执行了 */\r\n  writeValue(val: any): void {\r\n    console.log('写入值的方法执行了')\r\n    console.log(val)\r\n    // 初始化时，获取并监听父组件通过ngModel传递进来的数据\r\n    if (val) {\r\n      this.fatherNgModel = val;\r\n      console.log('这是执行的方法')\r\n      console.log(val)\r\n      this.showAndSearchValue = this.fatherNgModel[this.v]\r\n    }\r\n  }\r\n  registerOnChange(fn: any): void {\r\n    console.log('registerOnChange');\r\n    console.log(this._fatherNgModel)\r\n    console.log(fn)\r\n    // 初始化后，执行该方法，并保存控件接收到 change 事件后，调用的函数\r\n    this.change = fn;\r\n    console.log('这是')\r\n  }\r\n  registerOnTouched(fn: any): void { }\r\n\r\n  ngOnInit(): void { }\r\n  changeTab(index: any) { }\r\n  select(item: any) {\r\n    console.log('这是item')\r\n    console.log(item)\r\n    this.fatherNgModel = JSON.parse(JSON.stringify(item.o))\r\n    console.log(this.fatherNgModel)\r\n    this.showAndSearchValue = this.fatherNgModel[this.v]\r\n    console.log('这是选择后的 fatherNgmodel')\r\n    console.log(this.fatherNgModel)\r\n\r\n    this.optionSelect.emit(this.fatherNgModel)\r\n    // alert('你好')\r\n  }\r\n  inputChangeFn(e: any) {\r\n    console.log('input 改变了')\r\n    console.log(e)\r\n    this.inputChange.emit(e)\r\n  }\r\n\r\n}\r\n","<!-- <div style=\"position: relative; display: inline-block;\" (mouseenter)=\"flagShow = true\"> -->\r\n<div style=\"position: relative; display: inline-block;\" >\r\n  <myw-input [(ngModel)]=\"showAndSearchValue\" w=\"150\" placeholder=\"请选择\" [name]=\"name\" (ngModelChange)=\"inputChangeFn($event)\" (click)=\"$event.stopPropagation(); flagShow = true\"></myw-input>\r\n  <div class=\"title\" *ngIf=\"flagShow\" style=\"max-height: 200px; overflow: overlay;\">\r\n    <div *ngFor=\"let item of optionList;\" (click)=\"select(item)\">\r\n      <myw-button w=\"300\"> {{item.o[v]+ '|' + item.o[value]}}</myw-button>\r\n    </div>\r\n  </div>\r\n</div>\r\n","import { AfterViewInit, ChangeDetectorRef, Component, ContentChild, ElementRef, HostBinding, HostListener, Input, OnInit, TemplateRef, ViewChild, forwardRef } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n@Component({\r\n  selector: 'myw-input-number',\r\n  templateUrl: './myw-input-number.component.html',\r\n  styleUrls: ['./myw-input-number.component.scss'],\r\n  providers: [\r\n    {\r\n      provide: NG_VALUE_ACCESSOR,\r\n      useExisting: forwardRef(() => MywInputNumberComponent),\r\n      multi: true\r\n    }\r\n  ]\r\n})\r\nexport class MywInputNumberComponent implements  AfterViewInit, ControlValueAccessor {\r\n  /** 父组件传过来的正则。 */\r\n  @Input('reg') reg? = ''\r\n  @Input('w') w? = '100'\r\n  @Input('p') p? = ''\r\n  /** 父组件传过来的数据 */\r\n  _fathrData: string = ''\r\n  /** 是否disabled */\r\n  flagDisabled: boolean = false\r\n  /** 父组件传过的数据复制的一份数据。主要是为了不满足正则的时候，要恢复原来的内容。 */\r\n  fatherDataCopy: string = ''\r\n  constructor() {\r\n    \r\n  }\r\n  set fatherData(value: string) {\r\n    // 将子元素赋值\r\n    this._fathrData = value\r\n    this.change(this._fathrData)\r\n  }\r\n  get fatherData() {\r\n    return this._fathrData\r\n  }\r\n  /** 将父组件传过来的数据写入到此组件中。 */\r\n  writeValue(obj: any): void {\r\n    this._fathrData = obj\r\n    console.log('writevalue')\r\n    console.log(obj)\r\n    this.fatherDataCopy = this._fathrData ? JSON.parse(JSON.stringify(this._fathrData)) : ''\r\n  }\r\n  /** 把此组件修改过的内容，写入到子组件中 */\r\n  registerOnChange(fn: any): void {\r\n    this.change = fn\r\n  }\r\n  registerOnTouched(fn: any): void {\r\n    console.log('当前的元素被触发了。')\r\n  }\r\n  setDisabledState?(isDisabled: boolean): void {\r\n    this.flagDisabled = isDisabled\r\n  }\r\n  change = (value:any) => {}\r\n\r\n  ngAfterViewInit(): void {\r\n  }\r\n  changeValue(e: any, input:any) {\r\n    if (this.fatherData) {\r\n      // 如果当前的reg有值。\r\n      if (this.reg) {\r\n        try {\r\n          let reg = eval(this.reg)\r\n          let res = reg.test(this.fatherData)\r\n          if (res) {\r\n            this.fatherData = e\r\n            this.fatherDataCopy = this._fathrData ? JSON.parse(JSON.stringify(this._fathrData)) : ''\r\n\r\n          } else {\r\n            this._fathrData = JSON.parse(JSON.stringify(this.fatherDataCopy))\r\n            input.value = this._fathrData\r\n          }\r\n        } catch(error) {\r\n          this.fatherData = ''\r\n          this.fatherDataCopy = ''\r\n        }\r\n      } else {\r\n        this.fatherData = e\r\n        this.fatherDataCopy = this._fathrData ? JSON.parse(JSON.stringify(this._fathrData)) : ''\r\n\r\n      }\r\n    } else {\r\n      this.fatherData = ''\r\n      this.fatherDataCopy = ''\r\n    }\r\n  }\r\n}\r\n ","<input type=\"number\" #input1 [(ngModel)]=\"_fathrData\" (ngModelChange)=\"changeValue($event, input1)\" [placeholder]=\"p\"  [ngStyle]=\"{width: w + 'px'}\"/>","import { Directive, Input, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n\tselector: '[mywCol]'\r\n})\r\nexport class MywColDirective {\r\n\t@Input() span: number = 0\r\n\tflagShowSpan: boolean = true\r\n\tconstructor(public templateRef: TemplateRef<unknown>) {}\r\n}","import {\r\n  AfterViewInit,\r\n  Component,\r\n  ContentChildren,\r\n  Input,\r\n  OnInit,\r\n  QueryList,\r\n} from '@angular/core';\r\nimport { MywColDirective } from './directive/myw-col.directive';\r\n@Component({\r\n  selector: 'myw-row',\r\n  templateUrl: './myw-row.component.html',\r\n  styleUrls: ['./myw-row.component.less'],\r\n  providers: [\r\n  ],\r\n})\r\nexport class MywRowComponent implements AfterViewInit{\r\n  @ContentChildren(MywColDirective) colList!: QueryList<MywColDirective>\r\n  @Input() gutter: any = 8\r\n  @Input() total: number = 24\r\n  @Input() w: any;\r\n  @Input() h: any;\r\n  constructor() {\r\n  }\r\n  ngAfterViewInit(): void {\r\n    let account = 0\r\n    this.colList.forEach(item => {\r\n      account = account + item.span\r\n      if (account === 24) {\r\n        item.flagShowSpan = false\r\n        account = 0\r\n      } else {\r\n        if (account > 24) {\r\n          account = item.span\r\n        } else {\r\n          item.flagShowSpan = true\r\n        }\r\n      }\r\n    })\r\n  }\r\n  get height() {\r\n    return this.h\r\n  }\r\n  get width() {\r\n    return this.w\r\n  }\r\n \r\n}\r\n","<ng-container *ngFor=\"let item of colList; let index = index\">\r\n    <div class=\"context\"\r\n        [ngStyle]=\"{width: 'calc((100% - ' + (total - 1) * gutter + 'px)/'+total+ '*'+item.span+' + ' + gutter * (item.span - 1) +'px)'}\">\r\n        <ng-container [ngTemplateOutlet]=\"item.templateRef\"></ng-container>\r\n    </div>\r\n    <div class=\"gap\" *ngIf=\"colList.length - 1 !== index && item.flagShowSpan\" [ngStyle]=\"{width: gutter + 'px'}\"></div>\r\n</ng-container>","import { Directive, Input } from \"@angular/core\";\r\nimport { AbstractControl, NG_VALIDATORS, ValidationErrors, Validator, ValidatorFn } from \"@angular/forms\";\r\n@Directive({\r\n  selector: '[mywCheckEmpytObjectDirective]',\r\n  providers: [{ provide: NG_VALIDATORS, useExisting: CheckEmpytObjectDirective, multi: true }]\r\n})\r\n/**\r\n * 如果是个对像的话，// <input type=\"text\" id=\"name\" name=\"name\" class=\"form-control\" mywCheckEmpytObjectDirective=\"name\" [(ngModel)]=\"test\" #name=\"ngModel\">  应给mywCheckEmpytObjectDirective指定一个属性名。\r\n * 如果不是对象，直接使用 <input type=\"text\" id=\"name\" name=\"name\" class=\"form-control\" mywCheckEmpytObjectDirective [(ngModel)]=\"test\" #name=\"ngModel\"> 不用加属性名\r\n */\r\nexport class CheckEmpytObjectDirective implements Validator {\r\n  @Input('mywCheckEmpytObjectDirective') mywCheckEmpytObjectDirective = '';\r\n  validate(control: AbstractControl): ValidationErrors | null {\r\n    console.log('校验执行了')\r\n    if (!control.value) {\r\n      return {\r\n        empty: {\r\n          value: 'empty'\r\n        }\r\n      }\r\n    } else {\r\n      if (!this.mywCheckEmpytObjectDirective) { return null }\r\n      if (control.value[`${this.mywCheckEmpytObjectDirective}`]) {\r\n        return null\r\n      } else {\r\n        return {\r\n          empty: {\r\n            value: 'empty attr'\r\n          }\r\n        }\r\n      }\r\n    }\r\n  }\r\n}\r\n","import { AfterViewInit, Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\n@Component({\r\n  selector: 'myw-test-form',\r\n  templateUrl: './myw-test-form.component.html',\r\n  styleUrls: ['./myw-test-form.component.scss'],\r\n  providers: [],\r\n})\r\nexport class MywTestFormComponent implements OnInit, AfterViewInit, OnDestroy {\r\n  dis: boolean = true\r\n  mywInput: string = '100'\r\n  loading = true;\r\n  test = '';\r\n  value: string = '100';\r\n\r\n  hello = {\r\n    v: 'hello0',\r\n    value: 'hello0',\r\n  };\r\n  hello1 = {\r\n    v: 'hello1',\r\n    value: 'hello1',\r\n  };\r\n  hello2 = {\r\n    v: 'hello2',\r\n    value: 'hello2',\r\n  };\r\n\r\n  arr = [this.hello, this.hello1, this.hello2];\r\n  h = this.arr[0];\r\n  constructor(private fb: FormBuilder) {}\r\n  fbForm = this.fb.group({\r\n    selectObj: this.fb.control(this.arr[0])\r\n  })\r\n  \r\n  ngOnInit(): void {\r\n    this.h = this.arr[1];\r\n  }\r\n  getfb() {\r\n    console.log(this.fbForm)\r\n  }\r\n  numValue = '';\r\n  ngAfterViewInit(): void {\r\n    // this.h = this.arr[2]\r\n    // this.h = {\r\n    //   v: 'hello3',\r\n    //   value: 'hello3'\r\n    // }\r\n    // this.h.v = 'hello4'\r\n    // this.h.value = 'hello4value'\r\n\r\n    console.log('这是打印的form');\r\n    console.log('----------------');\r\n    // this.fbForm.setValue({\r\n    //   selectObj: {\r\n    //     v: this.arr[1].v,\r\n    //     value: this.arr[1].value,\r\n    //   }\r\n    // }, )\r\n    \r\n    console.log()\r\n    // let fb = this.fbForm.controls.selectObj as FormGroup\r\n    // this.fbForm = this.fb.group({\r\n    //   selectObj: this.fb.group(this.arr[1])\r\n    // })\r\n    \r\n    // fb.setValue(this.arr[1])\r\n    // fb.patchValue(this.arr[1])\r\n    console.log('这是fb')\r\n    console.log('------------')\r\n    // console.log(fb)\r\n    // console.log( this.fbForm.controls.selectObj)\r\n    console.log(this.arr[1])\r\n    this.fbForm.controls.selectObj.patchValue(this.arr[2])\r\n    // console.log( this.fbForm.controls.selectObj)\r\n    // this.fbForm.patchValue({\r\n    //   selectObj: {\r\n    //     v: 'v111',\r\n    //     value: 'value111'\r\n    //   }\r\n    // })\r\n  }\r\n  ngOnDestroy(): void {}\r\n\r\n  // get aliases() {\r\n  //   return <FormBuilder|>this.fbForm.get('selectObj');\r\n  // }\r\n  alert() {}\r\n  inputChange(e: any) {\r\n    console.log('inputChange 执行了 这是外部的');\r\n    console.log(e);\r\n    if (e === '') {\r\n      this.arr = [];\r\n      return;\r\n    }\r\n    this.arr = [\r\n      1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,\r\n    ].map((item) => {\r\n      e + item;\r\n      return {\r\n        v: e + item,\r\n        value: 'value' + e + item,\r\n      };\r\n    });\r\n  }\r\n  show() {\r\n    console.log(this.mywInput)\r\n  }\r\n}\r\n","<myw-gap></myw-gap>\r\n\r\n<h1>表单输入 myw-input myw-inut-number myw-date myw-select myw-option</h1>\r\n\r\n<myw-gap></myw-gap>\r\n使用指令实现的 input输入框\r\n<input myw-input [disabled]=\"dis\" [(ngModel)]=\"mywInput\" placeholder=\"你好\" reg=\"/^[1-9]\\d*$/\"/>\r\n<button (click)=\"dis = !dis\">切换 </button>\r\n<button (click)=\"show()\">打印 </button>\r\n<p>原本我以为表单应该使用指令实现，看了指令的许多限制后，依旧使用组件实现。</p>\r\n <myw-row>\r\n    <ng-template mywCol [span]=\"24\" >\r\n        基础输入框\r\n    </ng-template>\r\n</myw-row>\r\n<myw-row>\r\n    <ng-template mywCol [span]=\"24\">\r\n        <myw-input [(ngModel)]=\"value\"  w=\"150\" name=\"tips1\"></myw-input>\r\n    </ng-template>\r\n</myw-row>\r\n\r\n<myw-row>\r\n    <ng-template mywCol [span]=\"24\">\r\n        基础输入框 禁用\r\n    </ng-template>\r\n</myw-row>\r\n\r\n<myw-row>\r\n    <ng-template mywCol [span]=\"24\">\r\n        <myw-input [(ngModel)]=\"value\" [disabled]=\"true\" placeholder=\"基础输入框 *\" w=\"150\" name=\"tips1\"></myw-input>\r\n    </ng-template>\r\n</myw-row>\r\n<myw-row>\r\n    <ng-template mywCol [span]=\"24\">\r\n        数字输入框\r\n    </ng-template>\r\n</myw-row>\r\n<myw-row>\r\n    <ng-template mywCol [span]=\"24\">\r\n        <myw-input-number [(ngModel)]=\"numValue\" w=\"150\"></myw-input-number>\r\n    </ng-template>\r\n</myw-row>\r\n<myw-row>\r\n    <ng-template mywCol [span]=\"24\">\r\n        大输入框：\r\n    </ng-template>\r\n</myw-row>\r\n<myw-row>\r\n    <ng-template mywCol [span]=\"24\">\r\n        <myw-input [(ngModel)]=\"value\" placeholder=\"提示语 *\" w=\"150\" [bold]=\"true\" name=\"tips\"></myw-input>\r\n    </ng-template>\r\n</myw-row>\r\n<myw-row>\r\n    <ng-template mywCol [span]=\"24\">\r\n         判空指令 - 为空的时候作出提示 - 后续将列出所有的不符合表单校验的错误。\r\n    </ng-template>\r\n</myw-row>\r\n<myw-row>\r\n    <ng-template mywCol [span]=\"24\">\r\n        <form action=\"\" #formTest=\"ngForm\">\r\n            <myw-input\r\n              [(ngModel)]=\"test\"\r\n              name=\"name\"\r\n              #name=\"ngModel\"\r\n              w=\"150\"\r\n              mywCheckEmpytObjectDirective\r\n            ></myw-input>\r\n          </form>\r\n          <div *ngIf=\"name.invalid\" class=\"alert\">\r\n            <div *ngIf=\"name.errors?.['required']\">Name is required.</div>\r\n            <div *ngIf=\"name.errors?.['minlength']\">\r\n              Name must be at least 4 characters long.\r\n            </div>\r\n            <div *ngIf=\"name.errors?.['forbiddenName']\">Name cannot be Bob.</div>\r\n            <div *ngIf=\"name.errors?.['empty']\">cannot be empty.</div>\r\n          </div>\r\n          <myw-gap></myw-gap>\r\n  \r\n    </ng-template>\r\n</myw-row>\r\n<div>\r\n    这是h {{h | json}}\r\n</div>\r\n<myw-row>\r\n    <ng-template mywCol [span]=\"24\">\r\n        select 搜索 选择框 绑定对象\r\n    </ng-template>\r\n</myw-row>\r\n<myw-row>\r\n    <ng-template mywCol [span]=\"24\">\r\n       <p>使用模板驱动表单给select绑定一个对象</p>\r\n        <form action=\"\">\r\n            <myw-select [(ngModel)]=\"h\" (inputChange)=\"inputChange($event)\" name=\"selectForm\">\r\n                <myw-option [o]=\"item\" v=\"v\" value=\"value\" *ngFor=\"let item of arr;\"></myw-option>\r\n            </myw-select>\r\n        </form>\r\n        <p>使用响应式表单绑定给select 绑定一个对象</p>\r\n        <form [formGroup]=\"fbForm\">\r\n            <myw-select formControlName=\"selectObj\" (inputChange)=\"inputChange($event)\" name=\"selectForm\">\r\n                <myw-option [o]=\"item\" v=\"v\" value=\"value\" *ngFor=\"let item of arr;\"></myw-option>\r\n            </myw-select>\r\n        </form>\r\n    </ng-template>\r\n</myw-row>\r\n<myw-row>\r\n    <ng-template mywCol [span]=\"24\">\r\n        日期选择框\r\n    </ng-template>\r\n</myw-row>\r\n<myw-row>\r\n    <ng-template mywCol [span]=\"24\">\r\n        <myw-date></myw-date>\r\n    </ng-template>\r\n</myw-row>\r\n\r\n<br>\r\n<myw-button>提交</myw-button>\r\n<div style=\"height: 100px;\"></div>","// defer-load.directive.ts\r\nimport { Directive, Output, EventEmitter, ElementRef, AfterViewInit } from '@angular/core';\r\n\r\n@Directive({\r\n  selector: '[mywDeferLoad]'\r\n})\r\nexport class DeferLoadDirective implements AfterViewInit {\r\n\r\n  @Output() deferLoad: EventEmitter<boolean> = new EventEmitter();\r\n\r\n  private _intersectionObserver!: IntersectionObserver;\r\n\r\n  constructor(\r\n    private _elemRef: ElementRef\r\n  ) { }\r\n\r\n  ngAfterViewInit() {\r\n    this._intersectionObserver = new IntersectionObserver(entries => {\r\n      this._checkForIntersection(entries);\r\n    }, {});\r\n    this._intersectionObserver.observe(<Element>this._elemRef.nativeElement);\r\n  }\r\n\r\n  private _checkForIntersection(entries: IntersectionObserverEntry[]) {\r\n    console.log(entries);\r\n    entries.forEach((entry: IntersectionObserverEntry) => {\r\n      console.log(entry)\r\n      console.log('这个执行了吗？')\r\n      if (this._checkIfIntersecting(entry)) {\r\n        this.deferLoad.emit(true);\r\n        // 取消观察元素，断开这个intersection observer\r\n        // this._intersectionObserver.unobserve(this._elemRef.nativeElement);\r\n        // this._intersectionObserver.disconnect();\r\n      } else {\r\n        this.deferLoad.emit(false)\r\n      }\r\n    });\r\n  }\r\n\r\n  private _checkIfIntersecting(entry: IntersectionObserverEntry) {\r\n    return (<any>entry).isIntersecting && entry.target === this._elemRef.nativeElement;\r\n  }\r\n\r\n}","import { AfterViewInit, ChangeDetectorRef, Component, ContentChild, ElementRef, Input, OnInit, TemplateRef, ViewChild } from '@angular/core';\r\n@Component({\r\n  selector: 'myw-center',\r\n  templateUrl: './myw-center.component.html',\r\n  styleUrls: ['./myw-center.component.less'],\r\n  providers: []\r\n})\r\nexport class MywCenterComponent implements  AfterViewInit {\r\n  @ViewChild('mywCenter') mywCenter!: ElementRef\r\n  ngAfterViewInit(): void {\r\n    console.log('这是打印的mywCenter')\r\n    console.log(this.mywCenter)\r\n    console.log(this.mywCenter.nativeElement)\r\n    console.dir(this.mywCenter.nativeElement)\r\n    console.dir(this.mywCenter.nativeElement.firstChild)\r\n    console.dir(this.mywCenter.nativeElement.childNodes[0])\r\n    this.mywCenter.nativeElement.firstChild.style.color='red'\r\n    throw new Error('Method not implemented.');\r\n  }\r\n  \r\n}\r\n","<div style=\"height: 100%; width: 100%;\" class=\"myw-center\" #mywCenter>\r\n    <ng-content ></ng-content>\r\n</div>","import {\r\n  AfterViewInit,\r\n  ChangeDetectorRef,\r\n  Component,\r\n  ContentChildren,\r\n  forwardRef,\r\n  Input,\r\n  OnInit,\r\n  QueryList,\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { MywGridDirective } from './directive/myw-grid.directive';\r\n@Component({\r\n  selector: 'myw-grid',\r\n  templateUrl: './myw-grid.component.html',\r\n  styleUrls: ['./myw-grid.component.less'],\r\n  providers: [\r\n    {\r\n      provide: NG_VALUE_ACCESSOR,\r\n      useExisting: forwardRef(() => MywGridComponent),\r\n      multi: true,\r\n    },\r\n  ],\r\n})\r\nexport class MywGridComponent\r\n  implements OnInit, AfterViewInit, ControlValueAccessor\r\n{\r\n  @ContentChildren(MywGridDirective) gridList!: QueryList<MywGridDirective>\r\n  @Input() indexId = '';\r\n  _fatherNgModel: any = {};\r\n  arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23]\r\n  constructor(private cdr: ChangeDetectorRef) {}\r\n  get fatherNgModel() {\r\n    return this._fatherNgModel;\r\n  }\r\n  set fatherNgModel(data: any) {\r\n    // 此处动用了getf方法\r\n    this._fatherNgModel = data;\r\n    this.change(this.fatherNgModel);\r\n  }\r\n  change = (value: any) => {\r\n    console.log('changge');\r\n    console.log(value);\r\n  };\r\n  // 先定义一个方法，很重要，用于接收registerOnChange()方法里传递回来的方法，然后通过这个方法就能通知到外部组件数据更新。\r\n  // 这个是外部给内部赋值的方法。\r\n  writeValue(val: any): void {\r\n    console.log('这是write value，父组件给里面的原素赋值了。');\r\n    console.log(val);\r\n    if (val) {\r\n      /* 此处动调用了fatherNgModel的set法法。 */\r\n      this.fatherNgModel = val.map((item: any) => {\r\n        item.flagExpand = true;\r\n        item.flagEdit = false;\r\n        return item;\r\n      });\r\n    }\r\n  }\r\n  registerOnChange(fn: any): void {\r\n    console.log('registerOnChange');\r\n    this.change = fn;\r\n  }\r\n  registerOnTouched(fn: any): void {\r\n    console.log('registerOnTouched');\r\n  }\r\n  setDisabledState?(isDisabled: boolean): void {\r\n    console.log('setDisabledState');\r\n  }\r\n\r\n  ngAfterViewInit(): void {\r\n    this.cdr.detectChanges()\r\n  }\r\n  ngOnInit(): void {\r\n    console.log('ngOnInit 执行了');\r\n  }\r\n  addZero(num: any) {\r\n    let str = '';\r\n    for (let index = 0; index < num; index++) {\r\n      str += '0';\r\n    }\r\n    return str;\r\n  }\r\n  arrTrans(str: any) {\r\n    let StrTemp = str;\r\n    let arr = StrTemp.split('-');\r\n    arr.splice(arr.length - 1, 1);\r\n    return arr.join('-');\r\n  }\r\n\r\n  \r\n  \r\n}\r\n","<ng-container *ngFor=\"let item of gridList; let index = index\">\r\n    <div class=\"context\" style=\"display: inline-block;\">\r\n        <ng-container [ngTemplateOutlet]=\"item.templateRef\"></ng-container>\r\n    </div>\r\n</ng-container>","import { AfterViewInit, ChangeDetectorRef, Component, ContentChild, ElementRef, HostBinding, HostListener, Input, OnInit, TemplateRef, ViewChild, forwardRef } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n@Component({\r\n  selector: 'myw-textarea',\r\n  templateUrl: './myw-textarea.component.html',\r\n  styleUrls: ['./myw-textarea.component.scss'],\r\n  providers: [\r\n    {\r\n      provide: NG_VALUE_ACCESSOR,\r\n      useExisting: forwardRef(() => MywTextareaComponent),\r\n      multi: true\r\n    }\r\n  ]\r\n})\r\nexport class MywTextareaComponent implements  AfterViewInit, ControlValueAccessor {\r\n  /** 父组件传过来的正则。 */\r\n  @Input('reg') reg? = ''\r\n  @Input('w') w? = '100'\r\n  @Input('p') p? = ''\r\n  /** 父组件传过来的数据 */\r\n  _fathrData: string = ''\r\n  /** 是否disabled */\r\n  flagDisabled: boolean = false\r\n  /** 父组件传过的数据复制的一份数据。主要是为了不满足正则的时候，要恢复原来的内容。 */\r\n  fatherDataCopy: string = ''\r\n  constructor() {\r\n    \r\n  }\r\n  set fatherData(value: string) {\r\n    // 将子元素赋值\r\n    this._fathrData = value\r\n    this.change(this._fathrData)\r\n  }\r\n  get fatherData() {\r\n    return this._fathrData\r\n  }\r\n  /** 将父组件传过来的数据写入到此组件中。 */\r\n  writeValue(obj: any): void {\r\n    this._fathrData = obj\r\n    console.log('writevalue')\r\n    console.log(obj)\r\n    this.fatherDataCopy = this._fathrData ? JSON.parse(JSON.stringify(this._fathrData)) : ''\r\n  }\r\n  /** 把此组件修改过的内容，写入到子组件中 */\r\n  registerOnChange(fn: any): void {\r\n    this.change = fn\r\n  }\r\n  registerOnTouched(fn: any): void {\r\n    console.log('当前的元素被触发了。')\r\n  }\r\n  setDisabledState?(isDisabled: boolean): void {\r\n    this.flagDisabled = isDisabled\r\n  }\r\n  change = (value:any) => {}\r\n\r\n  ngAfterViewInit(): void {\r\n  }\r\n  changeValue(e: any, input:any) {\r\n    if (this.fatherData) {\r\n      // 如果当前的reg有值。\r\n      if (this.reg) {\r\n        try {\r\n          let reg = eval(this.reg)\r\n          let res = reg.test(this.fatherData)\r\n          if (res) {\r\n            this.fatherData = e\r\n            this.fatherDataCopy = this._fathrData ? JSON.parse(JSON.stringify(this._fathrData)) : ''\r\n\r\n          } else {\r\n            this._fathrData = JSON.parse(JSON.stringify(this.fatherDataCopy))\r\n            input.value = this._fathrData\r\n          }\r\n        } catch(error) {\r\n          this.fatherData = ''\r\n          this.fatherDataCopy = ''\r\n        }\r\n      } else {\r\n        this.fatherData = e\r\n        this.fatherDataCopy = this._fathrData ? JSON.parse(JSON.stringify(this._fathrData)) : ''\r\n\r\n      }\r\n    } else {\r\n      this.fatherData = ''\r\n      this.fatherDataCopy = ''\r\n    }\r\n  }\r\n}\r\n ","<textarea #input1 [(ngModel)]=\"_fathrData\" (ngModelChange)=\"changeValue($event, input1)\" [placeholder]=\"p\"  [ngStyle]=\"{width: w + 'px'}\"></textarea>","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n    selector: '[mywModalHeader]'\r\n})\r\nexport class MywModalHeaderDirective {\r\nconstructor(public templateRef: TemplateRef<unknown>) {}\r\n}","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n    selector: '[mywModalSection]'\r\n})\r\nexport class MywModalSectionDirective {\r\nconstructor(public templateRef: TemplateRef<unknown>) {}\r\n}","import {\r\n  AfterViewInit,\r\n  ChangeDetectorRef,\r\n  Component,\r\n  ContentChild,\r\n  EventEmitter,\r\n  forwardRef,\r\n  Input,\r\n  OnInit,\r\n  Output,\r\n  QueryList,\r\n  ViewChild,\r\n  ViewChildren,\r\n} from '@angular/core';\r\nimport { MywModalFooterDirective } from './directive/myw-modal-footer.directive';\r\nimport { MywModalHeaderDirective } from './directive/myw-modal-header.directive';\r\nimport { MywModalSectionDirective } from './directive/myw-modal-section.directive';\r\n@Component({\r\n  selector: 'myw-modal',\r\n  templateUrl: './myw-modal.component.html',\r\n  styleUrls: ['./myw-modal.component.less'],\r\n  providers: [\r\n  ],\r\n})\r\nexport class MywModalComponent{\r\n  @Input() v:any\r\n  @Input() w:any\r\n  @Input() h:any\r\n  @Output() close = new EventEmitter<any>();\r\n  @ContentChild(MywModalFooterDirective) footer!: MywModalFooterDirective;\r\n  @ContentChild(MywModalHeaderDirective) header!: MywModalHeaderDirective;\r\n  @ContentChild(MywModalSectionDirective) section!: MywModalSectionDirective;\r\n  constructor() {\r\n  }\r\n  closeClick() {\r\n    this.close.emit(true);\r\n  }\r\n}\r\n","<div class=\"mask\"></div>\r\n<div\r\n  class=\"content\"\r\n  [ngStyle]=\"{\r\n    width: w ? w + 'px' : '500px',\r\n    height: h ? h + 'px' : '300px'\r\n  }\"\r\n>\r\n  <header>\r\n    <ng-container [ngTemplateOutlet]=\"header.templateRef\"></ng-container>\r\n    <myw-button style=\"vertical-align: top; float: right; margin-right: 1px; margin-top: -2px;\"  title=\"关闭\" (click)=\"closeClick()\"><myw-icon\r\n     icon=\"icon-close\" [h]=\"25\"></myw-icon></myw-button>\r\n  </header>\r\n  <div style=\"height: calc(100% - 60px)\">\r\n    <ng-container [ngTemplateOutlet]=\"section.templateRef\"></ng-container>\r\n\r\n  </div>\r\n  <div style=\"height: 30px; border-top: 1px solid #eee; width: 100%; text-align: right; padding: 0 3px; box-sizing: border-box;\">\r\n    <ng-container [ngTemplateOutlet]=\"footer.templateRef\"></ng-container>\r\n  </div>\r\n</div>\r\n","import {\r\n  AfterViewInit,\r\n  ChangeDetectorRef,\r\n  Component,\r\n  EventEmitter,\r\n  Input,\r\n  OnChanges,\r\n  OnInit,\r\n  Output,\r\n  SimpleChanges,\r\n} from '@angular/core';\r\nimport { MywPage } from './i/myw-page.i';\r\n@Component({\r\n  selector: 'myw-page',\r\n  templateUrl: './myw-page.component.html',\r\n  styleUrls: ['./myw-page.component.less'],\r\n  providers: [\r\n  ],\r\n})\r\nexport class MywPageComponent implements AfterViewInit, OnChanges{\r\n  @Input() w: any;\r\n  @Input() h: any;\r\n  @Input() p: any;\r\n  mywPageData: MywPage = {} as any\r\n  @Input() set mywPage(value: any) {\r\n    console.log('这是打印的value')\r\n    console.log(value)\r\n    this.mywPageData = value\r\n    this.setPageData()\r\n\r\n  }\r\n  @Output() changePage: EventEmitter<number> = new EventEmitter()\r\n  total = 0\r\n  page = 1\r\n  pageSize = 10\r\n  pageTotal = 0\r\n  jumpPage = 1\r\n\r\n  constructor(private cdr: ChangeDetectorRef) {\r\n  }\r\n  ngOnChanges(changes: SimpleChanges): void {\r\n    console.log('触发了change')\r\n    console.log(changes)\r\n    console.log()\r\n    this.cdr.detectChanges()\r\n  }\r\n  ngAfterViewInit(): void {\r\n    if (this.w && this.h) {\r\n      this.w = ''\r\n    }\r\n    if (!this.w && !this.h) {\r\n      this.h = '8'\r\n    }\r\n    \r\n  }\r\n  setPageData() {\r\n    console.log('这是打印的mywpage')\r\n    console.log(this.mywPageData)\r\n  \r\n    this.total = this.mywPageData.total\r\n    this.page = this.mywPageData.page\r\n    this.pageSize = this.mywPageData.pageSize\r\n    \r\n    this.pageTotal = (this.total % this.pageSize === 0)? (this.total / this.pageSize) : (Math.floor(this.total / this.pageSize) + 1)\r\n  }\r\n  get height() {\r\n    return this.h\r\n  }\r\n  get width() {\r\n    return this.w\r\n  }\r\n  changePageFn(page: any) {\r\n    console.log(page)\r\n    this.jumpPage = +page\r\n    this.changePage.emit(page)\r\n  }\r\n  jumpPageFn() {\r\n    if (+this.jumpPage > this.pageTotal ) {\r\n      this.jumpPage  = this.pageTotal\r\n    }\r\n    if (this.jumpPage < 1 ) {\r\n      this.jumpPage  = 1\r\n    }\r\n    this.changePageFn(+this.jumpPage)\r\n   }\r\n}\r\n","\r\n<myw-button [disabled]=\"page <= 1\" (click)=\"changePageFn(1)\">首页</myw-button>\r\n<myw-button [disabled]=\"page <= 1\" (click)=\"changePageFn(page - 1)\">&lt;</myw-button>\r\n<!-- <ng-container *ngIf=\"page - 5 > 0\">\r\n    <myw-button (click)=\"changePageFn(page - 5)\">...</myw-button>\r\n</ng-container> -->\r\n<ng-container *ngIf=\"page - 4 > 0\">\r\n    <myw-button (click)=\"changePageFn(page - 4)\">{{page - 4}}</myw-button>\r\n</ng-container>\r\n<ng-container *ngIf=\"page - 3 > 0\">\r\n    <myw-button (click)=\"changePageFn(page - 3)\">{{page - 3}}</myw-button>\r\n</ng-container>\r\n<ng-container *ngIf=\"page - 2 > 0\">\r\n    <myw-button (click)=\"changePageFn(page - 2)\">{{page - 2}}</myw-button>\r\n</ng-container>\r\n<ng-container *ngIf=\"page - 1 > 0\">\r\n    <myw-button (click)=\"changePageFn(page - 1)\">{{page - 1}}</myw-button>\r\n</ng-container>\r\n<myw-button (click)=\"changePageFn(page)\" active=\"true\">{{page}}</myw-button>\r\n<ng-container *ngIf=\"page + 1 <= pageTotal\">\r\n    <myw-button (click)=\"changePageFn(page + 1)\">{{page + 1}}</myw-button>\r\n</ng-container>\r\n<ng-container *ngIf=\"page + 2 <= pageTotal\">\r\n    <myw-button (click)=\"changePageFn(page + 2)\">{{page + 2}}</myw-button>\r\n</ng-container>\r\n <ng-container *ngIf=\"page + 3 <= pageTotal\">\r\n    <myw-button (click)=\"changePageFn(page + 3)\">{{page + 3}}</myw-button>\r\n</ng-container>\r\n<ng-container *ngIf=\"page + 4 <= pageTotal\">\r\n    <myw-button (click)=\"changePageFn(page + 4)\">{{page + 4}}</myw-button>\r\n</ng-container>\r\n<!--\r\n<ng-container *ngIf=\"page + 5 <= pageTotal\">\r\n    <myw-button (click)=\"changePageFn(page + 5)\">...</myw-button>\r\n</ng-container> -->\r\n<myw-button [disabled]=\"page + 1 > pageTotal\" (click)=\"changePageFn(page + 1)\">&gt;</myw-button>\r\n<myw-button [disabled]=\"page >= pageTotal\" (click)=\"changePageFn(pageTotal)\">尾页</myw-button> \r\n<!-- <myw-button (click)=\"changePageFn(5)\">5</myw-button> -->\r\n<!-- \r\n-->\r\n\r\n<myw-input reg=\"/^[1-9]\\d*$/\" [(ngModel)]=\"jumpPage\" ></myw-input>\r\n<myw-button (click)=\"jumpPageFn()\">跳页</myw-button>\r\n<span style=\"font-size: 12px;\">{{total}}条-{{pageTotal}}</span>\r\n\r\n\r\n","import { AfterViewInit, ChangeDetectorRef, Component, ContentChild, Input, OnInit, TemplateRef, ViewChild } from '@angular/core';\r\n@Component({\r\n  selector: 'myw-split',\r\n  templateUrl: './myw-split.component.html',\r\n  styleUrls: ['./myw-split.component.less'],\r\n  providers: []\r\n})\r\nexport class MywSplitComponent implements  AfterViewInit {\r\n  \r\n  @ContentChild('header', { static: true }) headerTemplate!: TemplateRef<any>;\r\n  @ContentChild('left', { static: true }) leftTemplate!: TemplateRef<any>;\r\n  @Input('top') top?: any\r\n  @Input('left') left?: any\r\n  public heightStr: string = ''\r\n  public widthStr: string = ''\r\n  public title = 'Test';\r\n  public otherDate = {\r\n    auth: 'me',\r\n    name: 'appCard'\r\n  };\r\n  ngAfterViewInit(): void {\r\n    // throw new Error('Method not implemented.');\r\n    \r\n  }\r\n  ngOnInit(): void {\r\n    console.log('这是top')\r\n    console.log('这是left')\r\n    console.log(this.top)\r\n    console.log(this.left)\r\n    if (this.top && this.top >= 1) {\r\n      this.heightStr =  'calc(100% - ' + this.top + 'px)';\r\n    } else {\r\n      if (!this.top) this.top = 0\r\n      this.heightStr = (1 - this.top) * 100 +'%'\r\n    }\r\n    if (this.left && this.left >= 1) {\r\n      this.widthStr =  'calc(100% - ' + this.left + 'px)';\r\n      console.log('这是widthstr')\r\n      console.log(this.widthStr)\r\n    } else {\r\n      if (!this.left) this.left = 0\r\n      this.widthStr = (1 - this.left) * 100 +'%'\r\n      \r\n    }\r\n    // this.heightStr = this.heightStr + '!important;'\r\n    // this.widthStr = this.widthStr + '!important;'\r\n    console.log('这是heightsr')\r\n    console.log(this.heightStr)\r\n  }\r\n  get getWidthStr() {\r\n    return this.widthStr\r\n  }\r\n}\r\n","\r\n<div class=\"box\">\r\n    <div *ngIf=\"top\" [ngStyle]=\"{height: top >= 1 ? top + 'px' : top * 100 +'%'}\"  class=\"top\">\r\n        <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: title, index: otherDate }\"></ng-container>\r\n    </div>\r\n    <div [ngStyle]=\"{height: heightStr}\" style=\"width: 100%; position: relative;\">\r\n        <div [ngStyle]=\"{width: left >= 1 ? left + 'px' : left * 100 +'%'}\" style=\"height: 100%;\"  class=\"left\">\r\n            <ng-container *ngTemplateOutlet=\"leftTemplate; context: { $implicit: title, index: otherDate }\"></ng-container>\r\n        </div>\r\n        <div [ngStyle]=\"{width: getWidthStr}\" class=\"right\" style=\"height: 100%; position: absolute;\">\r\n            <ng-content ></ng-content>\r\n        </div>\r\n    </div>\r\n</div>","import { AfterViewInit, ChangeDetectorRef, Component, ContentChild, Input, OnInit, TemplateRef, ViewChild } from '@angular/core';\r\n@Component({\r\n  selector: 'myw-table-line',\r\n  templateUrl: './myw-table-line.component.html',\r\n  styleUrls: ['./myw-table-line.component.scss'],\r\n  providers: []\r\n})\r\nexport class MywTableLineComponent implements  AfterViewInit {\r\n  @Input('v') v = ''\r\n  constructor() {}\r\n  ngAfterViewInit(): void {\r\n    console.log('这是afterview Init')\r\n  }\r\n}\r\n","这是col 显示的内容。\r\n","import { AfterViewInit, ChangeDetectorRef, Component, ContentChild, Input, OnInit, TemplateRef, ViewChild } from '@angular/core';\r\n@Component({\r\n  selector: '[mywTableCol]',\r\n  templateUrl: './myw-table-col.component.html',\r\n  styleUrls: ['./myw-table-col.component.scss'],\r\n  providers: []\r\n})\r\nexport class MywTableColComponent implements  AfterViewInit {\r\n  @Input('v') v = ''\r\n  constructor() {}\r\n  ngAfterViewInit(): void {\r\n    console.log('这是afterview Init')\r\n  }\r\n}\r\n","这是col 显示的内容。\r\n","import { Directive, Input, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n    selector: '[mywTable]'\r\n})\r\nexport class MywTableDirective {\r\n    @Input() select: string = ''\r\n    constructor(public templateRef: TemplateRef<unknown>) {}\r\n}","import { AfterViewInit, ChangeDetectorRef, Component, ContentChild, ContentChildren, ElementRef, EventEmitter, Input, OnChanges, OnInit, Output, QueryList, SimpleChanges, TemplateRef, ViewChild, ViewChildren } from '@angular/core';\r\nimport { MywTableColComponent } from './component/myw-table-col.component';\r\nimport { MywTableDirective } from './directive/myw-table.directive';\r\n@Component({\r\n  selector: 'myw-table',\r\n  templateUrl: './myw-table.component.html',\r\n  styleUrls: ['./myw-table.component.scss'],\r\n  providers: []\r\n})\r\nexport class MywTableComponent implements  OnInit,AfterViewInit, OnChanges {\r\n  /** 用于生成表格列的数据 */\r\n  @Input('tableCol') tableCol!: any[]\r\n  /** 表格绑定的数据。 */\r\n  @Input('tableData') tableData!: any[]\r\n  /** 用于说明哪个字段是控制展开隐藏的。 */\r\n  @Input('flagExpand') flagExpand = ''\r\n  /** 出参 当拖动完成时，将调用这个事件 */\r\n  @Output() dragAfter = new EventEmitter()\r\n  /** 拖动的时候，保存的数据。 */\r\n  dragData = {} as any;\r\n  _tableData: any\r\n  @ContentChildren(MywTableDirective) qlist!: QueryList<MywTableDirective>;\r\n  fixeded = false\r\n  flagEdit = false\r\n  constructor(private cdr: ChangeDetectorRef) {}\r\n  ngOnInit(): void {\r\n  }\r\n  ngOnChanges(changes: SimpleChanges): void {\r\n    console.log('这是发生了变化 ')\r\n    console.log(this._tableData)\r\n    this.cdr.detectChanges()\r\n  }\r\n  get tableWidth () {\r\n    return this.tableCol.reduce((total, item , index) => {\r\n      item.w ? total = total + item.w : total = total + 100\r\n      return total\r\n    }, 0)\r\n  }\r\n\r\n  \r\n  showList = {} as any\r\n  ngAfterViewInit(): void {\r\n    // 如果用户使用了自定义模板，则这个地方，要将自定义模板取出来，然后渲染自定义的模板。\r\n    this.qlist.forEach(item => {\r\n      this.showList[item.select] = item\r\n    })\r\n    this.cdr.detectChanges()\r\n  }\r\n  chagneItemShow(e: any, item: any) {\r\n    item.show = e\r\n  }\r\n\r\n  dragStart(item: any, index: number) {\r\n    console.log('开始移动的事件')\r\n    console.log(item)\r\n    this.dragData = {\r\n      drag: item,\r\n      dragIndex: index\r\n    }\r\n  }\r\n  drop(item: any, index: number) {\r\n    console.log('drop')\r\n    console.log(item)\r\n    this.dragData.drop = item\r\n    this.dragData.dropIndex = index\r\n    this.dragAfter.emit(this.dragData)\r\n  }\r\n  rightClick(e: MouseEvent) {\r\n    e.preventDefault()\r\n    this.flagEdit = !this.flagEdit\r\n  }\r\n}\r\n","<div style=\"width: 100%; height: 300px; overflow: auto; position: relative\" class=\"table-context\" [ngClass]=\"{fixeded}\">\r\n  <!-- 表格的头部显示的内容 -->\r\n\r\n  <!-- tablaWidth 设置一个总宽度 -->\r\n  <div class=\"header\" style=\"\r\n      font-size: 0;\r\n      overflow: hidden;\r\n      position: sticky;\r\n      left: 0;\r\n      top: 0;\r\n      z-index: 100;\r\n    \" [ngStyle]=\"{ width: tableWidth ? tableWidth + 'px' : '100%' }\" >\r\n    <div class=\"table-item\" *ngFor=\"let item of tableCol\" [ngStyle]=\"{ width: item.w ? item.w + 'px' : '0' }\" (contextmenu)=\"rightClick($event)\">\r\n      {{ item.v }}\r\n    </div>\r\n    <span style=\"position: absolute; left: 0; top: 0; z-index: 101;\" class=\"edit\" *ngIf=\"flagEdit\">\r\n      <myw-button (click)=\"fixeded = !fixeded\">{{fixeded ? '缩小' : '放大'}}</myw-button>\r\n    </span>\r\n  </div>\r\n  <!-- 表格的行 -->\r\n  <ng-container *ngTemplateOutlet=\"nodeTreeDisplay; context:{$implicit:tableData,level:0, index: ''}\"></ng-container>\r\n  <ng-template #nodeTreeDisplay let-nodes let-level='level' let-index='index' >\r\n    <ng-container *ngIf=\"nodes && nodes.length > 0\">\r\n      <ng-container *ngFor=\"let item of nodes; let i = index\">\r\n        <div class=\"table-line\" style=\"font-size: 0; height: 30px; box-sizing: border-box\"\r\n          draggable=\"true\" (dragstart)=\"dragStart(item, i)\"\r\n          (dragover)=\"$event.preventDefault()\" (drop)=\"drop(item, i)\"\r\n          [ngStyle]=\"{ width: tableWidth ? tableWidth + 'px' : '100%' }\" [attr.data-index]=\"i\">\r\n          <div class=\"table-item ellipsis\" *ngFor=\"let itemi of tableCol; let index = index\"\r\n            [ngStyle]=\"{ width: itemi.w ? itemi.w + 'px' : '0' }\" [title]=\"item[itemi.value]? item[itemi.value]: ''\">\r\n            <ng-container *ngIf=\"this.showList[itemi.value]; else tempa\">\r\n              <ng-container [ngTemplateOutlet]=\"this.showList[itemi.value].templateRef\"\r\n                [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-container>\r\n            </ng-container>\r\n            <ng-template #tempa >\r\n             {{ item[itemi.value] }}\r\n            </ng-template>\r\n          </div>\r\n        </div>\r\n        <ng-container *ngIf=\"item.children && item.children.length > 0 && item[flagExpand]\">\r\n          <ng-container\r\n            *ngTemplateOutlet=\"nodeTreeDisplay; context:{$implicit:item.children,level:level +1, index: index + i, show: true}\"></ng-container>\r\n        </ng-container>\r\n      </ng-container>\r\n    </ng-container>\r\n  </ng-template>\r\n</div>\r\n\r\n","import { AfterViewInit, ChangeDetectorRef, Component, ContentChild, EventEmitter, Input, OnInit, Output, TemplateRef, ViewChild } from '@angular/core';\r\n@Component({\r\n  selector: 'myw-tooltip',\r\n  templateUrl: './myw-tooltip.component.html',\r\n  styleUrls: ['./myw-tooltip.component.scss'],\r\n  providers: []\r\n})\r\nexport class MywTooltipComponent implements  AfterViewInit {\r\n  @Input() v: string = ''\r\n  flagShow = false\r\n  constructor(private cdr: ChangeDetectorRef) {\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n  }\r\n  ngAfterViewInit(): void {\r\n  }\r\n  ngOnInit(): void {\r\n  }\r\n  nextTick() {\r\n      this.cdr.markForCheck();\r\n      this.cdr.detectChanges();\r\n  }\r\n}\r\n","<div style=\"display: inline-block; position: relative;\" (click)=\"flagShow = !flagShow\" (mouseenter)=\"flagShow = true\" (mouseleave)=\"flagShow = false\">\r\n    <ng-content></ng-content>\r\n    <div *ngIf=\"flagShow\" (click)=\"flagShow = false\" class=\"tooltiptitle\" >\r\n      {{v}}\r\n    </div>\r\n</div>\r\n\r\n","import {\r\n  AfterViewInit,\r\n  ChangeDetectorRef,\r\n  Component,\r\n  ContentChild,\r\n  forwardRef,\r\n  Input,\r\n  OnInit,\r\n  ViewChild,\r\n  ViewContainerRef,\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { TreeI } from './o/tree-item.i';\r\nimport { MywTreeDirective } from './directive/myw-tree.directive';\r\n@Component({\r\n  selector: 'myw-tree',\r\n  templateUrl: './myw-tree.component.html',\r\n  styleUrls: ['./myw-tree.component.less'],\r\n  providers: [\r\n    {\r\n      provide: NG_VALUE_ACCESSOR,\r\n      useExisting: forwardRef(() => MywTreeComponent),\r\n      multi: true,\r\n    },\r\n  ],\r\n})\r\nexport class MywTreeComponent\r\n  implements OnInit, AfterViewInit, ControlValueAccessor\r\n{\r\n  @ContentChild(MywTreeDirective) mywTree!: MywTreeDirective;\r\n  @Input() indexId = '';\r\n  _fatherNgModel: any = {};\r\n\r\n  constructor(private cdr: ChangeDetectorRef) {}\r\n  get fatherNgModel() {\r\n    return this._fatherNgModel;\r\n  }\r\n  set fatherNgModel(data: any) {\r\n    // 此处动用了getf方法\r\n    this._fatherNgModel = data;\r\n    this.change(this.fatherNgModel);\r\n  }\r\n  change = (value: any) => {\r\n    console.log('changge');\r\n    console.log(value);\r\n  };\r\n  // 先定义一个方法，很重要，用于接收registerOnChange()方法里传递回来的方法，然后通过这个方法就能通知到外部组件数据更新。\r\n  // 这个是外部给内部赋值的方法。\r\n  writeValue(val: any): void {\r\n    console.log('这是write value，父组件给里面的原素赋值了。');\r\n    console.log(val);\r\n    if (val) {\r\n      /* 此处动调用了fatherNgModel的set法法。 */\r\n      this.fatherNgModel = val.map((item: any) => {\r\n        item.flagExpand = true;\r\n        item.flagEdit = false;\r\n        return item;\r\n      });\r\n    }\r\n  }\r\n  registerOnChange(fn: any): void {\r\n    console.log('registerOnChange');\r\n    this.change = fn;\r\n  }\r\n  registerOnTouched(fn: any): void {\r\n    console.log('registerOnTouched');\r\n  }\r\n  setDisabledState?(isDisabled: boolean): void {\r\n    console.log('setDisabledState');\r\n  }\r\n\r\n  ngAfterViewInit(): void {\r\n    this.cdr.detectChanges()\r\n  }\r\n  ngOnInit(): void {\r\n    console.log('ngOnInit 执行了');\r\n  }\r\n  getMessage(treei: TreeI, i: any, e: any) {\r\n    let treeId = this.indexId ? this.indexId + '-' + i : i + '';\r\n    let treeiCopy: TreeI = JSON.parse(JSON.stringify(treei));\r\n    treeiCopy.treeId = treeId;\r\n    let timer = setTimeout(() => {\r\n      console.log(e);\r\n      e.view.focus();\r\n      e.target.focus();\r\n      clearTimeout(timer);\r\n    }, 300);\r\n  }\r\n  dragTreeItem(item: TreeI, index: any, e: any) {\r\n    e.stopPropagation();\r\n    console.log('拖动开始了');\r\n    console.log(this.indexId ? this.indexId + '-' + index : index + '');\r\n    let drapItem = {\r\n      indexId: this.indexId ? this.indexId + '-' + index : index + '',\r\n      item: item,\r\n    };\r\n  }\r\n  addZero(num: any) {\r\n    let str = '';\r\n    for (let index = 0; index < num; index++) {\r\n      str += '0';\r\n    }\r\n    return str;\r\n  }\r\n  arrTrans(str: any) {\r\n    let StrTemp = str;\r\n    let arr = StrTemp.split('-');\r\n    arr.splice(arr.length - 1, 1);\r\n    return arr.join('-');\r\n  }\r\n\r\n  \r\n  \r\n}\r\n","<!-- 将父组件绑定的数据传过来。 -->\r\n<ng-container *ngTemplateOutlet=\"nodeTreeDisplay; context:{$implicit:fatherNgModel,level:0, index: ''}\"></ng-container>\r\n<!-- 递归元素处 -->\r\n<ng-template #nodeTreeDisplay let-nodes let-level='level' let-index='index' >\r\n  <ng-container *ngIf=\"nodes && nodes.length > 0\">\r\n    <!-- 生成元素 -->\r\n    <ng-container *ngFor=\"let item of nodes; let i = index\">\r\n      <div [style]=\"{'margin-left':level * 10 + 'px'}\">\r\n        <!-- 将myw-tree插槽里面的数据投影在子组件中。 -->\r\n        <ng-container [ngTemplateOutlet]=\"mywTree.templateRef\" [ngTemplateOutletContext]=\"{ $implicit: item, index: index + i, level: level }\" ></ng-container>\r\n      </div>\r\n      <!--递归树的子节点。-->\r\n      <ng-container *ngIf=\"item.children && item.children.length > 0 && item.flagExpand\">\r\n        <ng-container *ngTemplateOutlet=\"nodeTreeDisplay; context:{$implicit:item.children,level:level +1, index: index + i  }\"></ng-container>\r\n      </ng-container>\r\n    </ng-container>\r\n  </ng-container>\r\n</ng-template> \r\n","import { AfterViewInit, ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\n@Component({\r\n  selector: 'myw-test-split',\r\n  templateUrl: './myw-test-split.component.html',\r\n  styleUrls: ['./myw-test-split.component.less'],\r\n  providers: []\r\n})\r\nexport class MywTestSplitComponent implements OnInit, AfterViewInit {\r\n  @Input() v = '';\r\n  @Output() tabClick = new EventEmitter()\r\n  flagShow = false;\r\n  selectTab = 0;\r\n  constructor(private cdr: ChangeDetectorRef) {\r\n\r\n  }\r\n  ngAfterViewInit(): void {\r\n  }\r\n  ngOnInit(): void {\r\n  }\r\n  nextTick() {\r\n      this.cdr.markForCheck();\r\n      this.cdr.detectChanges();\r\n  }\r\n  tclick(item: any) {\r\n    this.tabClick.emit(item)\r\n  }\r\n}\r\n","<div style=\"height: 300px; width: 600px;\">\r\n  <myw-split [top]=\"30\" [left]=\"40\">\r\n    <ng-template #header let-label >\r\n        <p>将一个div三分 这是头部的内容</p>\r\n    </ng-template>\r\n    <ng-template #left let-label >\r\n        <p>左侧内容</p>\r\n    </ng-template>\r\n    <div>\r\n        <p>作用于本项目顶层   最上面的是logo，与右上角“关闭”、“最小化”、“最大化”</p>\r\n        <p>左侧是路由导航功能</p>\r\n        <p>右侧是router显示的内容。</p>\r\n        <p> ng-template #header </p>\r\n        <p> ng-template #left </p>\r\n        属性：\r\n        <p>header 当 &gt; 0 &lt; 1的时 以百分比上下分隔，大于1时，以px分隔 </p>\r\n        <p>left 当 &gt; 0 &lt; 1的时 以百分比上下分隔，大于1时，以px分隔 </p>\r\n        <p>单独设置top，以实现上下分割。单独设置left，以实现左右分割。同时设置，则三分割</p>\r\n        <p>测试内容</p>\r\n        <p>测试内容</p>\r\n        <p>测试内容</p>\r\n        <p>测试内容</p>\r\n        <p>测试内容</p>\r\n        <p>测试内容</p>\r\n        <p>测试内容</p>\r\n        <p>测试内容</p>\r\n        <p>测试内容</p>\r\n        <p>测试内容</p>\r\n        <p>测试内容</p>\r\n        <p>测试内容</p>\r\n        <p>测试内容</p>\r\n        <p>测试内容</p>\r\n        <p>测试内容</p>\r\n        <p>测试内容</p>\r\n        <p>测试内容</p>\r\n        <p>测试内容</p>\r\n        <p>测试内容</p>\r\n        <p>测试内容</p>\r\n        <p>测试内容</p>\r\n        <p>测试内容</p>\r\n    </div>\r\n  </myw-split>\r\n</div>\r\n","import { AfterViewInit, ChangeDetectorRef, Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { MywLoadingService } from '../../module/loading/service/myw-loading.service';\r\n@Component({\r\n  selector: 'myw-test-loading',\r\n  templateUrl: './myw-test-loading.component.html',\r\n  styleUrls: ['./myw-test-loading.component.less'],\r\n  providers: []\r\n})\r\nexport class MywTestLoadingComponent implements OnInit, AfterViewInit, OnDestroy {\r\n  loading = true\r\n  constructor(private loadingService: MywLoadingService) {}\r\n  ngOnInit(): void {\r\n  }\r\n  ngAfterViewInit(): void {\r\n  }\r\n  ngOnDestroy(): void {\r\n  }\r\n  alertLoading() {\r\n    this.loadingService.show()\r\n    setTimeout(() => {\r\n      this.loadingService.hide()\r\n    }, 1000);\r\n  }\r\n  @Output()\r\n  closed = new EventEmitter<void>();\r\n  cancel() {\r\n    this.closed.next()\r\n  }\r\n  sure() {\r\n    this.closed.next()\r\n  }\r\n\r\n}\r\n","  <myw-loading></myw-loading>\r\n  <myw-button [loading]=\"loading\" title=\"你好1\">button loading test</myw-button>\r\n  <br>\r\n  <myw-button (click)=\"loading = !loading\">切换 loading</myw-button>\r\n  <myw-button [disabled]=\"1\">disabled</myw-button>\r\n  <br>\r\n  <myw-button t=\"blue\" [loading]=\"loading\" (click)=\"loading = !loading\">切换 loading</myw-button>\r\n  <myw-button t=\"red\" [loading]=\"loading\" (click)=\"loading = !loading\">切换 loading</myw-button>\r\n  <myw-button t=\"yellow\" [loading]=\"loading\" (click)=\"loading = !loading\">切换 loading</myw-button>\r\n  <br>\r\n  <myw-button t=\"blue\">default </myw-button>\r\n  <myw-button t=\"red\">error</myw-button>\r\n  <myw-button t=\"yellow\">warning</myw-button>\r\n  <br>\r\n  <myw-loading [w]=\"'100%'\"></myw-loading>\r\n  <myw-button (click)=\"alertLoading()\">弹出全局loading</myw-button>","import { AfterViewInit, ChangeDetectorRef, Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild } from '@angular/core';\r\n@Component({\r\n  selector: 'myw-test-tooltip',\r\n  templateUrl: './myw-test-tooltip.component.html',\r\n  styleUrls: ['./myw-test-tooltip.component.less'],\r\n  providers: []\r\n})\r\nexport class MywTestTooltipComponent implements OnInit, AfterViewInit, OnDestroy {\r\n  loading = true\r\n  ngOnInit(): void {\r\n  }\r\n  ngAfterViewInit(): void {\r\n  }\r\n  ngOnDestroy(): void {\r\n  }\r\n\r\n}\r\n","<myw-tooltip [v]=\"'这是tooltip显示的内容'\">\r\n这是tooltip\r\n</myw-tooltip>\r\n","import { AfterViewInit,  Component,  OnInit } from '@angular/core';\r\nimport { MywMessageService } from '../../module/message/service/myw-message.service';\r\n@Component({\r\n  selector: 'myw-test-table',\r\n  templateUrl: './myw-test-table.component.html',\r\n  styleUrls: ['./myw-test-table.component.scss'],\r\n  providers: [MywMessageService]\r\n})\r\nexport class MywTestTableComponent implements OnInit, AfterViewInit {\r\n  arr = [\r\n    {id: '1', name: 'zs', age: 20, show: true,\r\n    children: [{\r\n        id: '11', name: 'zs1', age: '200', show: true,\r\n        children: [{\r\n          id: '111', name: 'zs11', age: '2001', show: true\r\n        }]\r\n      }]\r\n    },\r\n    {id: '2', name: '', age: 21, show: true},\r\n    {id: '3', name: 'we', age: 22, show: true},\r\n    {id: '4', name: 'mz', age: 23, show: true},\r\n    {id: '4', name: 'mzasdfadfasdfa dsf dsf asdf asdf f', age: 23, show: true},\r\n    {id: '4', name: 'mzasdfadfasdfa dsf dsf asdf asdf f', age: 23, show: true},\r\n    {id: '4', name: 'mzasdfadfasdfa dsf dsf asdf asdf f', age: 23, show: true},\r\n    {id: '4', name: 'mzasdfadfasdfa dsf dsf asdf asdf f', age: 23, show: true},\r\n    {id: '4', name: 'mzasdfadfasdfa dsf dsf asdf asdf f', age: 23, show: true},\r\n    {id: '4', name: 'mzasdfadfasdfa dsf dsf asdf asdf f', age: 23, show: true},\r\n    {id: '4', name: 'mzasdfadfasdfa dsf dsf asdf asdf f', age: 23, show: true},\r\n    {id: '4', name: 'mzasdfadfasdfa dsf dsf asdf asdf f', age: 23, show: true},\r\n    {id: '4', name: 'mzasdfadfasdfa dsf dsf asdf asdf f', age: 23, show: true},\r\n    {id: '4', name: 'mzasdfadfasdfa dsf dsf asdf asdf f', age: 23, show: true},\r\n    {id: '4', name: 'mzasdfadfasdfa dsf dsf asdf asdf f', age: 23, show: true},\r\n    {id: '4', name: 'mzasdfadfasdfa dsf dsf asdf asdf f', age: 23, show: true},\r\n    {id: '4', name: 'mzasdfadfasdfa dsf dsf asdf asdf f', age: 23, show: true},\r\n    {id: '4', name: 'mzasdfadfasdfa dsf dsf asdf asdf f', age: 23, show: true},\r\n    {id: '4', name: 'mzasdfadfasdfa dsf dsf asdf asdf f', age: 23, show: true},\r\n    {id: '4', name: 'mzasdfadfasdfa dsf dsf asdf asdf f', age: 23, show: true},\r\n    {id: '4', name: 'mzasdfadfasdfa dsf dsf asdf asdf f', age: 23, show: true},\r\n    {id: '4', name: 'mzasdfadfasdfa dsf dsf asdf asdf f', age: 23, show: true},\r\n    {id: '4', name: 'mzasdfadfasdfa dsf dsf asdf asdf f', age: 23, show: true},\r\n    {id: '4', name: 'mzasdfadfasdfa dsf dsf asdf asdf f', age: 23, show: true},\r\n    {id: '4', name: 'mzasdfadfasdfa dsf dsf asdf asdf f', age: 23, show: true},\r\n    {id: '4', name: 'mzasdfadfasdfa dsf dsf asdf asdf f', age: 23, show: true},\r\n    {id: '4', name: 'mzasdfadfasdfa dsf dsf asdf asdf f', age: 23, show: true},\r\n    {id: '4', name: 'mzasdfadfasdfa dsf dsf asdf asdf f', age: 23, show: true},\r\n    {id: '4', name: 'mzasdfadfasdfa dsf dsf asdf asdf f', age: 23, show: true},\r\n    {id: '4', name: 'mzasdfadfasdfa dsf dsf asdf asdf f', age: 23, show: true},\r\n    {id: '4', name: 'mzasdfadfasdfa dsf dsf asdf asdf f', age: 23, show: true},\r\n    {id: '4', name: 'mzasdfadfasdfa dsf dsf asdf asdf f', age: 23, show: true},\r\n    {id: '4', name: 'mzasdfadfasdfa dsf dsf asdf asdf f', age: 23, show: true},\r\n    {id: '4', name: 'mzasdfadfasdfa dsf dsf asdf asdf f', age: 23, show: true},\r\n    {id: '4', name: 'mzasdfadfasdfa dsf dsf asdf asdf f', age: 23, show: true},\r\n    {id: '4', name: 'mzasdfadfasdfa dsf dsf asdf asdf f', age: 23, show: true},\r\n    {id: '4', name: 'mzasdfadfasdfa dsf dsf asdf asdf f', age: 23, show: true},\r\n    {id: '4', name: 'mzasdfadfasdfa dsf dsf asdf asdf f', age: 23, show: true},\r\n    {id: '4', name: 'mzasdfadfasdfa dsf dsf asdf asdf f', age: 23, show: true},\r\n    {id: '4', name: 'mzasdfadfasdfa dsf dsf asdf asdf f', age: 23, show: true},\r\n    {id: '4', name: 'mzasdfadfasdfa dsf dsf asdf asdf f', age: 23, show: true},\r\n    {id: '4', name: 'mzasdfadfasdfa dsf dsf asdf asdf f', age: 23, show: true},\r\n    {id: '4', name: 'mzasdfadfasdfa dsf dsf asdf asdf f', age: 23, show: true},\r\n    {id: '4', name: 'mzasdfadfasdfa dsf dsf asdf asdf f', age: 23, show: true},\r\n    {id: '4', name: 'mzasdfadfasdfa dsf dsf asdf asdf f', age: 23, show: true},\r\n    {id: '4', name: 'mzasdfadfasdfa dsf dsf asdf asdf f', age: 23, show: true},\r\n    {id: '4', name: 'mzasdfadfasdfa dsf dsf asdf asdf f', age: 23, show: true},\r\n    {id: '4', name: 'mzasdfadfasdfa dsf dsf asdf asdf f', age: 23, show: true},\r\n  ]\r\n  tableSetting = {\r\n    \r\n  }\r\n  tableCol = [\r\n    {\r\n      v: '子项',\r\n      value: 'edit',\r\n      w: 100\r\n    },\r\n    {\r\n      v: 'id',\r\n      value: 'id',\r\n      w: 200\r\n    },\r\n    {\r\n      v: '姓名',\r\n      value: 'name',\r\n      w: 120\r\n    },\r\n    {\r\n      v: '年龄',\r\n      value: 'age',\r\n      w: 120\r\n    },\r\n    {\r\n      v: '自定义组件3',\r\n      value: 'show2',\r\n      w: 120\r\n    },\r\n  ]\r\n  constructor(private message: MywMessageService) {}\r\n  ngAfterViewInit(): void {\r\n  }\r\n  ngOnInit(): void {\r\n  }\r\n  showFn(item: any) {\r\n    this.message.show(item.id + ' ' + item.age + ' ' + item.name)\r\n  }\r\n  delete(item: any) {\r\n    this.message.show('模拟删除的id' + item.id)\r\n  }\r\n  dragAfter(data: any) {\r\n    console.log('这是移动的数据')\r\n    console.log(data)\r\n\r\n  }\r\n}\r\n","<myw-gap></myw-gap>\r\n<h1>myw-table</h1>\r\n<myw-gap></myw-gap>\r\n<myw-table [tableCol]=\"tableCol\" [tableData]=\"arr\" flagExpand=\"show\" (dragAfter)=\"dragAfter($event)\" >\r\n   <ng-template mywTable select=\"edit\" let-item let-show=\"show\">\r\n      <span *ngIf=\"item.children && item.children.length\" (click)=\"item.show = !item.show\">{{item.show ? '收起子项' : '展开子项'}}</span>\r\n   </ng-template>\r\n   <ng-template mywTable select=\"show2\" let-item>\r\n      <myw-button (click)=\"showFn(item)\">信息</myw-button> | \r\n      <myw-button t=\"red\" (click)=\"delete(item)\">删除</myw-button>\r\n   </ng-template>\r\n</myw-table>\r\n\r\n<br>\r\n功能：\r\n右键点击表头，点击放大。可以最大化窗口\r\n<h2>属性：</h2>\r\ntableCol 用于指定表格的列表<br>\r\ntableData 用于指定表格绑定的数据 <br>\r\n\r\ndragable: boolean 默认为false 列是否可以拖动 拖拽规则设定，如果是同一层的拖动，执行的是交换操作，如果不是同一层的移动，执行的是移动操作。禁止将父层级的内容移动到子层级。 <br>\r\ntree: boolean 是否支持tree。 tableData 的 对象要支持children属性。 <br>\r\nflagExpand: 是否展开，指定是否展开的字段\r\n<br>\r\n<h2>方法：</h2>\r\ndragAfter() 返回一个拖拽后的数据, 对象的drag属性指的是拖拽的元素对应的值，drop放置的元素\r\n<br>\r\n\r\n<hr>\r\ntableCol数组，指定列： <br>\r\nv：显示的表头列名称 :string\r\nvalue：绑定的tableData字段 :string\r\nw：表格列宽度，默认100px :number <br>\r\nng-template 自定义组件：<br>\r\nmywTable 指令 必须添加 \r\nselect=\"show2\" select的值为tableCol的value有着对应关系。let-item对应的数据\r\n\r\n\r\n\r\n","import { AfterViewInit, ChangeDetectorRef, Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { MywAlertService } from '../../module/alert/service/myw-alert.service';\r\nimport { MywMessageService } from '../../module/message/service/myw-message.service';\r\n@Component({\r\n  selector: 'myw-test-alert',\r\n  templateUrl: './myw-test-alert.component.html',\r\n  styleUrls: ['./myw-test-alert.component.less'],\r\n  providers: []\r\n})\r\nexport class MywTestAlertComponent implements OnInit, AfterViewInit, OnDestroy {\r\n  loading = true\r\n  constructor(private mywAlert: MywAlertService, private message: MywMessageService) {\r\n\r\n  }\r\n  ngOnInit(): void {\r\n  }\r\n  ngAfterViewInit(): void {\r\n  }\r\n  ngOnDestroy(): void {\r\n  }\r\n  alert() {\r\n    console.log('这是显示的内容')\r\n    this.mywAlert.show({\r\n      title: '这是一个标题',\r\n      message: '这是里面显示的内容',\r\n      success: () => {\r\n        this.message.show('点击了确定按钮')\r\n      }\r\n    })\r\n  }\r\n\r\n}\r\n","<div style=\"height: 10px;\"></div>\r\n<myw-button (click)=\"alert()\">显示alert</myw-button>\r\n","import { AfterViewInit, Component,  OnDestroy, OnInit } from '@angular/core';\r\nimport { MywMessageService } from '../../module/message/service/myw-message.service';\r\n@Component({\r\n  selector: 'myw-test-message',\r\n  templateUrl: './myw-test-message.component.html',\r\n  styleUrls: ['./myw-test-message.component.less'],\r\n  providers: []\r\n})\r\nexport class MywTestMessageComponent implements OnInit, AfterViewInit, OnDestroy {\r\n  loading = true\r\n  constructor(private message: MywMessageService) {\r\n\r\n  }\r\n  ngOnInit(): void {\r\n  }\r\n  ngAfterViewInit(): void {\r\n  }\r\n  ngOnDestroy(): void {\r\n  }\r\n  alert() {\r\n    console.log('这是显示的内容')\r\n    this.message.show('你好')\r\n  }\r\n\r\n}\r\n","<div style=\"height: 10px;\"></div>\r\n<myw-button (click)=\"alert()\">点击button显示alert的内容</myw-button>","import { AfterViewInit, Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { MywAlertService } from '../../module/alert/service/myw-alert.service';\r\n@Component({\r\n  selector: 'myw-test-modal',\r\n  templateUrl: './myw-test-modal.component.html',\r\n  styleUrls: ['./myw-test-modal.component.less'],\r\n  providers: []\r\n})\r\nexport class MywTestModalComponent implements OnInit, AfterViewInit, OnDestroy {\r\n  flagShow = false\r\n  constructor(private mywAlert: MywAlertService) {\r\n\r\n  }\r\n  ngOnInit(): void {\r\n  }\r\n  ngAfterViewInit(): void {\r\n  }\r\n  ngOnDestroy(): void {\r\n  }\r\n  alert() {\r\n    console.log('这是显示的内容')\r\n    this.mywAlert.show({\r\n      title: '这是一个标题',\r\n      message: '这是里面显示的内容',\r\n      success: () => {\r\n        alert('你好')\r\n      }\r\n    })\r\n  }\r\n\r\n}\r\n","<div style=\"height: 10px;\"></div>\r\n<myw-button (click)=\"flagShow = !flagShow\">显示modal弹窗</myw-button>\r\n<ng-template [ngIf]=\"flagShow\" >\r\n    <myw-modal (close)=\"flagShow = !flagShow\">\r\n        <ng-template mywModalHeader>\r\n            你好\r\n        </ng-template>\r\n        <ng-template mywModalSection>\r\n            这是里面的内容\r\n        </ng-template>\r\n        <ng-template mywModalFooter>\r\n            <myw-button (click)=\"flagShow = !flagShow\" class=\"marginRight10px\">取消</myw-button>\r\n            <myw-button >这是底部的内容</myw-button>\r\n        </ng-template>\r\n    </myw-modal>\r\n</ng-template>\r\n","import { AfterViewInit, ChangeDetectorRef, Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { MywAlertService } from '../../module/alert/service/myw-alert.service';\r\nimport { MywMessageService } from '../../module/message/service/myw-message.service';\r\n@Component({\r\n  selector: 'myw-test-icon',\r\n  templateUrl: './myw-test-icon.component.html',\r\n  styleUrls: ['./myw-test-icon.component.less'],\r\n  providers: []\r\n})\r\nexport class MywTestIconComponent implements OnInit, AfterViewInit, OnDestroy {\r\n  loading = true\r\n  constructor() {\r\n\r\n  }\r\n  ngOnInit(): void {\r\n  }\r\n  ngAfterViewInit(): void {\r\n  }\r\n  ngOnDestroy(): void {\r\n  }\r\n  alert() {\r\n  }\r\n\r\n}\r\n","<div style=\"height: 10px;\"></div>\r\n<myw-button style=\"vertical-align: top;\"  title=\"关闭\"><myw-icon\r\n    class=\"marginRight10px\" icon=\"icon-close\" [h]=\"25\"></myw-icon></myw-button>","import { AfterViewInit, ChangeDetectorRef, Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { MywAlertService } from '../../module/alert/service/myw-alert.service';\r\nimport { MywMessageService } from '../../module/message/service/myw-message.service';\r\n@Component({\r\n  selector: 'myw-test-gap',\r\n  templateUrl: './myw-test-gap.component.html',\r\n  styleUrls: ['./myw-test-gap.component.less'],\r\n  providers: []\r\n})\r\nexport class MywTestGapComponent implements OnInit, AfterViewInit, OnDestroy {\r\n  loading = true\r\n  constructor() {\r\n\r\n  }\r\n  ngOnInit(): void {\r\n  }\r\n  ngAfterViewInit(): void {\r\n  }\r\n  ngOnDestroy(): void {\r\n  }\r\n  alert() {\r\n  }\r\n\r\n}\r\n","<myw-gap></myw-gap>\r\n<h1>myw-gap 实现上下方向与左右方向制造间隔</h1>\r\n<myw-gap></myw-gap>\r\n这是上面的内容 \r\n<myw-gap></myw-gap>\r\n这是下面的内容\r\n\r\n<hr>\r\n这是左边的内容  <myw-gap w=\"100\"></myw-gap> 这是右边的内容","import { AfterViewInit, ChangeDetectorRef, Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { MywAlertService } from '../../module/alert/service/myw-alert.service';\r\nimport { MywMessageService } from '../../module/message/service/myw-message.service';\r\n@Component({\r\n  selector: 'myw-test-lazy',\r\n  templateUrl: './myw-test-lazy.component.html',\r\n  styleUrls: ['./myw-test-lazy.component.less'],\r\n  providers: []\r\n})\r\nexport class MywTestLazyComponent implements OnInit, AfterViewInit, OnDestroy {\r\n  loading = true\r\n  showMyElement = false\r\n  constructor(private mywAlert: MywAlertService, private message: MywMessageService) {\r\n\r\n  }\r\n  ngOnInit(): void {\r\n  }\r\n  ngAfterViewInit(): void {\r\n  }\r\n  ngOnDestroy(): void {\r\n  }\r\n  alert() {\r\n    console.log('这是显示的内容')\r\n    this.mywAlert.show({\r\n      title: '这是一个标题',\r\n      message: '这是里面显示的内容',\r\n      success: () => {\r\n        this.message.show('点击了确定按钮')\r\n      }\r\n    })\r\n  }\r\n\r\n}\r\n","<myw-gap></myw-gap>\r\n<h1> 懒加载技术 mywDeferLoad (deferLoad)=\"showMyElement = $event\" </h1>\r\n<myw-gap></myw-gap>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p>1</p>\r\n<p></p>\r\n<div mywDeferLoad (deferLoad)=\"showMyElement = $event\">\r\n  <ng-template [ngIf]=\"showMyElement\">\r\n    <div\r\n      style=\"border: 1px solid red; height: 500px; width: 500px\"\r\n    ></div>\r\n  </ng-template>\r\n</div>\r\n","import {\r\n  AfterViewInit,\r\n  ChangeDetectorRef,\r\n  Component,\r\n  EventEmitter,\r\n  Input,\r\n  OnDestroy,\r\n  OnInit,\r\n  Output,\r\n  ViewChild,\r\n} from '@angular/core';\r\n@Component({\r\n  selector: 'myw-test-tree',\r\n  templateUrl: './myw-test-tree.component.html',\r\n  styleUrls: ['./myw-test-tree.component.less'],\r\n  providers: [],\r\n})\r\nexport class MywTestTreeComponent implements OnInit, AfterViewInit, OnDestroy {\r\n  treeData = [\r\n    {\r\n      v: 'v1',\r\n      value: '1',\r\n      flagExpand: true,\r\n      children: [\r\n        {\r\n          v: 'v11',\r\n          value: '11',\r\n          flagExpand: true,\r\n          children: [\r\n            {\r\n              v: 'v111',\r\n              value: '111',\r\n              flagExpand: true,\r\n              children: [\r\n                {\r\n                  v: 'v1111',\r\n                  value: '1111',\r\n                  flagExpand: true,\r\n                  children: [\r\n                    {\r\n                      v: 'v11111',\r\n                      value: '11111',\r\n                      flagExpand: true,\r\n                    },\r\n                    {\r\n                      v: 'v11112',\r\n                      value: '11112',\r\n                      flagExpand: true,\r\n                    },\r\n                  ],\r\n                },\r\n              ],\r\n            },\r\n            {\r\n              v: 'v112',\r\n              value: '112',\r\n              flagExpand: true,\r\n              children: [{\r\n                  v: 'v1121',\r\n                  value: '1121',\r\n                  flagExpand: true,\r\n              }]\r\n            },\r\n          ],\r\n        },\r\n      ],\r\n    },\r\n    {\r\n      v: 'v2',\r\n      value: '2',\r\n      flagExpand: true,\r\n      children: [{\r\n        v: 'v21',\r\n        value: '21',\r\n        flagExpand: true,\r\n    }]\r\n    },\r\n  ];\r\n  loading = true;\r\n  constructor(private cdr: ChangeDetectorRef) {}\r\n  ngOnInit(): void {}\r\n  ngAfterViewInit(): void {\r\n    this.cdr.detectChanges()\r\n  }\r\n  ngOnDestroy(): void {}\r\n  alert() {}\r\n}\r\n","<myw-gap></myw-gap>\r\n<!-- 树组件思路来自于：https://blog.csdn.net/m0_54944506/article/details/122287533 -->\r\n<h1>tree 组件 myw-tree</h1>\r\n<myw-gap></myw-gap>\r\n\r\n<p>只提供了一个tree骨架。用户需在在插槽（内容投影）中自定义展示的条目数据。item 当前展示的条目数据， index 根据下标计算的值, level 当前层级</p>\r\n&lt;myw-tree [(ngModel)]=\"treeData\"&gt; <br />\r\n&nbsp;&nbsp;&lt;ng-template mywTree let-item let-index=\"index\" let-level=\"level\"&gt;<br />\r\n&nbsp;&nbsp;&nbsp;&nbsp;自定义内容<br />\r\n&nbsp;&nbsp;&lt;/ng-template&gt;<br />\r\n&lt;/myw-tree&gt;<br />\r\n下面是效果展示\r\n<hr>\r\n<myw-gap></myw-gap>\r\n<div style=\"width: 100%; overflow: auto;\">\r\n    <myw-tree [(ngModel)]=\"treeData\">\r\n        <ng-template mywTree let-item let-index=\"index\" let-level=\"level\">\r\n          <div style=\"width: 800px;\">\r\n            <span (click)=\"item.flagExpand = !item.flagExpand\">{{\r\n              item.flagExpand ? \"关闭子项\" : \"展开子项\"\r\n            }}</span>\r\n            {{\r\n              \"当前绑定的值\" +\r\n                item.value +\r\n                \" -当前显示的值 \" +\r\n                item.v +\r\n                \" - 定标：\" +\r\n                index + \r\n                \" - 层级：\" +\r\n                level\r\n            }}\r\n            <span>当前状态： {{ item.flagExpand ? \"展开\" : \"关闭\" }}</span>\r\n          </div>\r\n        </ng-template>\r\n      </myw-tree>\r\n</div>\r\n<h2>基于tree组件实现一个myw-tree-default 以实现快速的构建tree</h2>\r\n","import { AfterViewInit, ChangeDetectorRef, Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { MywAlertService } from '../../module/alert/service/myw-alert.service';\r\nimport { MywMessageService } from '../../module/message/service/myw-message.service';\r\n@Component({\r\n  selector: 'myw-test-page',\r\n  templateUrl: './myw-test-page.component.html',\r\n  styleUrls: ['./myw-test-page.component.less'],\r\n  providers: []\r\n})\r\nexport class MywTestPageComponent implements OnInit, AfterViewInit, OnDestroy {\r\n  loading = true\r\n  mywPage = {\r\n    page: 1,\r\n    pageSize: 10,\r\n    total: 10000078\r\n  }\r\n  constructor() {\r\n\r\n  }\r\n  ngOnInit(): void {\r\n  }\r\n  ngAfterViewInit(): void {\r\n  }\r\n  ngOnDestroy(): void {\r\n  }\r\n  alert() {\r\n  }\r\n  changePage(page: any) {\r\n    this.mywPage.page = page\r\n    console.log('外面的更新')\r\n    console.log(this.mywPage)\r\n    this.mywPage = {...this.mywPage}\r\n  }\r\n}\r\n","<myw-gap></myw-gap>\r\n<h1>分页范例 myw-page</h1>\r\n<h3>分页组件使用范例，供大数据分页使用。</h3>\r\n<myw-gap></myw-gap>\r\n<myw-page [mywPage]=\"mywPage\" (changePage)=\"changePage($event)\"></myw-page>","import {\r\n  AfterViewInit,\r\n  ChangeDetectorRef,\r\n  Component,\r\n  EventEmitter,\r\n  Input,\r\n  OnDestroy,\r\n  OnInit,\r\n  Output,\r\n  ViewChild,\r\n} from '@angular/core';\r\n@Component({\r\n  selector: 'myw-test-row',\r\n  templateUrl: './myw-test-row.component.html',\r\n  styleUrls: ['./myw-test-row.component.less'],\r\n  providers: [],\r\n})\r\nexport class MywTestRowComponent implements OnInit, AfterViewInit, OnDestroy {\r\n  treeData = [\r\n    {\r\n      v: 'v1',\r\n      value: '1',\r\n      flagExpand: true,\r\n      children: [\r\n        {\r\n          v: 'v11',\r\n          value: '11',\r\n          flagExpand: true,\r\n          children: [\r\n            {\r\n              v: 'v111',\r\n              value: '111',\r\n              flagExpand: true,\r\n              children: [\r\n                {\r\n                  v: 'v1111',\r\n                  value: '1111',\r\n                  flagExpand: true,\r\n                  children: [\r\n                    {\r\n                      v: 'v11111',\r\n                      value: '11111',\r\n                      flagExpand: true,\r\n                    },\r\n                    {\r\n                      v: 'v11112',\r\n                      value: '11112',\r\n                      flagExpand: true,\r\n                    },\r\n                  ],\r\n                },\r\n              ],\r\n            },\r\n            {\r\n              v: 'v112',\r\n              value: '112',\r\n              flagExpand: true,\r\n              children: [{\r\n                  v: 'v1121',\r\n                  value: '1121',\r\n                  flagExpand: true,\r\n              }]\r\n            },\r\n          ],\r\n        },\r\n      ],\r\n    },\r\n    {\r\n      v: 'v2',\r\n      value: '2',\r\n      flagExpand: true,\r\n      children: [{\r\n        v: 'v21',\r\n        value: '21',\r\n        flagExpand: true,\r\n    }]\r\n    },\r\n  ];\r\n  loading = true;\r\n  constructor(private cdr: ChangeDetectorRef) {}\r\n  ngOnInit(): void {}\r\n  ngAfterViewInit(): void {\r\n    this.cdr.detectChanges()\r\n  }\r\n  ngOnDestroy(): void {}\r\n  alert() {}\r\n}\r\n","<myw-gap></myw-gap>\r\n<h1>栅格系统初始化 myw-row</h1>\r\n<h3>以供适应不同屏幕。</h3>\r\n<myw-gap></myw-gap>\r\n<myw-row>\r\n    <ng-template mywCol [span]=\"24\">\r\n        <div class=\"append\">24</div>\r\n    </ng-template>\r\n</myw-row>\r\n<myw-gap></myw-gap>\r\n<myw-row>\r\n    <ng-template mywCol [span]=\"12\">\r\n        <div class=\"append\">12</div>\r\n    </ng-template>\r\n    <ng-template mywCol [span]=\"12\">\r\n        <div class=\"append\">12</div>\r\n    </ng-template>\r\n</myw-row>\r\n<myw-gap></myw-gap>\r\n\r\n<myw-row>\r\n    <ng-template mywCol [span]=\"8\">\r\n        <div class=\"append\">8</div>\r\n    </ng-template>\r\n    <ng-template mywCol [span]=\"8\">\r\n        <div class=\"append\">8</div>\r\n    </ng-template>\r\n    <ng-template mywCol [span]=\"8\">\r\n        <div class=\"append\">8</div>\r\n    </ng-template>\r\n</myw-row>\r\n<myw-gap></myw-gap>\r\n\r\n<myw-row>\r\n    <ng-template mywCol [span]=\"6\">\r\n        <div class=\"append\">6</div>\r\n    </ng-template>\r\n    <ng-template mywCol [span]=\"6\">\r\n        <div class=\"append\">6</div>\r\n    </ng-template>\r\n    <ng-template mywCol [span]=\"6\">\r\n        <div class=\"append\">6</div>\r\n    </ng-template>\r\n    <ng-template mywCol [span]=\"6\">\r\n        <div class=\"append\">6</div>\r\n    </ng-template>\r\n</myw-row>\r\n<myw-gap></myw-gap>\r\n\r\n<myw-row>\r\n    <ng-template mywCol [span]=\"4\">\r\n        <div class=\"append\">4</div>\r\n    </ng-template>\r\n    <ng-template mywCol [span]=\"4\">\r\n        <div class=\"append\">4</div>\r\n    </ng-template>\r\n    <ng-template mywCol [span]=\"4\">\r\n        <div class=\"append\">4</div>\r\n    </ng-template>\r\n    <ng-template mywCol [span]=\"4\">\r\n        <div class=\"append\">4</div>\r\n    </ng-template>\r\n    <ng-template mywCol [span]=\"4\">\r\n        <div class=\"append\">4</div>\r\n    </ng-template>\r\n    <ng-template mywCol [span]=\"4\">\r\n        <div class=\"append\">4</div>\r\n    </ng-template>\r\n</myw-row>\r\n<myw-gap></myw-gap>\r\n\r\n<myw-row>\r\n    <ng-template mywCol [span]=\"3\"><div class=\"append\">3</div></ng-template>\r\n    <ng-template mywCol [span]=\"3\"><div class=\"append\">3</div></ng-template>\r\n    <ng-template mywCol [span]=\"3\"><div class=\"append\">3</div></ng-template>\r\n    <ng-template mywCol [span]=\"3\"><div class=\"append\">3</div></ng-template>\r\n    <ng-template mywCol [span]=\"3\"><div class=\"append\">3</div></ng-template>\r\n    <ng-template mywCol [span]=\"3\"><div class=\"append\">3</div></ng-template>\r\n    <ng-template mywCol [span]=\"3\"><div class=\"append\">3</div></ng-template>\r\n    <ng-template mywCol [span]=\"3\"><div class=\"append\">3</div></ng-template>\r\n</myw-row>\r\n<myw-gap></myw-gap>\r\n\r\n<myw-row>\r\n    <ng-template mywCol [span]=\"2\"><div class=\"append\">2</div></ng-template>\r\n    <ng-template mywCol [span]=\"2\"><div class=\"append\">2</div></ng-template>\r\n    <ng-template mywCol [span]=\"2\"><div class=\"append\">2</div></ng-template>\r\n    <ng-template mywCol [span]=\"2\"><div class=\"append\">2</div></ng-template>\r\n    <ng-template mywCol [span]=\"2\"><div class=\"append\">2</div></ng-template>\r\n    <ng-template mywCol [span]=\"2\"><div class=\"append\">2</div></ng-template>\r\n    <ng-template mywCol [span]=\"2\"><div class=\"append\">2</div></ng-template>\r\n    <ng-template mywCol [span]=\"2\"><div class=\"append\">2</div></ng-template>\r\n    <ng-template mywCol [span]=\"2\"><div class=\"append\">2</div></ng-template>\r\n    <ng-template mywCol [span]=\"2\"><div class=\"append\">2</div></ng-template>\r\n    <ng-template mywCol [span]=\"2\"><div class=\"append\">2</div></ng-template>\r\n    <ng-template mywCol [span]=\"2\"><div class=\"append\">2</div></ng-template>\r\n</myw-row>\r\n<myw-gap></myw-gap>\r\n<myw-row>\r\n    <ng-template mywCol [span]=\"1\"><div class=\"append\">1</div></ng-template>\r\n    <ng-template mywCol [span]=\"1\"><div class=\"append\">1</div></ng-template>\r\n    <ng-template mywCol [span]=\"1\"><div class=\"append\">1</div></ng-template>\r\n    <ng-template mywCol [span]=\"1\"><div class=\"append\">1</div></ng-template>\r\n    <ng-template mywCol [span]=\"1\"><div class=\"append\">1</div></ng-template>\r\n    <ng-template mywCol [span]=\"1\"><div class=\"append\">1</div></ng-template>\r\n    <ng-template mywCol [span]=\"1\"><div class=\"append\">1</div></ng-template>\r\n    <ng-template mywCol [span]=\"1\"><div class=\"append\">1</div></ng-template>\r\n    <ng-template mywCol [span]=\"1\"><div class=\"append\">1</div></ng-template>\r\n    <ng-template mywCol [span]=\"1\"><div class=\"append\">1</div></ng-template>\r\n    <ng-template mywCol [span]=\"1\"><div class=\"append\">1</div></ng-template>\r\n    <ng-template mywCol [span]=\"1\"><div class=\"append\">1</div></ng-template>\r\n    <ng-template mywCol [span]=\"1\"><div class=\"append\">1</div></ng-template>\r\n    <ng-template mywCol [span]=\"1\"><div class=\"append\">1</div></ng-template>\r\n    <ng-template mywCol [span]=\"1\"><div class=\"append\">1</div></ng-template>\r\n    <ng-template mywCol [span]=\"1\"><div class=\"append\">1</div></ng-template>\r\n    <ng-template mywCol [span]=\"1\"><div class=\"append\">1</div></ng-template>\r\n    <ng-template mywCol [span]=\"1\"><div class=\"append\">1</div></ng-template>\r\n    <ng-template mywCol [span]=\"1\"><div class=\"append\">1</div></ng-template>\r\n    <ng-template mywCol [span]=\"1\"><div class=\"append\">1</div></ng-template>\r\n    <ng-template mywCol [span]=\"1\"><div class=\"append\">1</div></ng-template>\r\n    <ng-template mywCol [span]=\"1\"><div class=\"append\">1</div></ng-template>\r\n    <ng-template mywCol [span]=\"1\"><div class=\"append\">1</div></ng-template>\r\n    <ng-template mywCol [span]=\"1\"><div class=\"append\">1</div></ng-template>\r\n</myw-row>\r\n<myw-gap></myw-gap>\r\n<myw-row>\r\n    <ng-template mywCol [span]=\"13\"><div class=\"append\">13</div></ng-template>\r\n    <ng-template mywCol [span]=\"11\"><div class=\"append\">11</div></ng-template>\r\n    <ng-template mywCol [span]=\"9\"><div class=\"append\">9</div></ng-template>\r\n    <ng-template mywCol [span]=\"15\"><div class=\"append\">15</div></ng-template>\r\n    <ng-template mywCol [span]=\"1\"><div class=\"append\">1</div></ng-template>\r\n    <ng-template mywCol [span]=\"2\"><div class=\"append\">2</div></ng-template>\r\n    <ng-template mywCol [span]=\"3\"><div class=\"append\">3</div></ng-template>\r\n    <ng-template mywCol [span]=\"4\"><div class=\"append\">4</div></ng-template>\r\n    <ng-template mywCol [span]=\"5\"><div class=\"append\">5</div></ng-template>\r\n    <ng-template mywCol [span]=\"6\"><div class=\"append\">6</div></ng-template>\r\n    <ng-template mywCol [span]=\"7\"><div class=\"append\">7</div></ng-template>\r\n    <ng-template mywCol [span]=\"8\"><div class=\"append\">8</div></ng-template>\r\n    <ng-template mywCol [span]=\"9\"><div class=\"append\">9</div></ng-template>\r\n    <ng-template mywCol [span]=\"10\"><div class=\"append\">10</div></ng-template>\r\n    <ng-template mywCol [span]=\"11\"><div class=\"append\">11</div></ng-template>\r\n    <ng-template mywCol [span]=\"12\"><div class=\"append\">12</div></ng-template>\r\n    <ng-template mywCol [span]=\"13\"><div class=\"append\">13</div></ng-template>\r\n    <ng-template mywCol [span]=\"14\"><div class=\"append\">14</div></ng-template>\r\n    <ng-template mywCol [span]=\"15\"><div class=\"append\">15</div></ng-template>\r\n    <ng-template mywCol [span]=\"16\"><div class=\"append\">16</div></ng-template>\r\n    <ng-template mywCol [span]=\"17\"><div class=\"append\">17</div></ng-template>\r\n    <ng-template mywCol [span]=\"18\"><div class=\"append\">18</div></ng-template>\r\n    <ng-template mywCol [span]=\"19\"><div class=\"append\">19</div></ng-template>\r\n    <ng-template mywCol [span]=\"20\"><div class=\"append\">20</div></ng-template>\r\n    <ng-template mywCol [span]=\"21\"><div class=\"append\">21</div></ng-template>\r\n    <ng-template mywCol [span]=\"22\"><div class=\"append\">22</div></ng-template>\r\n    <ng-template mywCol [span]=\"23\"><div class=\"append\">23</div></ng-template>\r\n    <ng-template mywCol [span]=\"24\"><div class=\"append\">24</div></ng-template>\r\n</myw-row>","import { AfterViewInit, ChangeDetectorRef, Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport { MywService } from './myw.service';\r\n@Component({\r\n  selector: 'myw',\r\n  templateUrl: './myw.component.html',\r\n  styleUrls: ['./myw.component.scss'],\r\n  providers: []\r\n})\r\nexport class MywComponent implements OnInit, AfterViewInit {\r\n  @ViewChild('formTest') formTest!: ElementRef\r\n  loading: boolean = true\r\n  test= 9\r\n  a: any\r\n  b: any\r\n  ngAfterViewInit(): void {\r\n    // throw new Error('Method not implemented.');\r\n  }\r\n  ngOnInit(): void {\r\n\r\n  }\r\n  ngOnDestroy() {\r\n  }\r\n  formtesst() {\r\n    console.log(this.formTest)\r\n  }\r\n  hello() {\r\n    alert('这是一个测试文件')\r\n  }\r\n  changeTheme() {\r\n    console.log(window.document.documentElement.getAttribute('data-myw-theme'))\r\n    if (window.document.documentElement.getAttribute('data-myw-theme') === 'black') {\r\n      window.document.documentElement.setAttribute('data-myw-theme', 'white');\r\n    } else {\r\n      window.document.documentElement.setAttribute('data-myw-theme', 'black');\r\n    }\r\n  }\r\n\r\n\r\n}\r\n","<div style=\"padding: 0px 10px 0 10px;\" >\r\n  <h1>马一文组件库 <span style=\"font-size: 12px; vertical-align: middle;\" > <myw-button (click)=\"changeTheme()\">切换主题</myw-button></span>  </h1> \r\n  <myw-tabs>\r\n  \r\n    <myw-tab v=\"关于\">\r\n      <myw-test-about></myw-test-about>\r\n    </myw-tab>\r\n    <myw-tab v=\"表单\">\r\n      <ng-template mywTab>\r\n        <myw-test-form></myw-test-form>\r\n      </ng-template>\r\n    </myw-tab>\r\n    <myw-tab v=\"editor\">\r\n      <myw-test-editor></myw-test-editor>\r\n    </myw-tab>\r\n    <myw-tab v=\"table\">\r\n      <ng-template mywTab>\r\n        <myw-test-table></myw-test-table>\r\n      </ng-template>\r\n    </myw-tab>\r\n    <myw-tab v=\"loading & button\">\r\n      <ng-template mywTab>\r\n        <myw-test-loading></myw-test-loading>\r\n      </ng-template>\r\n    </myw-tab>\r\n    <myw-tab v=\"拖拽框\" style=\"height: 100%;\">\r\n      <ng-template mywTab>\r\n        <myw-test-drag></myw-test-drag>\r\n      </ng-template>\r\n    </myw-tab>\r\n    <myw-tab v=\"网格2\" style=\"height: 100%;\">\r\n      <ng-template mywTab>\r\n        <myw-test-grid2></myw-test-grid2>\r\n      </ng-template>\r\n    </myw-tab>\r\n    <myw-tab v=\"栅格\">\r\n      <ng-template mywTab>\r\n        <myw-test-row></myw-test-row>\r\n      </ng-template>\r\n    </myw-tab>\r\n    <myw-tab v=\"pagination\">\r\n      <ng-template mywTab>\r\n        <myw-test-page></myw-test-page>\r\n      </ng-template>\r\n    </myw-tab>\r\n   <myw-tab v=\"tree\"> \r\n      <ng-template mywTab>\r\n        <myw-test-tree></myw-test-tree>\r\n      </ng-template>\r\n     </myw-tab>\r\n    <myw-tab v=\"lazy\">\r\n      <ng-template mywTab>\r\n        <myw-test-lazy></myw-test-lazy>\r\n      </ng-template>\r\n    </myw-tab>\r\n    <myw-tab v=\"gap\">\r\n      <ng-template mywTab>\r\n        <myw-test-gap></myw-test-gap>\r\n      </ng-template>\r\n    </myw-tab>\r\n    <myw-tab v=\"icon\">\r\n      <ng-template mywTab>\r\n        <myw-test-icon></myw-test-icon>\r\n      </ng-template>\r\n    </myw-tab>\r\n    <myw-tab v=\"tabs\">\r\n      <ng-template mywTab>\r\n        <myw-test-tabset></myw-test-tabset>\r\n      </ng-template>\r\n    </myw-tab>\r\n    <myw-tab v=\"split\">\r\n      <ng-template mywTab>\r\n        <myw-test-split></myw-test-split>\r\n      </ng-template>\r\n    </myw-tab>\r\n    <myw-tab v=\"modal\">\r\n      <ng-template mywTab>\r\n        <myw-test-modal></myw-test-modal>\r\n      </ng-template>\r\n    </myw-tab>\r\n    <myw-tab v=\"message\">\r\n      <ng-template mywTab>\r\n        <myw-test-message></myw-test-message>\r\n      </ng-template>\r\n    </myw-tab>\r\n    <myw-tab v=\"alert\">\r\n      <ng-template mywTab>\r\n        <myw-test-alert></myw-test-alert>\r\n      </ng-template>\r\n    </myw-tab>\r\n    <myw-tab v=\"tooltip\">\r\n      <myw-test-tooltip></myw-test-tooltip>\r\n    </myw-tab>\r\n  </myw-tabs>\r\n</div>\r\n","import { AfterViewInit, ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n@Component({\r\n  selector: 'myw-test-common',\r\n  templateUrl: './myw-test-common.component.html',\r\n  styleUrls: ['./myw-test-common.component.less'],\r\n  providers: []\r\n})\r\nexport class MywTestCommonComponent implements OnInit, AfterViewInit {\r\n  @Input() v = '';\r\n  @Output() tabClick = new EventEmitter()\r\n  flagShow = false;\r\n  selectTab = 0;\r\n  constructor(private cdr: ChangeDetectorRef) {\r\n\r\n  }\r\n  ngAfterViewInit(): void {\r\n  }\r\n  ngOnInit(): void {\r\n  }\r\n  nextTick() {\r\n      this.cdr.markForCheck();\r\n      this.cdr.detectChanges();\r\n  }\r\n  tclick(item: any) {\r\n    this.tabClick.emit(item)\r\n  }\r\n}\r\n","<myw-split [top]=\"30\">\r\n  <ng-template #header let-label >\r\n      <p>组件通规</p>\r\n  </ng-template>\r\n  <div>\r\n      <p>字母定义。value: 绑定的值、 v：显示的值</p>\r\n      <p> split myw-split 布局组件 将元素上下分隔或左右分隔</p>\r\n      <p> tabs myw-tabs myw-tab 布局组件 多组件平铺</p>\r\n  </div>\r\n</myw-split>\r\n","import {\r\n  AfterViewInit,\r\n  ChangeDetectorRef,\r\n  Component,\r\n  EventEmitter,\r\n  Input,\r\n  OnDestroy,\r\n  OnInit,\r\n  Output,\r\n  ViewChild,\r\n} from '@angular/core';\r\n@Component({\r\n  selector: 'myw-test-grid',\r\n  templateUrl: './myw-test-grid.component.html',\r\n  styleUrls: ['./myw-test-grid.component.less'],\r\n  providers: [],\r\n})\r\nexport class MywTestGridComponent implements OnInit, AfterViewInit, OnDestroy {\r\n  treeData = [\r\n    {\r\n      v: 'v1',\r\n      value: '1',\r\n      flagExpand: true,\r\n      children: [\r\n        {\r\n          v: 'v11',\r\n          value: '11',\r\n          flagExpand: true,\r\n          children: [\r\n            {\r\n              v: 'v111',\r\n              value: '111',\r\n              flagExpand: true,\r\n              children: [\r\n                {\r\n                  v: 'v1111',\r\n                  value: '1111',\r\n                  flagExpand: true,\r\n                  children: [\r\n                    {\r\n                      v: 'v11111',\r\n                      value: '11111',\r\n                      flagExpand: true,\r\n                    },\r\n                    {\r\n                      v: 'v11112',\r\n                      value: '11112',\r\n                      flagExpand: true,\r\n                    },\r\n                  ],\r\n                },\r\n              ],\r\n            },\r\n            {\r\n              v: 'v112',\r\n              value: '112',\r\n              flagExpand: true,\r\n              children: [{\r\n                  v: 'v1121',\r\n                  value: '1121',\r\n                  flagExpand: true,\r\n              }]\r\n            },\r\n          ],\r\n        },\r\n      ],\r\n    },\r\n    {\r\n      v: 'v2',\r\n      value: '2',\r\n      flagExpand: true,\r\n      children: [{\r\n        v: 'v21',\r\n        value: '21',\r\n        flagExpand: true,\r\n    }]\r\n    },\r\n  ];\r\n  loading = true;\r\n  constructor(private cdr: ChangeDetectorRef) {}\r\n  ngOnInit(): void {}\r\n  ngAfterViewInit(): void {\r\n    this.cdr.detectChanges()\r\n  }\r\n  ngOnDestroy(): void {}\r\n  alert() {}\r\n}\r\n","<myw-gap></myw-gap>\r\n<h1>网格 myw-grid 拖拽 myw-drag </h1>\r\n<h3>将可视区域置成网格，以供悬浮窗附着 待悬浮窗实现后再考虑</h3>\r\n<myw-gap></myw-gap>\r\n<button>添加一个元素</button>\r\n<myw-gap></myw-gap>\r\n<myw-grid>\r\n  <ng-template mywGrid key=\"1\">\r\n    <myw-drag>\r\n      <div style=\"background-color: antiquewhite;\">床前明月光</div>\r\n    </myw-drag>\r\n  </ng-template>\r\n  <ng-template mywGrid key=\"2\">\r\n    <myw-drag>\r\n      疑是地上霜\r\n    </myw-drag>\r\n  </ng-template>\r\n  <ng-template mywGrid key=\"3\">\r\n    <myw-drag>\r\n      举头望明月\r\n    </myw-drag>\r\n  </ng-template>\r\n  <ng-template mywGrid key=\"4\">\r\n    <myw-drag>\r\n      低头思故乡\r\n    </myw-drag>\r\n  </ng-template>\r\n</myw-grid>","import { AfterViewInit, ChangeDetectorRef, Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\n@Component({\r\n  selector: 'myw-test-select',\r\n  templateUrl: './myw-test-select.component.html',\r\n  styleUrls: ['./myw-test-select.component.scss'],\r\n  providers: []\r\n})\r\nexport class MywTestSelectComponent implements OnInit, AfterViewInit {\r\n  @ViewChild('formTest') formTest!: ElementRef\r\n  loading: boolean = true\r\n  test=\"11\"\r\n  hello = {\r\n    v: 'hello0',\r\n    value: 'hello0'\r\n  }\r\n  hello1 = {\r\n    v: 'hello1',\r\n    value: 'hello1'\r\n  }\r\n  hello2 = {\r\n    v: 'hello2',\r\n    value: 'hello2'\r\n  }\r\n\r\n  arr = [this.hello, this.hello1, this.hello2]\r\n  h=this.arr[0]\r\n  ngAfterViewInit(): void {\r\n    // throw new Error('Method not implemented.');\r\n  }\r\n  ngOnInit(): void {\r\n    // throw new Error('Method not implemented.');\r\n  }\r\n  formtesst() {\r\n    console.log(this.formTest)\r\n  }\r\n  inputChange(e: any) {\r\n    // console.log('inputChange 执行了 这是外部的')\r\n    // console.log(e)\r\n    if (e === '') {\r\n      this.arr = []\r\n      return;\r\n    }\r\n    this.arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20].map(item => {\r\n      e + item\r\n      return {\r\n        v: e + item,\r\n        value: 'value' + e + item\r\n      }\r\n    })\r\n  }\r\n}\r\n","<div style=\"height: 5px;\"></div>\r\n{{h | json}}\r\n<hr>\r\n<myw-select [(ngModel)]=\"h\" (inputChange)=\"inputChange($event)\">\r\n    <myw-option [o]=\"item\" v=\"v\" value=\"value\" *ngFor=\"let item of arr;\"></myw-option>\r\n</myw-select>","import { AfterViewInit, ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\n@Component({\r\n  selector: 'myw-test-tabs',\r\n  templateUrl: './myw-test-tabs.component.html',\r\n  styleUrls: ['./myw-test-tabs.component.less'],\r\n  providers: []\r\n})\r\nexport class MywTestTabsComponent implements OnInit, AfterViewInit {\r\n  @Input() v = '';\r\n  @Output() tabClick = new EventEmitter()\r\n  flagShow = false;\r\n  selectTab = 0;\r\n  constructor(private cdr: ChangeDetectorRef) {\r\n\r\n  }\r\n  ngAfterViewInit(): void {\r\n  }\r\n  ngOnInit(): void {\r\n  }\r\n  nextTick() {\r\n      this.cdr.markForCheck();\r\n      this.cdr.detectChanges();\r\n  }\r\n  tclick(item: any) {\r\n    this.tabClick.emit(item)\r\n  }\r\n}\r\n","myw-tabs 可以公开的属性\r\n  双向绑定\r\n<p></p>\r\n<p>[(ngMode)]:number int 绑定下标 绑定的值将被选中，从下标0开始。如果不存在，则选中第0个</p>\r\n<p> </p>\r\n<p>[v]:string 显示的值</p>\r\n<hr>\r\nmyw-tab\r\n<p>(tabClick) 点击标题触发的事件。</p>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MywLoadingModule } from '../loading/myw-loading.module';\r\nimport { MywAlertComponent } from './myw-alert.component';\r\nimport { MywAlertService } from './service/myw-alert.service';\r\nimport { MywButtonModule } from '../button/myw-button.module';\r\nconst components = [\r\n  MywAlertComponent,\r\n  \r\n\r\n];\r\n@NgModule({\r\n  declarations: [...components],\r\n  exports: [...components],\r\n  imports: [CommonModule, FormsModule, ReactiveFormsModule, MywButtonModule],\r\n  bootstrap: [],\r\n  providers: [MywAlertService],\r\n})\r\nexport class MywAlertModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MywCenterComponent } from './myw-center.component';\r\nconst components = [\r\n  MywCenterComponent\r\n];\r\n@NgModule({\r\n  declarations: [...components],\r\n  exports: [...components],\r\n  imports: [CommonModule, FormsModule, ReactiveFormsModule],\r\n  bootstrap: [],\r\n  providers: [],\r\n})\r\nexport class MywCenterModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MywGapComponent } from './myw-gap.component';\r\nconst components = [\r\n  MywGapComponent\r\n];\r\n@NgModule({\r\n  declarations: [...components],\r\n  exports: [...components],\r\n  imports: [CommonModule],\r\n  bootstrap: [],\r\n  providers: [],\r\n})\r\nexport class MywGapModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\r\nimport { MywGridComponent } from './myw-grid.component';\r\nimport { MywGridDirective } from './directive/myw-grid.directive';\r\nconst components = [\r\n  MywGridComponent,\r\n  MywGridDirective\r\n];\r\n@NgModule({\r\n  declarations: [\r\n ...components\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    ReactiveFormsModule,\r\n    FormsModule,\r\n  ],\r\n  exports: [\r\n    ...components\r\n  ],\r\n  bootstrap: [\r\n  ],\r\n  providers: [],\r\n})\r\nexport class MywGridModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MywInputComponent } from './myw-input.component';\r\nimport { MywTextareaComponent } from './component/textarea/myw-textarea.component';\r\nimport { MywSelectComponent } from './component/select/myw-select.component';\r\nimport { MywOptionComponent } from './component/select/option/myw-option.component';\r\nimport { MywButtonModule } from '../button/myw-button.module';\r\nimport { MywInputNumberComponent } from './component/number/myw-input-number.component';\r\nimport { MywDateComponent } from './component/date/myw-date.component';\r\nimport { MywInputDirective } from './directive/input/myw-input.directive';\r\nconst components = [\r\n  MywInputComponent,\r\n  MywTextareaComponent,\r\n  MywSelectComponent,\r\n  MywOptionComponent,\r\n  MywInputNumberComponent,\r\n  MywDateComponent,\r\n  MywInputDirective\r\n];\r\n@NgModule({\r\n  declarations: [...components],\r\n  exports: [...components],\r\n  imports: [CommonModule, FormsModule, ReactiveFormsModule, MywButtonModule],\r\n  bootstrap: [],\r\n  providers: [],\r\n})\r\nexport class MywInputModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MywButtonModule } from '../button/myw-button.module';\r\nimport { MywMessageComponent } from './myw-message.component';\r\nimport { MywMessageService } from './service/myw-message.service';\r\nconst components = [\r\n  MywMessageComponent,\r\n  \r\n\r\n];\r\n@NgModule({\r\n  declarations: [...components],\r\n  exports: [...components],\r\n  imports: [CommonModule, FormsModule, ReactiveFormsModule, MywButtonModule],\r\n  bootstrap: [],\r\n  providers: [MywMessageService],\r\n})\r\nexport class MywMessageModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MywLoadingModule } from '../loading/myw-loading.module';\r\nimport { MywModalComponent } from './myw-modal.component';\r\nimport { MywModalFooterDirective } from './directive/myw-modal-footer.directive';\r\nimport { MywModalHeaderDirective } from './directive/myw-modal-header.directive';\r\nimport { MywModalSectionDirective } from './directive/myw-modal-section.directive';\r\nimport { MywButtonModule } from '../button/myw-button.module';\r\nimport { MywIconModule } from '../icon/loading/myw-icon.module';\r\nconst components = [\r\n  MywModalComponent,\r\n  MywModalFooterDirective,\r\n  MywModalHeaderDirective,\r\n  MywModalSectionDirective\r\n\r\n];\r\n@NgModule({\r\n  declarations: [...components],\r\n  exports: [...components],\r\n  imports: [CommonModule, FormsModule, ReactiveFormsModule, MywLoadingModule, MywButtonModule, MywIconModule],\r\n  bootstrap: [],\r\n  providers: [],\r\n})\r\nexport class MywModalModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MywPageComponent } from './myw-page.component';\r\nimport { MywButtonModule } from '../button/myw-button.module';\r\nimport { MywInputModule } from '../input/myw-input.module';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nconst components = [\r\n  MywPageComponent\r\n];\r\n@NgModule({\r\n  declarations: [...components],\r\n  exports: [...components],\r\n  imports: [CommonModule, FormsModule, ReactiveFormsModule, MywButtonModule, MywInputModule],\r\n  bootstrap: [],\r\n  providers: [],\r\n})\r\nexport class MywPageModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MywRowComponent } from './myw-row.component';\r\nimport { MywColDirective } from './directive/myw-col.directive';\r\nconst components = [MywRowComponent,MywColDirective];\r\n@NgModule({\r\n  declarations: [...components],\r\n  exports: [...components],\r\n  imports: [CommonModule],\r\n  bootstrap: [],\r\n  providers: [],\r\n})\r\nexport class MywRowModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MywSplitComponent } from './myw-split.component';\r\nconst components = [\r\n  MywSplitComponent,\r\n];\r\n@NgModule({\r\n  declarations: [...components],\r\n  exports: [...components],\r\n  imports: [CommonModule, FormsModule, ReactiveFormsModule],\r\n  bootstrap: [],\r\n  providers: [],\r\n})\r\nexport class MywSplitModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MywTableComponent } from './myw-table.component';\r\nimport { MywTableColComponent } from './component/myw-table-col.component';\r\nimport { MywTableDirective } from './directive/myw-table.directive';\r\nimport { DeferLoadDirective } from '../../directive/lazy/defer-load.directive';\r\nimport { MywTableLineComponent } from './component/line/myw-table-line.component';\r\nimport { MywButtonModule } from '../button/myw-button.module';\r\nconst components = [\r\n  MywTableComponent,\r\n  MywTableColComponent,\r\n  MywTableDirective,\r\n  DeferLoadDirective,\r\n  MywTableLineComponent,\r\n];\r\n@NgModule({\r\n  declarations: [...components],\r\n  exports: [...components],\r\n  imports: [CommonModule, FormsModule, ReactiveFormsModule,MywButtonModule],\r\n  bootstrap: [],\r\n  providers: [],\r\n})\r\nexport class MywTableModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MywTabsComponent } from './myw-tabs.component';\r\nimport { MywButtonModule } from '../button/myw-button.module';\r\nimport { MywTabDirective } from './directive/myw-tab.directive';\r\nimport { MywTabComponent } from './tab/myw-tab.component';\r\nconst components = [MywTabsComponent, MywTabComponent, MywTabDirective];\r\n@NgModule({\r\n  declarations: [...components],\r\n  exports: [...components],\r\n  imports: [CommonModule, FormsModule, ReactiveFormsModule, MywButtonModule],\r\n  bootstrap: [],\r\n  providers: [],\r\n})\r\nexport class MywTabsModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MywTooltipComponent } from './myw-tooltip.component';\r\nconst components = [\r\n  MywTooltipComponent,\r\n];\r\n@NgModule({\r\n  declarations: [...components],\r\n  exports: [...components],\r\n  imports: [CommonModule, FormsModule, ReactiveFormsModule],\r\n  bootstrap: [],\r\n  providers: [],\r\n})\r\nexport class MywTooltipModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\r\nimport { MywTreeComponent } from './myw-tree.component';\r\nimport { MywTreeDirective } from './directive/myw-tree.directive';\r\nconst components = [\r\n  MywTreeComponent,\r\n  MywTreeDirective\r\n];\r\n@NgModule({\r\n  declarations: [\r\n ...components\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    ReactiveFormsModule,\r\n    FormsModule,\r\n  ],\r\n  exports: [\r\n    ...components\r\n  ],\r\n  bootstrap: [\r\n    MywTreeComponent\r\n  ],\r\n  providers: [],\r\n})\r\nexport class MywTreeModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n@Injectable()\r\nexport class MywService {\r\n  constructor(private http: HttpClient) { }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { MywComponent } from './myw.component';\r\nconst routes: Routes = [\r\n    {path: 'myw', component: MywComponent}\r\n];\r\n\r\n@NgModule({\r\n  imports: [RouterModule.forChild(routes)],\r\n  exports: [RouterModule],\r\n})\r\nexport class MywRoutingModule {}\r\n// { path: '', component: UtilModuleUtilComponent, children: [\r\n//   {\r\n//     path: '',\r\n//     redirectTo: 'regExp',\r\n//     pathMatch: 'full'\r\n//   },\r\n//   {\r\n//     path: 'regExp',\r\n//     loadChildren: () => import('./module/regexp/regexp.module').then((x) => x.RegexpModule)\r\n//   },\r\n// ]},\r\n","import { MywTestCommonComponent } from './commonTest/myw-test-common.component'\r\nimport { MywTestSplitComponent } from './split/myw-test-split.component'\r\nimport { MywTestTabsComponent } from './tabsTest/myw-test-tabs.component'\r\nimport { MywTestLoadingComponent } from './loading/myw-test-loading.component'\r\nimport { MywTestSelectComponent } from './select/myw-test-select.component'\r\nimport { MywTestTooltipComponent } from './tooltip/myw-test-tooltip.component'\r\nimport { MywTestTableComponent } from './table/myw-test-table.component'\r\nimport { MywTestAlertComponent } from './alert/myw-test-alert.component'\r\nimport { MywTestMessageComponent } from './message/myw-test-message.component'\r\nimport { MywTestModalComponent } from './modal/myw-test-modal.component'\r\nimport { MywTestIconComponent } from './icon/myw-test-icon.component'\r\nimport { MywTestGapComponent } from './gap/myw-test-gap.component'\r\nimport { MywTestLazyComponent } from './lazy/myw-test-lazy.component'\r\nimport { MywTestTreeComponent } from './tree/myw-test-tree.component'\r\nimport { MywTestFormComponent } from './form/myw-test-form.component'\r\nimport { MywTestPageComponent } from './page/myw-test-page.component'\r\nimport { MywTestGridComponent } from './grid/myw-test-grid.component'\r\nimport { MywTestRowComponent } from './row/myw-test-row.component'\r\nimport { MywTestGrid2Component } from './grid2/myw-test-grid2.component'\r\nimport { MywTestDragComponent } from './drag/myw-test-drag.component'\r\nimport { MywTestTabComponent } from './tabs/myw-test-tab.component'\r\nimport { MywTestAboutComponent } from './about/myw-test-about.component'\r\nimport { MywTestEditorComponent } from './editor/myw-test-editor.component'\r\n\r\n\r\nexport let testComponent = [MywTestCommonComponent, MywTestTabsComponent, MywTestSplitComponent,\r\n  MywTestLoadingComponent, MywTestSelectComponent, MywTestTooltipComponent, MywTestTableComponent,\r\n  MywTestAlertComponent, MywTestMessageComponent, MywTestModalComponent, MywTestTabComponent,\r\n  MywTestIconComponent, MywTestGapComponent, MywTestLazyComponent, MywTestTreeComponent, \r\n  MywTestFormComponent, MywTestPageComponent, MywTestGridComponent, MywTestRowComponent,MywTestGrid2Component,\r\n  MywTestDragComponent,MywTestAboutComponent,MywTestEditorComponent\r\n]","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MywService } from './myw.service';\r\nimport { MywRoutingModule } from './myw-routing.mdule';\r\nimport { MywComponent } from './myw.component';\r\nimport { MywSplitModule} from './module/split/myw-split.module'\r\nimport { MywTabsModule } from './module/tabs/myw-tabs.module';\r\nimport { testComponent } from './testcomponent';\r\nimport { MywButtonModule } from './module/button/myw-button.module';\r\nimport { CheckEmpytObjectDirective } from './directive/form/check-empty-object.directive';\r\nimport { MywCenterModule } from './module/center/myw-center.module';\r\nimport { MywLoadingModule } from './module/loading/myw-loading.module';\r\nimport { MywIconModule } from './module/icon/loading/myw-icon.module';\r\nimport { MywInputModule } from './module/input/myw-input.module';\r\nimport { MywTooltipModule } from './module/tooltip/myw-tooltip.module';\r\nimport { MywTableModule } from './module/table/myw-table.module';\r\nimport { MywAlertModule } from './module/alert/myw-alert.module';\r\nimport { MywMessageModule } from './module/message/myw-message.module';\r\nimport { MywModalModule } from './module/modal/myw-modal.module';\r\nimport { MywGapModule } from './module/gap/myw-gap.module';\r\nimport { MywTreeModule } from './module/tree/myw-tree.module';\r\nimport { MywPageModule } from './module/page/myw-page.module';\r\nimport { MywGridModule } from './module/grid/myw-grid.module';\r\nimport { MywRowModule } from './module/row/myw-row.module';\r\nimport { MywDragModule } from './module/drag/myw-drag.module'\r\nimport { MywGrid2Module } from './module/grid2/myw-grid2.module';\r\nimport { MywEditorModule } from './module/editor/myw-editor.module';\r\nimport { UtilModule } from './util/myw-tabs.module';\r\nconst components = [\r\n  MywComponent,\r\n  ...testComponent\r\n];\r\nconst directive = [\r\n  CheckEmpytObjectDirective,\r\n];\r\nlet commonModule = [\r\n  MywSplitModule,\r\n  MywTabsModule,\r\n  MywButtonModule,\r\n  MywCenterModule,\r\n  MywLoadingModule,\r\n  MywIconModule,\r\n  MywInputModule,\r\n  MywTooltipModule,\r\n  MywTableModule,\r\n  MywAlertModule,\r\n  MywMessageModule,\r\n  MywModalModule,\r\n  MywGapModule,\r\n  MywTreeModule,\r\n  MywPageModule,\r\n  MywGridModule,\r\n  MywRowModule,\r\n  MywDragModule,\r\n  MywGrid2Module,\r\n  MywEditorModule,\r\n  UtilModule\r\n\r\n]\r\n@NgModule({\r\n  declarations: [...components, ...directive],\r\n  exports: [...components, commonModule],\r\n  imports: [CommonModule, FormsModule, ReactiveFormsModule, MywRoutingModule,\r\n     ...commonModule],\r\n  bootstrap: [],\r\n  providers: [MywService, CheckEmpytObjectDirective],\r\n})\r\nexport class MywModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["components","i2.MywLoadingComponent","i2.MywButtonComponent","i1.MywGapComponent","i2.MywEditorComponent","i1.MywAlertService","i2.MywMessageService","i3.MywGapComponent","i1.MywTabsComponent","i2.MywTabComponent","i3.MywTabDirective","i3.MywButtonComponent","i4.MywInputComponent","i1.MywDragService","i2","i2.MywDragComponent","i2.MywGrid2Component","i1","i5.MywSelectComponent","i6.MywOptionComponent","i7.MywInputNumberComponent","i8.MywDateComponent","i9.MywInputDirective","i10.MywGapComponent","i11.MywRowComponent","i12.MywColDirective","i13.CheckEmpytObjectDirective","i3.MywIconComponent","i1.MywSplitComponent","i1.MywLoadingService","i3.MywLoadingComponent","i1.MywTooltipComponent","i1.MywMessageService","i4.MywTableComponent","i5.MywTableDirective","i6.MywGapComponent","i4.MywModalComponent","i5.MywModalFooterDirective","i6.MywModalHeaderDirective","i7.MywModalSectionDirective","i1.MywButtonComponent","i2.MywIconComponent","i3","i4.DeferLoadDirective","i5.MywGapComponent","i2.MywGapComponent","i3.MywTreeComponent","i4.MywTreeDirective","i2.MywPageComponent","i2.MywRowComponent","i3.MywColDirective","i4.MywButtonComponent","i5.MywTestSplitComponent","i6.MywTestLoadingComponent","i7.MywTestTooltipComponent","i8.MywTestTableComponent","i9.MywTestAlertComponent","i10.MywTestMessageComponent","i11.MywTestModalComponent","i12.MywTestTabComponent","i13.MywTestIconComponent","i14.MywTestGapComponent","i15.MywTestLazyComponent","i16.MywTestTreeComponent","i17.MywTestFormComponent","i18.MywTestPageComponent","i19.MywTestRowComponent","i20.MywTestGrid2Component","i21.MywTestDragComponent","i22.MywTestAboutComponent","i23.MywTestEditorComponent","i2.MywGridComponent","i3.MywGridDirective","i4.MywDragComponent","i3.MywSelectComponent","i4.MywOptionComponent","i1.MywTestCommonComponent","i2.MywTestTabsComponent","i3.MywTestSplitComponent","i4.MywTestLoadingComponent","i5.MywTestSelectComponent","i6.MywTestTooltipComponent","i7.MywTestTableComponent","i8.MywTestAlertComponent","i9.MywTestMessageComponent","i10.MywTestModalComponent","i11.MywTestTabComponent","i12.MywTestIconComponent","i13.MywTestGapComponent","i14.MywTestLazyComponent","i15.MywTestTreeComponent","i16.MywTestFormComponent","i17.MywTestPageComponent","i18.MywTestGridComponent"],"mappings":"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E,EAAC;QAC9B,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAC;QAC9B,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAC;QAC9B,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAC;QAC9B,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAC;QAC9B,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAC;QAC9B,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAC;QAC9B,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAC;QAC9B,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAC;QAC9B,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAC;QAC9B,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAC;QAC9B,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAC;QAC9B,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAC;QAC9B,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAC;QAC9B,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAC;QAC9B,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAC;QAC9B,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAC;QAC9B,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,E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AAoC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAC;AAC1E,QAAA,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,oCAAoC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAC;AAC1E,QAAA,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,oCAAoC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAC;AAC1E,QAAA,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,oCAAoC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAC;AAC1E,QAAA,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,oCAAoC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAC;AAC1E,QAAA,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,oCAAoC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAC;AAC1E,QAAA,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,oCAAoC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAC;AAC1E,QAAA,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,oCAAoC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAC;AAC1E,QAAA,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,oCAAoC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAC;AAC1E,QAAA,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,oCAAoC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAC;AAC1E,QAAA,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,oCAAoC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAC;AAC1E,QAAA,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,oCAAoC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAC;AAC1E,QAAA,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,oCAAoC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAC;AAC1E,QAAA,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,oCAAoC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAC;AAC1E,QAAA,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,oCAAoC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAC;AAC1E,QAAA,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,oCAAoC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAC;AAC1E,QAAA,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,oCAAoC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAC;AAC1E,QAAA,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,oCAAoC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAC;AAC1E,QAAA,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,oCAAoC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAC;AAC1E,QAAA,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,oCAAoC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAC;AAC1E,QAAA,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,oCAAoC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAC;AAC1E,QAAA,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,oCAAoC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAC;AAC1E,QAAA,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,oCAAoC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAC;AAC1E,QAAA,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,oCAAoC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAC;AAC1E,QAAA,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,oCAAoC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAA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"}