Страница 1 из 8

[Виджет] to do (дела, задачи) в меню и сцены, ver 3.23

Добавлено: Вс ноя 22, 2015 2:06 am
Vovix
ОБНОВЛЕНИЕ ОТ 24.04.2019 г. ver 3.23
(в дальнейшем все обновления буду выкладывать здесь)
Установка производиться путем импортирования класса, объекта и его свойства install
которое и следует запускать для установки после импорта!
Внимание изменения (ver 3.23):
1) font-awesome.min.css теперь с локальным путем, а именно теперь он должен быть добавлен сюда:/css/font-awesome/css/font-awesome.min.css;
2) исправил ошибку отображения в меню в связи с предыдущими изменениями CSS ядра системы;

Внимание изменения (ver 3.20):
1) теперь TodoList.sayTodo, отвечает за проговаривание и находиться он в классе этого виджета, ране было Sets.SayTodo
2) длинные строки теперь обрезаются при отображении (в данных хранятся без обрезки)
Скриншот 2017-12-09 23.15.48.png
Скриншот 2017-12-09 23.15.48.png (15.41 КБ) 13169 просмотров
Детальный порядок установки:
1) Скачать файл с импортом Класса, объекта и метода - ToDo.txt

2) Импортировать его себе в объекты
СпойлерПоказать
Скриншот 2017-12-09 13.10.10.png
Скриншот 2017-12-09 13.10.10.png (13.24 КБ) 13183 просмотра
3) Зайти в метод install объекта и нажать Настроить
СпойлерПоказать
Скриншот 2017-12-09 13.14.39.png
Скриншот 2017-12-09 13.14.39.png (9.41 КБ) 13183 просмотра
4) Запустить его на выполнение вручную (нажать test)
СпойлерПоказать
Скриншот 2017-12-09 13.14.54.png
Скриншот 2017-12-09 13.14.54.png (47.84 КБ) 13183 просмотра
Для установки это всё!

Использование с меню:
1) В меню создать пункт типа HTML с данными: %TodoList.StreamingCodeMenu%
СпойлерПоказать
Скриншот 2017-12-09 13.15.24.png
Скриншот 2017-12-09 13.15.24.png (14.12 КБ) 13183 просмотра
2) Для более корректного отображения нужно заменить на свой ID (тот который у вас у пункта меню с модулем, у меня = 194)
менять нужно в TodoList.menuCSS вот на строке с видом (в начале):
СпойлерПоказать

Код: Выделить всё

#item194 { /* здесь item194 - это номер ID пункта меню в котором он размещен - меняйте на свой! */
 padding: 0;
 } 
Для использования в сценах моих (Дизайн сцен 2):
вставлять это в код Состояния: %TodoList.StreamingCodeScene%
в Дополнительный код JavaScript - это: %TodoList.JS%
в Дополнительный код CSS - это: %TodoList.sceneCSS%


Пояснение по проговариванию:
зависит от общего уровня системы - ThisComputer.minMsgLevel
а также от значения TodoList.sayTodo
если TodoList.sayTodo = 0 - проговаривания нет в не зависимости от общего уровня!

Далее уровень произношения ($level) в функции say($ph,$level) устанавливается по принципу TodoList.sayTodo минус 2
например: при ThisComputer.minMsgLevel = 0
при TodoList.sayTodo равном 1 будет $level = -1 и будет просто писать
при TodoList.sayTodo равном 2 будет $level = 0 и будет говорить
при TodoList.sayTodo равном 3 будет $level = 1 тоже будет говорить с повышенной важностью
и т.д.

Re: Виджет to do (дела, задачи) в меню

Добавлено: Вс ноя 22, 2015 2:54 am
Vovix
Вопрос к Сергею:

Я делаю обновление всего меню в javascript, после изменений так: setTimeout(function() { location.reload() }, 1000);
стандартная "галочка" в пункте меню "Период обновления" почему то у меня не работает?

Хотелось бы обновлять только <div> с моим модулем!
Так: document.getElementById('id').innerHtml = newContent;
и так: $('#id').html(newContent);
у меня почему то тоже отказалось работать?!


И еще, движок MDM видимо сам обёртывает <input> в <div>:
СпойлерПоказать

Код: Выделить всё

<div class="ui-input-text ui-body-inherit ui-corner-all ui-shadow-inset"><input id="newtask" placeholder="New Item" type="text"></div> 
Скриншот1.jpg
Скриншот1.jpg (17.6 КБ) 19797 просмотров
Как от этого избавиться или контролировать?

Re: Виджет to do (дела, задачи) в меню

Добавлено: Вс ноя 22, 2015 11:11 am
ErmolenkoM
Может я не понимаю, но какой смысл хранить что-то в текстовом файле при наличии SQL сервера?

Re: Виджет to do (дела, задачи) в меню

Добавлено: Вс ноя 22, 2015 11:52 am
Vovix
ErmolenkoM писал(а):Может я не понимаю, но какой смысл хранить что-то в текстовом файле при наличии SQL сервера?
если возможно, то почему нельзя?
да и при наличии всего нескольких строчек данных!

да согласен, база данных лучше!
кому не нравится - переделайте! главное в этом проекте не код, а оформление CSS, я думаю!

да и чтобы делать модуль, наверно мне понадобится быть(делать) непосредственно на сервере, ну или по TeamViewer,
.... а была ночь, я был в другой комнате, к серверу было идти лень, TeamViewer? есть, но.... модули я пока не писал для MDM.
Я ни где не программист(в моем понимании), так - любитель иногда!... ни на, что не притендую... делал для души, ну и чтобы "потыкаться" на практике с CSS и JS! (да и доступ у меня теперь, что к коду, что к данным, что к оформлению - из любой точки Интернета, без использования стороннего ПО, хотя согласен, что можно, при желании, также все организовать при работе с SQL)!

Спасибо Сергею, помогал в непонятных для меня моментах!

... а так, чего это я оправдываюсь?! - КТО МОЖЕТ ЛУЧШЕ - ДЕЛАЙТЕ! ну и выкладывайте, не прячьте у себя, а выкладывайте!

Re: Виджет to do (дела, задачи) в меню

Добавлено: Вс ноя 22, 2015 12:22 pm
nick7zmail
Сделал все по инструкции. В меню получил пустой блок. Какой-нибудь из скриптов нужно предварительно запустить?

Re: Виджет to do (дела, задачи) в меню

Добавлено: Вс ноя 22, 2015 12:26 pm
Aleks130699
nick7zmail писал(а):Сделал все по инструкции. В меню получил пустой блок. Какой-нибудь из скриптов нужно предварительно запустить?
У меня тоже так было. Позапускай скрипты которые создал,начнет работать:)

Re: Виджет to do (дела, задачи) в меню

Добавлено: Вс ноя 22, 2015 12:38 pm
nick7zmail
Aleks130699 писал(а): У меня тоже так было. Позапускай скрипты которые создал,начнет работать:)
Да, уже понял, спасибо. Нужно запустить скрипт todo_view_menu.

Re: Виджет to do (дела, задачи) в меню

Добавлено: Вс ноя 22, 2015 7:53 pm
Vovix
немного исправил отступы, размеры, и т.п.
теперь так:
Скриншот 2015-11-22 20.jpg
Скриншот 2015-11-22 20.jpg (31.67 КБ) 19681 просмотр
заменить блок Данные в меню на это:
СпойлерПоказать

Код: Выделить всё

<style>
@import url("https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css");
#list {
  position: relative;
  width: calc(100% + 40px);
  margin: 0 -20px 0 -20px;
}
#list .new {
 width: 100%;
 height: 50px;
  padding: 0;
  margin: 0;
 }
 
#list .new #newtask {
  float: left;
  width: calc(100% - 78px);
  height: 50px;
  padding: 0;
  margin: 0;
  background: #222;
  /*line-height: 50px;*/
  text-indent: 10px;
}

#list .new input {
  font-family: 'Lucida Sans Unicode', 'Lucida Grande', sans-serif;
  font-size: 14px;
  color: #FFF;
  text-align: justify;
  line-height: normal;
  outline: 0;
  border: 0;
  border-radius: 0px;
 /* font-smoothing: antialiased; */
}


#list .new #newtask::-webkit-input-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
#list .new button {
  cursor: pointer;
  float: right;
  width: 80px;
  height: 50px;
  padding: 0;
  outline: 0;
  border: 0;
  border-radius: 0px;
  margin: -9px 0 0 -2px;
  background: #111111;
  font-size: 24px;
  color: #FFF;
}
#list .list .item {
  clear: both;
  height: 38px;
 margin: 0;
  
}
#list .list .item span {
  cursor: default;
  float: left;
  width: calc(100% - 80px);
  height: 20px;
  padding: 5px 0 0 0;
  margin: 0 0 0 0;
  outline: 0;
  border: 0;
  background: transparent;
  text-indent: 10px;
  font-family: 'Lucida Sans Unicode', 'Lucida Grande', sans-serif;
  font-size: 14px;
  color: #FFF;
  text-align: justify;
  line-height: 1.9;
  
}
#list .list .item span .checked {
  opacity: .5;
  text-decoration: line-through;
}
#list .list .item .rightblock {
  float: right;
  width: 80px;
  height: 38px;
  padding: 0;
  margin: 0;
  
}
#list .list .item .rightblock button {
 cursor: pointer;
  float: left;
  width: 38px;
  height: 38px;
  padding: 0px;
  margin: 0;
  outline: 0;
  border: 0;
  border-radius: 0px;
  background: rgba(0,0,0,0.1);
  font-size: 20px;
  color: #FFF;  
}

</style>
 
<script type="text/javascript">
function btnRunClicked() {
     var newtask=$('#newtask').val();
     if (newtask) {
           $.get( "/objects/", { script:"todo_new", task:newtask } );
             setTimeout(function() { location.reload() }, 1000);
           return false;
     } 
} 

function checkClicked(ctask) {
     if (ctask) {
           $.get( "/objects/", { script:"todo_check", task:ctask } );
             setTimeout(function() { location.reload() }, 1000);
           return false;
     } 
} 

function deleteClicked(dtask) {
    if (dtask) {
           $.get( "/objects/", { script:"todo_delete", task:dtask } );
             setTimeout(function() { location.reload()  }, 1000);
           return false;
     } 
}
 
</script>

%TodoList.StreamingCode1%

Re: Виджет to do (дела, задачи) в меню

Добавлено: Вс ноя 22, 2015 7:55 pm
nick7zmail
Еще бы обновлялся чисто блок, а не вся страница - было бы вообще норм

Re: Виджет to do (дела, задачи) в меню

Добавлено: Вс ноя 22, 2015 8:24 pm
Vovix
nick7zmail писал(а):Еще бы обновлялся чисто блок, а не вся страница - было бы вообще норм
в принципе уже сносно!
но, да, жду помощи от Сергея (или кто сможет помочь)! - http://majordomo.smartliving.ru/forum/v ... 998#p26970


p.s. уточек грохнул! :twisted: