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


TypeScript contribution.validateWidgetContainerContribution方法代码示例

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


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

示例1: handleCommand

	function handleCommand(tab: IDashboardTabContrib, extension: IExtensionPointUser<any>) {
		let { description, container, provider, title, when, id, alwaysShow, isHomeTab } = tab;

		// If always show is not specified, set it to true by default.
		if (!types.isBoolean(alwaysShow)) {
			alwaysShow = true;
		}
		let publisher = extension.description.publisher;
		if (!title) {
			extension.collector.error(localize('dashboardTab.contribution.noTitleError', 'No title specified for extension.'));
			return;
		}

		if (!description) {
			extension.collector.warn(localize('dashboardTab.contribution.noDescriptionWarning', 'No description specified to show.'));
		}

		if (!container) {
			extension.collector.error(localize('dashboardTab.contribution.noContainerError', 'No container specified for extension.'));
			return;
		}

		if (!provider) {
			// Use a default. Consider warning extension developers about this in the future if in development mode
			provider = Constants.mssqlProviderName;
			// Cannot be a home tab if it did not specify a provider
			isHomeTab = false;
		}

		if (Object.keys(container).length !== 1) {
			extension.collector.error(localize('dashboardTab.contribution.moreThanOneDashboardContainersError', 'Exactly 1 dashboard container must be defined per space'));
			return;
		}

		let result = true;
		let containerkey = Object.keys(container)[0];
		let containerValue = Object.values(container)[0];

		switch (containerkey) {
			case WIDGETS_CONTAINER:
				result = validateWidgetContainerContribution(extension, containerValue);
				break;
			case GRID_CONTAINER:
				result = validateGridContainerContribution(extension, containerValue);
				break;
			case NAV_SECTION:
				result = validateNavSectionContributionAndRegisterIcon(extension, containerValue);
				break;
		}

		if (result) {
			registerTab({ description, title, container, provider, when, id, alwaysShow, publisher, isHomeTab });
		}
	}
开发者ID:burhandodhy,项目名称:azuredatastudio,代码行数:54,代码来源:dashboardTab.contribution.ts

示例2: handleCommand

	function handleCommand(dashboardContainer: IDashboardContainerContrib, extension: IExtensionPointUser<any>) {
		let { id, container } = dashboardContainer;
		if (!id) {
			extension.collector.error(localize('dashboardContainer.contribution.noIdError', 'No id in dashboard container specified for extension.'));
			return;
		}

		if (!container) {
			extension.collector.error(localize('dashboardContainer.contribution.noContainerError', 'No container in dashboard container specified for extension.'));
			return;
		}
		if (Object.keys(container).length !== 1) {
			extension.collector.error(localize('dashboardTab.contribution.moreThanOneDashboardContainersError', 'Exactly 1 dashboard container must be defined per space.'));
			return;
		}

		let result = true;
		let containerkey = Object.keys(container)[0];
		let containerValue = Object.values(container)[0];

		let containerTypeFound = containerTypes.find(c => (c === containerkey));
		if (!containerTypeFound) {
			extension.collector.error(localize('dashboardTab.contribution.unKnownContainerType', 'Unknown container type defines in dashboard container for extension.'));
			return;
		}

		switch (containerkey) {
			case WIDGETS_CONTAINER:
				result = validateWidgetContainerContribution(extension, containerValue);
				break;
			case GRID_CONTAINER:
				result = validateGridContainerContribution(extension, containerValue);
				break;
			case NAV_SECTION:
				result = validateNavSectionContributionAndRegisterIcon(extension, containerValue);
				break;
		}

		if (result) {
			registerContainer({ id, container });
		}
	}
开发者ID:AlexxNica,项目名称:sqlopsstudio,代码行数:42,代码来源:dashboardContainer.contribution.ts

示例3: createCSSRuleForIcon

	navSectionConfigs.forEach(section => {
		if (!section.title) {
			result = false;
			extension.collector.error(nls.localize('navSection.missingTitle_error', 'No title in nav section specified for extension.'));
		}

		if (!section.container) {
			result = false;
			extension.collector.error(nls.localize('navSection.missingContainer_error', 'No container in nav section specified for extension.'));
		}

		if (Object.keys(section.container).length !== 1) {
			result = false;
			extension.collector.error(nls.localize('navSection.moreThanOneDashboardContainersError', 'Exactly 1 dashboard container must be defined per space.'));
		}

		if (isValidIcon(section.icon, extension)) {
			section.iconClass = createCSSRuleForIcon(section.icon, extension);
		}

		let containerKey = Object.keys(section.container)[0];
		let containerValue = Object.values(section.container)[0];

		switch (containerKey) {
			case WIDGETS_CONTAINER:
				result = result && validateWidgetContainerContribution(extension, containerValue);
				break;
			case GRID_CONTAINER:
				result = result && validateGridContainerContribution(extension, containerValue);
				break;
			case NAV_SECTION:
				result = false;
				extension.collector.error(nls.localize('navSection.invalidContainer_error', 'NAV_SECTION within NAV_SECTION is an invalid container for extension.'));
				break;
		}

	});
开发者ID:burhandodhy,项目名称:azuredatastudio,代码行数:37,代码来源:dashboardNavSection.contribution.ts


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