當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript AlloyTriggers.emit方法代碼示例

本文整理匯總了TypeScript中@ephox/alloy.AlloyTriggers.emit方法的典型用法代碼示例。如果您正苦於以下問題:TypeScript AlloyTriggers.emit方法的具體用法?TypeScript AlloyTriggers.emit怎麽用?TypeScript AlloyTriggers.emit使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在@ephox/alloy.AlloyTriggers的用法示例。


在下文中一共展示了AlloyTriggers.emit方法的10個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: return

 return (comp) => {
   if (buttonType === 'custom') {
     AlloyTriggers.emitWith(comp, formActionEvent, {
       name,
       value: { }
     });
   } else if (buttonType === 'submit') {
     AlloyTriggers.emit(comp, formSubmitEvent);
   } else if (buttonType === 'cancel') {
     AlloyTriggers.emit(comp, formCancelEvent);
   } else {
     console.error('Unknown button type: ', buttonType);
   }
 };
開發者ID:tinymce,項目名稱:tinymce,代碼行數:14,代碼來源:Button.ts

示例2: function

const field = function (name, placeholder) {
  const inputSpec = Memento.record(Input.sketch({
    placeholder,
    onSetValue (input, data) {
      // If the value changes, inform the container so that it can update whether the "x" is visible
      AlloyTriggers.emit(input, NativeEvents.input());
    },
    inputBehaviours: Behaviour.derive([
      Composing.config({
        find: Option.some
      }),
      Tabstopping.config({ }),
      Keying.config({
        mode: 'execution'
      })
    ]),
    selectOnFocus: false
  }));

  const buttonSpec = Memento.record(
    Button.sketch({
      dom: UiDomFactory.dom('<button class="${prefix}-input-container-x ${prefix}-icon-cancel-circle ${prefix}-icon"></button>'),
      action (button) {
        const input = inputSpec.get(button);
        Representing.setValue(input, '');
      }
    })
  );

  return {
    name,
    spec: Container.sketch({
      dom: UiDomFactory.dom('<div class="${prefix}-input-container"></div>'),
      components: [
        inputSpec.asSpec(),
        buttonSpec.asSpec()
      ],
      containerBehaviours: Behaviour.derive([
        Toggling.config({
          toggleClass: Styles.resolve('input-container-empty')
        }),
        Composing.config({
          find (comp) {
            return Option.some(inputSpec.get(comp));
          }
        }),
        AddEventsBehaviour.config(clearInputBehaviour, [
          // INVESTIGATE: Because this only happens on input,
          // it won't reset unless it has an initial value
          AlloyEvents.run(NativeEvents.input(), function (iContainer) {
            const input = inputSpec.get(iContainer);
            const val = Representing.getValue(input);
            const f = val.length > 0 ? Toggling.off : Toggling.on;
            f(iContainer);
          })
        ])
      ])
    })
  };
};
開發者ID:danielpunkass,項目名稱:tinymce,代碼行數:60,代碼來源:Inputs.ts

示例3: runWithApi

 return AlloyEvents.runOnExecute(function (comp, simulatedEvent) {
   // If there is an action, run the action
   runWithApi(info, comp)(info.onAction);
   if (! info.triggersSubmenu && itemResponse === ItemResponse.CLOSE_ON_EXECUTE) {
     AlloyTriggers.emit(comp, SystemEvents.sandboxClose());
     simulatedEvent.stop();
   }
 });
開發者ID:tinymce,項目名稱:tinymce,代碼行數:8,代碼來源:ItemEvents.ts

示例4: setContents

        onSetValue: (comp, items) => {
          setContents(comp, items);
          if (spec.columns === 'auto') {
            detectSize(comp, 5, 'tox-collection__item').each(({ numRows, numColumns }) => {
              Keying.setGridSize(comp, numRows, numColumns);
            });
          }

          AlloyTriggers.emit(comp, formResizeEvent);
        }
開發者ID:tinymce,項目名稱:tinymce,代碼行數:10,代碼來源:Collection.ts

示例5:

 (_) => {
   AlloyTriggers.emit(comp, backSlideEvent);
   return Option.some(true);
 }
開發者ID:tinymce,項目名稱:tinymce,代碼行數:4,代碼來源:ContextUi.ts

示例6:

 AlloyEvents.runWithTarget<CellEvent>(cellExecuteEvent, (c, _, e) => {
   spec.onAction({numRows: e.event().row() + 1, numColumns: e.event().col() + 1});
   AlloyTriggers.emit(c, SystemEvents.sandboxClose());
 })
開發者ID:tinymce,項目名稱:tinymce,代碼行數:4,代碼來源:InsertTableMenuItem.ts

示例7:

 AlloyEvents.run(NativeEvents.mousedown(), (button, se) => {
   se.event().prevent();
   AlloyTriggers.emit(button, focusButtonEvent);
 })
開發者ID:tinymce,項目名稱:tinymce,代碼行數:4,代碼來源:ToolbarButtons.ts

示例8: withRoot

 withRoot((root) => {
   AlloyTriggers.emit(root, formCloseEvent);
 });
開發者ID:tinymce,項目名稱:tinymce,代碼行數:3,代碼來源:SilverUrlDialogInstanceApi.ts

示例9: onEscape

const renderModalDialog = (spec: DialogSpec, initialData, dialogEvents: AlloyEvents.AlloyEventKeyAndHandler<any>[], backstage: UiFactoryBackstage) => {
  const updateState = (_comp, incoming) => {
    return Option.some(incoming);
  };

  return GuiFactory.build(
    ModalDialog.sketch({
      lazySink: backstage.shared.getSink,
      // TODO: Disable while validating
      onEscape(c) {
        AlloyTriggers.emit(c, formCancelEvent);
        return Option.some(true);
      },

      useTabstopAt: (elem) => {
        return !NavigableObject.isPseudoStop(elem) && (
          Node.name(elem) !== 'button' || Attr.get(elem, 'disabled') !== 'disabled'
        );
      },

      modalBehaviours: Behaviour.derive([
        Reflecting.config({
          channel: dialogChannel,
          updateState,
          initialData
        }),
        RepresentingConfigs.memory({ }),
        Focusing.config({}),
        AddEventsBehaviour.config('execute-on-form', dialogEvents.concat([
          AlloyEvents.runOnSource(NativeEvents.focusin(), (comp, se) => {
            Keying.focusIn(comp);
          })
        ])),
        AddEventsBehaviour.config('scroll-lock', [
          AlloyEvents.runOnAttached(() => {
            Class.add(Body.body(), 'tox-dialog__disable-scroll');
          }),
          AlloyEvents.runOnDetached(() => {
            Class.remove(Body.body(), 'tox-dialog__disable-scroll');
          }),
        ]),
        ...spec.extraBehaviours
      ]),

      eventOrder: {
        [SystemEvents.execute()]: [ 'execute-on-form' ],
        [SystemEvents.receive()]: [ 'reflecting', 'receiving' ],
        [SystemEvents.attachedToDom()]: [ 'scroll-lock', 'reflecting', 'messages', 'execute-on-form', 'alloy.base.behaviour' ],
        [SystemEvents.detachedFromDom()]: [ 'alloy.base.behaviour', 'execute-on-form', 'messages', 'reflecting', 'scroll-lock' ],
      },

      dom: {
        tag: 'div',
        classes: [ 'tox-dialog' ].concat(spec.extraClasses),
        styles: {
          position: 'relative',
          ...spec.extraStyles
        }
      },
      components: [
        spec.header,
        spec.body,
        ...spec.footer.toArray()
      ],
      dragBlockClass: 'tox-dialog-wrap',
      parts: {
        blocker: {
          dom: DomFactory.fromHtml('<div class="tox-dialog-wrap"></div>'),
          components: [
            {
              dom: {
                tag: 'div',
                classes: [ 'tox-dialog-wrap__backdrop' ]
              }
            }
          ]
        }
      }
    })
  );
};
開發者ID:tinymce,項目名稱:tinymce,代碼行數:81,代碼來源:SilverDialogCommon.ts

示例10:

 Chain.op((input) => AlloyTriggers.emit(input, eventName))
開發者ID:tinymce,項目名稱:tinymce,代碼行數:1,代碼來源:DomSteps.ts


注:本文中的@ephox/alloy.AlloyTriggers.emit方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。