本文整理汇总了TypeScript中entcore.Behaviours类的典型用法代码示例。如果您正苦于以下问题:TypeScript Behaviours类的具体用法?TypeScript Behaviours怎么用?TypeScript Behaviours使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Behaviours类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: route
export const accountController = ng.controller('MyAccount', ['$scope', 'route', ($scope, route) => {
route({
editUserInfos: async function(params){
template.open('account/main', 'account/default-view');
directory.account = new directory.User({ id: params.id, edit: { infos: true } });
await init();
$scope.openView('user-edit', 'user');
},
editUser: async function(params){
template.open('account/main', 'account/default-view');
directory.account = new directory.User({ id: params.id, edit: { userbook: true, infos: true } });
await init();
$scope.openView('user-edit', 'user');
$scope.openView('userbook-edit', 'userbook');
},
themes: async function(){
directory.account = new directory.User({ id: model.me.userId, edit: { userbook: true, visibility: true } });
template.open('account/main', 'account/themes');
await init();
},
editMe: async function(params){
template.open('account/main', 'account/default-view');
directory.account = new directory.User({ id: model.me.userId, edit: { userbook: true, visibility: true } });
await init();
lang.addBundle('/auth/i18n', function () {
$scope.cguUrl = lang.translate("auth.charter");
});
if(model.me.type !== 'ELEVE'){
directory.account.edit.infos = true;
$scope.openView('user-edit', 'user');
}
else {
$scope.openView('user-view', 'user');
}
$scope.openView('userbook-edit', 'userbook');
}
});
$scope.template = template;
let conf = { overriding: [] };
const loadThemeConf = async function(){
await skin.listSkins();
conf = skin.themeConf;
$scope.themes = skin.skins;
if($scope.themes.length > 1){
$scope.display.pickTheme = skin.pickSkin;
http().get('/userbook/preference/theme').done(function(pref){
if(pref.preference){
$scope.account.themes[pref.preference] = true;
}
else{
$scope.account.themes[skin.skin] = true;
http().put('/userbook/preference/theme', skin.skin);
}
$scope.$apply();
})
if(!$scope.account.themes){
$scope.account.themes = {};
}
$scope.$apply();
}
}
const xhr = new XMLHttpRequest();
xhr.open('get', '/assets/theme-conf.js');
xhr.onload = async () => {
eval(xhr.responseText.split('exports.')[1]);
const currentTheme = conf.overriding.find(t => t.child === skin.skin);
if(currentTheme.group){
$scope.themes = conf.overriding.filter(t => t.group === currentTheme.group);
}
else{
$scope.themes = conf.overriding;
}
};
xhr.send();
Behaviours.loadBehaviours('directory', function(){
model.me.workflow.load(['directory'])
});
model.me.workflow.load(['zimbra']);
$scope.hasWorkflowZimbraExpert = () => {
return model.me.hasWorkflow('fr.openent.zimbra.controllers.ZimbraController|preauth');
};
async function init(){
await directory.account.open();
await directory.account.loadChildren();
await directory.account.load();
$scope.me = model.me;
directory.account.on('change', function(){
$scope.$apply();
});
$scope.account = directory.account;
$scope.previousMood = directory.account.mood.id;
//.........这里部分代码省略.........
示例2: function
Behaviours.register('directory', {
rights:{
workflow: {
externalNotifications: "org.entcore.timeline.controllers.TimelineController|mixinConfig",
historyView: "org.entcore.timeline.controllers.TimelineController|historyView",
showMoodMotto: "org.entcore.directory.controllers.UserBookController|userBookMottoMood",
switchTheme: "org.entcore.directory.controllers.UserBookController|userBookSwitchTheme",
generateMergeKey: "org.entcore.directory.controllers.UserController|generateMergeKey",
mergeByKey: "org.entcore.directory.controllers.UserController|mergeByKey",
allowSharebookmarks: "org.entcore.directory.controllers.ShareBookmarkController|allowSharebookmarks",
allowLoginUpdate: "org.entcore.directory.controllers.UserController|allowLoginUpdate",
allowClassAdminAddUsers: "org.entcore.directory.controllers.DirectoryController|allowClassAdminAddUsers",
allowClassAdminResetPassword: "org.entcore.directory.controllers.DirectoryController|allowClassAdminResetPassword",
allowClassAdminBlockUsers: "org.entcore.directory.controllers.DirectoryController|allowClassAdminBlockUsers",
allowClassAdminDeleteUsers: "org.entcore.directory.controllers.DirectoryController|allowClassAdminDeleteUsers"
}
},
sniplets: {
facebook: {
title: 'sniplet.facebook.title',
description: 'sniplet.facebook.desc',
controller: {
initSource: function(){
this.source = {
groups: []
};
this.search = {
text: '',
groups: [],
structures: [],
structure: null
};
http().get('/userbook/structures').done(function(structures){
this.search.structures = structures;
this.$apply('search');
}.bind(this));
},
viewUserInfos: function(userId){
window.open('/userbook/annuaire#/' + userId, '_blank');
},
removeGroup: function(index, group){
this.source.groups.splice(index, 1);
this.search.groups.push(group);
},
addGroup: function(group){
this.source.groups.push(group);
var index = this.search.groups.indexOf(group);
this.search.groups.splice(index, 1);
},
loadGroups: function(){
var that = this
http().get('/userbook/structure/' + this.search.structure.id).done(function(structure){
this.search.groups = structure.profileGroups.concat(structure.manualGroups);
_.map(this.search.groups, function(group){ group.translatedName = that.groupTranslation(group.name) })
this.$apply('search');
}.bind(this));
},
init: function(){
this.source.groups.forEach(function(group){
http().get('/userbook/visible/users/' + group.id).done(function(users){
group.users = users;
this.$apply('source');
}.bind(this));
}.bind(this))
},
applySource: function(){
this.setSnipletSource(this.source);
},
colorFromType: function(type){
return ui.profileColors.match(type);
},
groupTranslation: function(groupName){
var splittedName = groupName.split('-')
return splittedName.length > 1 ?
lang.translate(groupName.substring(0, groupName.lastIndexOf('-'))) + '-' + lang.translate(groupName.split('-')[splittedName.length - 1]) :
groupName
},
getType: function(type){
if(type instanceof Array)
return type[0]
return type
}
}
}
}
});
示例3: function
import { Behaviours } from 'entcore';
console.log('Exercizer behaviours loaded');
Behaviours.register('exercizer', {
rights: {
workflow: {
create: 'fr.openent.exercizer.controllers.SubjectController|persist',
import: 'fr.openent.exercizer.controllers.SubjectController|importSubjectGrains',
list: 'fr.openent.exercizer.controllers.SubjectController|listSubject',
view: 'fr.openent.exercizer.controllers.SubjectController|view'
},
resource: {
manager: {
right: 'fr-openent-exercizer-controllers-SubjectController|remove'
},
contrib: {
right: 'fr-openent-exercizer-controllers-SubjectController|canSchedule',
},
read: {
right: 'com-thecodingmachine-inca-controllers-ThematicController|list'
}
}
},
dependencies: {},
loadResources: function (callback) { }
});
示例4: function
Behaviours.register('conversation', {
rights: {
workflow: {
draft: 'org.entcore.conversation.controllers.ConversationController|createDraft',
read: 'org.entcore.conversation.controllers.ConversationController|view'
}
},
sniplets: {
ml: {
title: 'sniplet.ml.title',
description: 'sniplet.ml.description',
controller: {
init: function () {
this.message = {}
},
initSource: function () {
this.setSnipletSource({});
},
send: function () {
this.message.to = _.map(this.snipletResource.shared, function (shared) { return shared.userId || shared.groupId });
this.message.to.push(this.snipletResource.owner.userId);
http().postJson('/conversation/send', this.message).done(function () {
notify.info('ml.sent');
}).e401(function () { });
this.message = {}
}
}
}
}
});
示例5: function
Behaviours.register('pages', {
rights: {
workflow: {
create: 'fr.wseduc.pages.controllers.PagesController|add',
createFolder: 'fr.wseduc.pages.controllers.FoldersController|add',
createPublic: 'fr.wseduc.pages.controllers.PagesController|addPublic',
share: 'fr.wseduc.pages.controllers.PagesController|share'
},
resource: {
update: { right: 'fr-wseduc-pages-controllers-PagesController|update' },
remove: { right: 'fr-wseduc-pages-controllers-PagesController|delete' },
share: { right: 'fr-wseduc-pages-controllers-PagesController|share' },
read: { right: 'fr-wseduc-pages-controllers-PagesController|get' },
manager: { right: 'fr-wseduc-pages-controllers-PagesController|share' },
restore: { right: 'fr-wseduc-pages-controllers-PagesController|delete' }
}
},
loadResources: async function (callback) {
if (this.loading) {
return;
}
this.loading = true;
let response = await http.get('/pages/list/all');
this.loading = false;
let websites = response.data;
let pages = [];
websites.forEach(function(website){
if(website.thumbnail){
website.thumbnail = website.thumbnail + '?thumbnail=48x48';
}
else{
website.thumbnail = '/img/illustrations/pages-default.png'
}
website = {
pages: website.pages,
title: website.title,
owner: {
name: website.owner.displayName,
userId: website.owner.userId
},
icon: website.thumbnail,
path: '/pages#/website/' + website._id,
_id: website._id
};
pages.push(website);
website.pages.forEach(function(page){
pages.push({
title: page.title,
owner: website.owner,
icon: website.thumbnail,
path: '/pages#/website/' + website._id + '/' + page.titleLink,
_id: website.id + '/' + page.titleLink
});
});
})
this.resources = pages;
},
sniplets: {
navigation: {
public: true,
title: 'pages.navigation.title',
description: 'pages.navigation.desc',
controller: {
init: function(){
var source = this.source;
this.me = model.me;
this.lang = lang;
if(source.customLinks){
this.links = source.customLinks;
this.custom = true;
this.snipletDisplay = {};
return;
}
this.source.landingPage = this.snipletResource.landingPage;
this.source._id = this.snipletResource._id;
this.links = _.map(this.snipletResource.pages.all, (page) => {
let href = '#/website/' + this.source._id + '/' + page.titleLink;
if (window.location.hash.startsWith('#/preview/')) {
href = '#/preview/' + this.source._id + '/' + page.titleLink;
}
return {
title: page.title,
href: href,
published: page.published,
index: page.index
}
});
console.log(this.links);
this.links = _.reject(this.links, (l) => l.published === false);
model.one('refresh-nav', () => this.init());
this.$apply('links')
},
initSource: function(){
Behaviours.applicationsBehaviours.pages.loadResources(function(resources){
this.pages = resources;
this.$apply('pages');
}.bind(this));
},
setSource: function(source){
//.........这里部分代码省略.........
示例6:
import { Behaviours } from 'entcore';
Behaviours.register('${APPNAME.toLowerCase()}', {
});