Придумал структуру, думаю, что она не верная и запутанная.
Задача: Нужно сделать вид для 2 групп пользователей, допустим User
и Admin
.
Есть форма, которая будит дополняться в случае, если пришла нужная нам группа. 3 файла: основной (1), стандартная форма (2), модифицированная форма (3).
Моя логика:
Проверка (для одной группы 1 файл не доступен), т.е. в 1-ом случай мы не досчитаемся 1 объекта. (try catch
). Если файл есть - поднимаем объект. (поднимаемый файл наследует стандартную форму и расширяет ее).
В стандартной форме, т.е. при инициализации объекта, мы проверяем, делать ли модификацию. Если да, то мы в объекте стандартной формы тянем объект модификаций, который, в свою очередь, наследует стандартную форму.
$(function() {
var modif;
try{
modif = new modifForm();
}catch(e){
modif = false;
}
var app = new defaultViewForm(modif)
}
// дефаулт форма
var default = {};
function defaultViewForm(modif) {
var me = {};
if(modif){
me = modif;
}
me.test = default.test ,
me.test = default.test2
return me;
}
default.test = function(){
console.log('default test');
}
default.test2 = function(){
console.log('default test2');
}
// мод форма
var mod = {};
function modViewForm() {
var me = defaultViewForm.extend; // расширили
me.test = default.test2 // переопределили метод
return me;
}
mod.test = function(){
console.log('default test2');
}
Понимаю, что решение никуда не годится, но по другому не понимаю как реализовать. Подскажите, как сделать красивой данную задачу?
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Здравствуйте, пытался понять один вопрос который у меня возник с $broadcast в AngulaJS, но так ничего не понялМое приложение работает, но хочется докопаться...
Если зарегистрироваться через сайт, то информация на русском в базу данных не попадает(пустые поля)а если к кодировке в файле подключения(все...