当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript Sliding.config方法代码示例

本文整理汇总了TypeScript中@ephox/alloy.Sliding.config方法的典型用法代码示例。如果您正苦于以下问题:TypeScript Sliding.config方法的具体用法?TypeScript Sliding.config怎么用?TypeScript Sliding.config使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在@ephox/alloy.Sliding的用法示例。


在下文中一共展示了Sliding.config方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1:

const renderSidebar = (spec) => {
  return {
    uid: spec.uid,
    dom: {
      tag: 'div',
      classes: ['tox-sidebar'],
      attributes: {
        role: 'complementary'
      }
    },
    components: [
      {
        dom: {
          tag: 'div',
          classes: ['tox-sidebar__slider']
        },
        components: [
          // this will be replaced on setSidebar
        ],
        behaviours: Behaviour.derive([
          Tabstopping.config({ }),
          Focusing.config({ }), // TODO use Keying and use focusIn, but need to handle if sidebar contains nothing
          Sliding.config({
            dimension: {
              property: 'width'
            },
            closedClass: 'tox-sidebar--sliding-closed',
            openClass: 'tox-sidebar--sliding-open',
            shrinkingClass: 'tox-sidebar--sliding-shrinking',
            growingClass: 'tox-sidebar--sliding-growing',
            onShrunk: (slider: AlloyComponent) => {
              const optSlotContainer = Composing.getCurrent(slider);
              optSlotContainer.each(SlotContainer.hideAllSlots);
              AlloyTriggers.emit(slider, autoSize);
            },
            onGrown: (slider: AlloyComponent) => {
              AlloyTriggers.emit(slider, autoSize);
            },
            onStartGrow: (slider: AlloyComponent) => {
              AlloyTriggers.emitWith(slider, fixSize, { width: Css.getRaw(slider.element(), 'width').getOr('') });
            },
            onStartShrink: (slider: AlloyComponent) => {
              AlloyTriggers.emitWith(slider, fixSize, { width: Width.get(slider.element()) + 'px' });
            }
          }),
          Replacing.config({}),
          Composing.config({
            find: (comp: AlloyComponent) => {
              const children = Replacing.contents(comp);
              return Arr.head(children);
            }
          })
        ])
      }
    ],
    behaviours: Behaviour.derive([
      ComposingConfigs.childAt(0),
      AddEventsBehaviour.config('sidebar-sliding-events', [
        AlloyEvents.run<FixSizeEvent>(fixSize, (comp, se) => {
          Css.set(comp.element(), 'width', se.event().width());
        }),
        AlloyEvents.run(autoSize, (comp, se) => {
          Css.remove(comp.element(), 'width');
        })
      ])
    ])
  };
};
开发者ID:tinymce,项目名称:tinymce,代码行数:68,代码来源:Sidebar.ts

示例2: function

const build = function (refresh, scrollIntoView) {
  const dropup = GuiFactory.build(
    Container.sketch({
      dom: {
        tag: 'div',
        classes: Styles.resolve('dropup')
      },
      components: [

      ],
      containerBehaviours: Behaviour.derive([
        Replacing.config({ }),
        Sliding.config({
          closedClass: Styles.resolve('dropup-closed'),
          openClass: Styles.resolve('dropup-open'),
          shrinkingClass: Styles.resolve('dropup-shrinking'),
          growingClass: Styles.resolve('dropup-growing'),
          dimension: {
            property: 'height'
          },
          onShrunk (component) {
            refresh();
            scrollIntoView();

            Replacing.set(component, [ ]);
          },
          onGrown (component) {
            refresh();
            scrollIntoView();
          }
        }),
        Receivers.orientation(function (component, data) {
          disappear(Fun.noop);
        })
      ])
    })
  );

  const appear = function (menu, update, component) {
    if (Sliding.hasShrunk(dropup) === true && Sliding.isTransitioning(dropup) === false) {
      window.requestAnimationFrame(function () {
        update(component);
        Replacing.set(dropup, [ menu() ]);
        Sliding.grow(dropup);
      });
    }
  };

  const disappear = function (onReadyToShrink) {
    window.requestAnimationFrame(function () {
      onReadyToShrink();
      Sliding.shrink(dropup);
    });
  };

  return {
    appear,
    disappear,
    component: Fun.constant(dropup),
    element: dropup.element
  };
};
开发者ID:aha-app,项目名称:tinymce-word-paste-filter,代码行数:62,代码来源:Dropup.ts


注:本文中的@ephox/alloy.Sliding.config方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。