dojo

JavaScript simulate right click through code

眉间皱痕 提交于 2019-11-26 07:31:11
问题 I am writing some UI tests using Selenium and i have a JavaScript Tree control, using the Dojo toolkit. I have implemented a context menu for each node of the tree using the examples that Dojo provide, but I need the Selenium test to \"invoke\" the right click on the tree node, but I cannot get this to work. The tests simply do not simulate the right-click event through JavaScript, and the context menu does not show up. Has anyone had any experience in invoking the right click on a context

Dojo Build 进阶

时光毁灭记忆、已成空白 提交于 2019-11-26 01:50:40
翻译自 https://github.com/dojo/framework/blob/master/docs/en/building/supplemental.md 创建包 一个包就是一部分代码,它用于表示一部分功能。可以按需异步、并行加载包。与不使用任何代码拆分技术的应用程序相比,合理分包的应用程序可以显著提高响应速度,需要请求的字节数更少,加载的时间更短。在处理大型应用程序时,这一点尤其重要,因为这类应用程序的大部分表现层逻辑在初始化时是不需要加载的。 Dojo 尝试使用路由和 outlet 智能地做出选择,自动将代码拆分为更小的包。通常各个包内的代码都是紧密相关的。这是构建系统内置的功能,可直接使用。但是,对于有特殊分包需求的用户,Dojo 还允许在 .dojorc 配置文件中显示定义包。 默认情况下,Dojo 应用程序只创建一个应用程序包。但是 @dojo/cli-build-app 提供了很多配置选项,这些选项可将应用程序拆分为较小的、可逐步加载的包。 使用路由自动分包 默认情况下,Dojo 会基于应用程序的路由自动创建包。要做到这一点需要遵循以下几条规则。 src/routes.ts 必须默认导出路由配置信息 部件所属的模块必须默认导出部件 Outlet 的 render 函数必须使用内联函数 src/routes.ts export default [ { path:

Can I get the name of the currently running function in JavaScript?

纵然是瞬间 提交于 2019-11-26 01:33:42
问题 Is it possible to do this: myfile.js: function foo() { alert(<my-function-name>); // pops-up \"foo\" // or even better: \"myfile.js : foo\" } I\'ve got the Dojo and jQuery frameworks in my stack, so if either of those make it easier, they\'re available. 回答1: You should be able to get it by using arguments.callee . You may have to parse out the name though, as it will probably include some extra junk. Though, in some implementations you can simply get the name using arguments.callee.name .

Dojo 样式简介

纵饮孤独 提交于 2019-11-26 00:09:16
翻译自: https://github.com/dojo/framework/blob/master/docs/en/styling/introduction.md 介绍 Dojo 是基于 HTML 的技术,使用 CSS 为框架中的元素和用它开发的应用程序设置样式。 Dojo 鼓励将结构样式封装在各部件中,以便最大限度复用;同时将外观主题设置到应用程序所有部件上。用户为他们的应用程序设置样式和主题时,这种模式提供了固定的套路,即使混合使用 Dojo 的 @dojo/widgets 库 中的部件、由第三方提供的部件或者为特定应用程序开发的内部使用的部件时也是如此。 功能 描述 为单个部件设置样式 CSS Modules 用于定义,在单个部件的作用域内有效的样式,避免潜在的交叉污染和样式冲突。通过类型化的 CSS 模块导入和 IDE 自动完成功能,部件可以精确的引用 CSS 类名。 强大的主题支持 可以轻松开发出支持主题的部件,这样的部件既能使用简化的、中心化的应用程序主题,也能调整或覆盖单个实例的目标样式(如果需要的话)。 CLI 工具 支持分发自定义主题。 响应式的主题变更 与 Dojo 应用程序中的其他响应式状态变更类似,当一个部件或者整个应用程序的主题发生变化时,只有受影响的部件才会重新渲染。 提取 CSS 属性 每个 CSS 模块可通过 CSS 自定义属性和 var()

Dojo 样式进阶

a 夏天 提交于 2019-11-26 00:09:12
翻译自: https://github.com/dojo/framework/blob/master/docs/en/styling/supplemental.md Dojo 中的样式和主题 Dojo 部件最适合作为简单的组件,每个组件处理单一职责。它们应该尽可能的封装和模块化,以提高可重用性,同时避免与应用程序使用的其他组件出现冲突。 可以使用常规的 CSS 为部件设置样式,但是为了达到封装和复用的目标,每个部件应该维护各自的 CSS 模块(CSS module),该模块与部件的源代码存放在各自的文件中。这样就可以独立地设置各部件的样式,而不会与应用程序其他地方使用的类名冲突。 Dojo 界定出以下几类样式,每一类都代表了企业 web 应用程序中的样式需关注的不同方面和粒度: 未主题化的部件样式 ( 粒度: 单个部件) 部件所需的最小样式,不打算被主题覆盖。当渲染时,部件直接从导入的 CSS 模块中引用这些样式类。 主题化的部件样式 ( 粒度: 单个部件) 可以被主题覆盖的部件样式。部件使用 theme 中间件中的 theme.classes(css) API,传入需要主题化的 CSS,并在渲染时使用返回的类名。部件的使用者可以按需覆写部分或所有类。 应用于多个部件的样式 ( 粒度: 应用程序范围) 应用于多个部件的样式,这些部件既可以是不同类型的部件,也可以是单个部件的多个实例

Dojo 样式简介

冷暖自知 提交于 2019-11-25 23:07:41
翻译自: https://github.com/dojo/framework/blob/master/docs/en/styling/introduction.md 介绍 Dojo 是基于 HTML 的技术,使用 CSS 为框架中的元素和用它开发的应用程序设置样式。 Dojo 鼓励将结构样式封装在各部件中,以便最大限度复用;同时将外观主题设置到应用程序所有部件上。用户为他们的应用程序设置样式和主题时,这种模式提供了固定的套路,即使混合使用 Dojo 的 @dojo/widgets 库 中的部件、由第三方提供的部件或者为特定应用程序开发的内部使用的部件时也是如此。 功能 描述 为单个部件设置样式 CSS Modules 用于定义,在单个部件的作用域内有效的样式,避免潜在的交叉污染和样式冲突。通过类型化的 CSS 模块导入和 IDE 自动完成功能,部件可以精确的引用 CSS 类名。 强大的主题支持 可以轻松开发出支持主题的部件,这样的部件既能使用简化的、中心化的应用程序主题,也能调整或覆盖单个实例的目标样式(如果需要的话)。 CLI 工具 支持分发自定义主题。 响应式的主题变更 与 Dojo 应用程序中的其他响应式状态变更类似,当一个部件或者整个应用程序的主题发生变化时,只有受影响的部件才会重新渲染。 提取 CSS 属性 每个 CSS 模块可通过 CSS 自定义属性和 var()

Dojo 如何测试 widget

拜拜、爱过 提交于 2019-11-25 22:27:18
测试 dojo/framework/src/testing/README.md commit 84e254725f41d60f624ab5ad38fe82e15b6348a2 用于测试和断言 Dojo 部件期望的虚拟 DOM 和行为的简单 API。 测试 Features harness API Custom Comparators selectors harness.expect harness.expectPartial harness.trigger harness.getRender Assertion Templates Features 简单、熟悉和少量的 API 重点测试 Dojo 虚拟 DOM 结构 默认不需要 DOM 全面支持函数式编程和 tsx 声明 harness 当使用 @dojo/framework/testing 时, harness 是最重要的 API,主要用于设置每一个测试并提供一个执行虚拟 DOM 断言和交互的上下文。目的在于当更新 properties 或 children 和失效部件时,镜像部件的核心行为,并且不需要任何特殊或自定义逻辑。 API harness(renderFunction: () => WNode, customComparators?: CustomComparator[]): Harness;

Chained promises not passing on rejection

こ雲淡風輕ζ 提交于 2019-11-25 22:06:44
问题 I am have a problem understanding why rejections are not passed on through a promise chain and I am hoping someone will be able to help me understand why. To me, attaching functionality to a chain of promises implies an intent that I am depending on an original promise to be fulfilled. It\'s hard to explain, so let me show a code example of my problem first. (Note: this example is using Node and the deferred node module. I tested this with Dojo 1.8.3 and had the same results) var d = require(