0.0.4 • Published 3 years ago

ui-organizer-monaco v0.0.4

Weekly downloads
-
License
-
Repository
-
Last release
3 years ago

Установка

Установите node.js. Скачать можно здесь https://nodejs.org/ru/download/.

Создайте папку my-project, перейдите в нее и инициализируйте проект:

cd my-project
npm init

Установите необходимые библиотеки:

npm install ui-organizer 
npm install --save-dev typescript @types/node 

Настройка typescript

Для настройки компилятора typescript в папке my-project создайте файл tsconfig.json и добавьте в него скрипт:

{
  "compilerOptions": {
    "module": "commonjs",
    "target": "es2020",
    "lib": [
      "es6",
      "dom",
      "dom.iterable",
      "scripthost"
    ],
    "isolatedModules": true,
    "sourceMap": true,
  },
  "exclude": [
    "node_modules"
  ]
}

Настройка webpack

Для создания файлов javascript, которые будут работать в браузере используйте любую библиотеку, например webpack. Сначала установите ее:

npm install webpack webpack-cli ts-loader file-loader extract-loader css-loader --save-dev

Создайте файл webpack.config.js и добавьте в него скрипт:

const path = require('path');

module.exports = {
  mode: 'development',
  entry: './simple.ts',
  output: {
    filename: 'index.js',
    path: path.resolve(__dirname, `./`)
  },
  module: {
    rules: [
      {
        test: /\.ts?$/,
        use: 'ts-loader'
      },
      {
        test: /\.css$/,
        use: [
          {
            loader: "file-loader",
            options: {
              name: "[name].[ext]"
            }
          },
          "extract-loader",
          {
            loader: "css-loader",
            options: {
              import: true,
            },
          }
        ]
      },
    ],
  },
  resolve: {
    extensions: ['.ts', '.js'],
  }
};

Здесь webpack находит файлы с расширением ts и использует загрузчик ts-loader для компиляции скриптов typescript в javascript.

Также webpack ищет файлы с расширеним css и использует загрузчики по порядку css-loader, extract-loader, file-loader. Это необходимо для загрузки таблиц стилей, которые поставляются с библиотекой ui-organizer.

Создание приложения

В папке my-project создайте файл simple.ts и добавьте программный код:

/*Инструкции для WebPack*/
require('ui-organizer/page.css');
require('ui-organizer/style.css');

/*Описание формы simpleForm*/
import type {IForm, IButton, IProperty} from "ui-organizer";
import { AppManager, Grouping, Flex, Input, Position, AlignSelf} from "ui-organizer";

export var form: IForm = <IForm>{
    type: 'IForm',
    name: 'simpleForm',
    caption: 'Приложение',
    flex: Flex.flexible,
    grouping: Grouping.vertical,
	  alignSelf: AlignSelf.topCenter,
    elements: [
        <IProperty>{
            type: 'IProperty',
            name: 'email',
            caption: 'Логин',
            input: Input.text,
            captionPosition: Position.none, //не отображать заголовок
            placeholder: 'Логин',
        },
        <IProperty>{
            type: 'IProperty',
            name: 'password',
            caption: 'Пароль',
            input: Input.password,
            captionPosition: Position.none, //не отображать заголовок
            placeholder: 'Пароль',
        },
        <IButton>{
            type: 'IButton',
            name: 'sendData',
            caption: 'Отправить',
            onClick: async function () {
                alert("Data sent!");
                return true;
            }
        },
    ]
}

/*Инициализация приложения AppManager*/
var Global: any = window;
Global.AppManager = AppManager;
Global.onpopstate = AppManager.onPopState;

AppManager.parent = document.querySelector('#app');
AppManager.add([form]);
AppManager.open('simpleForm', {}, undefined);

На форму добавлено два свойства: объекты typescript, которые реализуют интерфейс IProperty, и кнопка: объект typescript, который реализует интерфейс IButton. Ну, и сама форма: объект, который реализует интерфейс IForm.

Обратите внимание, что можно использовать файлы .css с настроенными стилями, которые поставляются с библиотекой. Для этого в начале файла указаны инструкции для пакета WebPack, где взять файлы с таблицами стилей. Файл page.css содержит описание компоновки элементов управления (этот файл нельзя изменять). Файл style.css содержит описание оформления, так называемую "тему" (этот файл может быть заменен любой другой темой).

В папке my-project создайте файл index.html и добавьте программный код:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>ui-organizer simple form</title>
    <link rel="stylesheet" href="page.css">
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <div id="app">
    </div>
    <script type="text/javascript" src="index.js"></script>
</body>
</html>

Компиляция и запуск

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

npx webpack

Пакет webpack скомпилирует ваш simple.ts в index.js. И скопирует файлы page.css и style.css из библиотеки ui-organizer.

Запустите index.html.

0.0.4

3 years ago

0.0.3

3 years ago

0.0.2

3 years ago

0.0.1

3 years ago