Skip to content

leossnet/bizcalc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Деловой калькулятор BizCalc

Деловой калькулятор BizCalc представляет собой электронную таблицу, поддерживающая операции сложения (+), вычитания (-), умножения (*), деления (/) и возведения в степень (^), круглые скобки и унарный минус, а также различные функции, аргументы которых разделяются знаком двоеточия.

Определение формулы начинается со знака равно (=). Ссылки на ячейки оформляются в виде [Код_колонки][Код_строки], например A1.

Для начала настроены следующие функции:

  • random () - получение случайного числа от 0 до 1;
  • round (аргумент1; аргумент2) - округление значения аргумента1 на количестов цифр аргумента2, до которого нужно округлить число; по умолчанию аргумент2 равен 0, при котором округление производится до целого числа; при положительных значениях аргумента2 округляется дробная часть числа, при отрицательных - целая часть числа;
  • sum (аргумент1; аргумент2; ...) - сумма значений аргументов;
  • min (аргумент1; аргумент2; ...) - минимальное значение из всех значений аргументов;
  • max (аргумент1; аргумент2; ...) - максимальное значение из всех значений аргументов;
  • if (условие; выражение_если_условие_истинно[; выражение_если_условие_ложно]) - проверка на условие с вычислением и возвратом значения первого выражения при истинности условия и второго - при его ложности; второе выражение опционально, при его отсутствие функция возвращает 0.

В папке /demo доступны пользовательские файлы, которые можно скачать на диск, затем открыть в приложении, отредактировать их, после чего сохранить сделанные изменения, перезаписав существующий локальный файл или создав новый.

В деловом кальуляторе BizCalc реализована поддержка локальной базы данных IndexdedDB, которая сохраняет значения ячеек таблицы как при обновлении страницы по F5, так и при перезапуске браузера и перезагрузке операционной системы. Причем данные сохраняются даже без открытия файла. Очистка IndexdedDB производится либо при закрытии текущего файла, либо перед открытием нового файла. После загрузки нового файла его данные загружаются в IndexdedDB, после чего с ними можно спокойно работать, не опасаясь отключения электроэнергии.

Для работы с файлами используются следующие сочетания клавиш:

  • Ctrl+S - сохранение текущей таблицы в JSON-файл;
  • Ctrl+O - загрузка JSON-файла в текущую таблицу;
  • Ctrl+Q - закрытие файла и очистка текущей таблицы.

В калькуляторе можно отменить последние изменения ячеек нажатием клавиш Ctrl+Z. Важно помнить, что при обновлении документа по F5 история последних изменений ячеек сбрасывается.

Для перехода в режим редактирования ячейки, на которой расположен курсор таблицы, непосредственно в самой ячейке нужно нажать F2, а для редактирования в строке формул - нажать F4.

Исходный код калькулятора написан в следующем стиле:

  1. Весь функцонал приложения оформлен в виде классов, включая веб-компоненты, созданные путем расширения класса HTMLElement или его потомков.
  2. Проект содержит только файлы *.js и *.css, а также единственный файл index.html, в котором устанавливаются глобальные параметры приложения и который используется в качестве точки входа в приложение.
  3. Код приложения написан в соответствии со стандартом ES-2015 без использования сторонних библиотек.
  4. Все вычисления выполняются на стороне клиента.