我正在尝试自定义视图的页面,使其不显示特定视图(也就是我想从特定视图的页面中隐藏另一个视图)。理想情况下基于组成员身份。最终目标是将我所有的代码都存储在我的网站资产中,以便在其他页面/视图上重复使用。
我有删除视图的代码,如果将其放在脚本编辑器中,它将起作用。由于我试图将所有代码放入网站资产中,因此,一旦将其移到网站资产库中,然后添加引用,该代码将不再运行。
我在“站点资产”中的代码如下:(当在页面上和在脚本编辑器中时,由标签包围的同一代码也会起作用。
SP.SOD.executeFunc("clienttemplates.js", "SPClientTemplates", function () {
function init() {
SPClientTemplates.TemplateManager.RegisterTemplateOverrides({
Templates: {
Header: function (ctx, columns) {
var views = JSON.parse(ctx.ListSchema.ViewSelectorPivotMenuOptions);
//display all View options except 'Create View' & 'Modify View'
ClientPivotControl.prototype.SurfacedPivotCount = views.length;
views = views.filter(function (view) {
console.log(view.DisplayText, view);
var isMenu=view.MenuOptionType===2;
return isMenu || view.DisplayText.indexOf('Owner') <0; // false will not be returned
});
ctx.ListSchema.ViewSelectorPivotMenuOptions = JSON.stringify(views);//create string defintion again
return RenderHeaderTemplate(ctx, columns); //render default Header template
}
}
});
}
RegisterModuleInit(SPClientTemplates.Utility.ReplaceUrlTokens("~siteCollection/Style Library/hideview.js"), init);
init();
});
我现在添加到脚本编辑器中以引用站点Assets库中的上述代码的引用是:
<script type="text/javascript" src="../SiteAssets/js-test/HideOwnerViews.js"></script>
我想使用网站资产库中的代码隐藏视图的功能,而不是直接嵌入页面中。
答案 0 :(得分:0)
如果您的js库位于根网站中,则将该库引用为
import { act, fireEvent, render } from "@testing-library/react";
import * as React from "react";
import { EmailEditor, IEmailEditorProps } from "../EmailEditor"; // my wrapper around react-email-editor
import Editor from "react-email-editor";
如果您的js库托管在子网站中,则将该库引用为
<script type="text/javascript" src="/SiteAssets/js-test/HideOwnerViews.js"></script>