parent
a6731d5015
commit
e2b765e22d
@ -0,0 +1,84 @@
|
||||
const $ = require('jquery');
|
||||
const _ = require('underscore');
|
||||
const Backbone = require('backbone');
|
||||
const DashboardHeaderView = require('dashboard/components/dashboard-header-view');
|
||||
const HeaderViewModel = require('dashboard/views/mobile-apps/header-view-model');
|
||||
const LocalStorage = require('dashboard/helpers/local-storage');
|
||||
const IconSelector = require('dashboard/components/icon-selector/icon-selector-view');
|
||||
const DeleteMobileApp = require('dashboard/views/mobile-apps/delete-mobile-app-view');
|
||||
const AppPlatformsLegends = require('dashboard/components/app-platforms-legends');
|
||||
const UserModel = require('dashboard/data/user-model');
|
||||
const ConfigModel = require('dashboard/data/config-model');
|
||||
const ModalsServiceModel = require('builder/components/modals/modals-service-model');
|
||||
|
||||
const configModel = new ConfigModel(
|
||||
_.defaults({ base_url: window.base_url }, window.config)
|
||||
);
|
||||
|
||||
if (window.trackJs) {
|
||||
window.trackJs.configure({
|
||||
userId: window.user_data.username
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Entry point for the new keys, bootstraps all dependency models and application.
|
||||
*/
|
||||
$(function () {
|
||||
const userModel = new UserModel(window.user_data, { configModel });
|
||||
const mobileApp = window.mobile_app_data;
|
||||
|
||||
const modals = new ModalsServiceModel();
|
||||
|
||||
new DashboardHeaderView({
|
||||
el: $('#header'), // pre-rendered in DOM by Rails app
|
||||
model: userModel,
|
||||
configModel,
|
||||
viewModel: new HeaderViewModel(),
|
||||
localStorage: new LocalStorage()
|
||||
}).render();
|
||||
|
||||
// Avatar
|
||||
const iconSelectorNode = $('.js-iconSelector');
|
||||
|
||||
if (iconSelectorNode.length > 0) {
|
||||
const iconSelector = new IconSelector({
|
||||
el: iconSelectorNode,
|
||||
configModel,
|
||||
renderModel: new Backbone.Model({
|
||||
id: userModel.get('id'),
|
||||
name: mobileApp.name,
|
||||
inputName: $('.js-fileIcon').attr('name'),
|
||||
icon_url: mobileApp.icon_url
|
||||
}),
|
||||
iconAcceptedExtensions: window.icon_valid_extensions
|
||||
});
|
||||
|
||||
iconSelector.render();
|
||||
}
|
||||
|
||||
// Mobile app deletion
|
||||
const deleteButton = $('.js-deleteMobileApp');
|
||||
|
||||
if (deleteButton.length > 0) {
|
||||
deleteButton.click(function (ev) {
|
||||
ev.preventDefault();
|
||||
|
||||
modals.create(function (model) {
|
||||
return new DeleteMobileApp({
|
||||
modalModel: model,
|
||||
configModel,
|
||||
authenticityToken: window.authenticity_token,
|
||||
mobileApp: mobileApp
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
if ($('.js-appPlatformsLegend').length > 0) {
|
||||
new AppPlatformsLegends({
|
||||
el: $('.js-MobileAppForm'),
|
||||
appPlatforms: mobileApp['mobile_platforms']
|
||||
}).render();
|
||||
}
|
||||
});
|
Loading…
Reference in new issue