UBOS Community

vova
vova

Posted on • Updated on

Модуль створення вакансій (Recruit)

1.UI частина (створення сторінки Recruit)

Для додавання нової сторінки в середовищі UIEditor, потрібно натиснути на символ "+" в розділі SIDEBAR на проти поля PAGES.
Image description Отже, дана сторінка складається з наступних віджетів:

  • Table, в які відображаємо існуючі вакансії (в таблиці є button, при натисканні на який нас переадресовує на сторінку кандидатів до обраної вакансії)
  • 3 Buttons (Create Job, Update, Delete) При натисканні на кнопку Create Job та Edit Job Info відкриваються модальні вікна, на кнопку видалення здійснюється видалення виділеної в таблиці вакансії. Модальні вікна створення вакансії (Create Job) та оновлення інформації про вакансію (Edit Job Info) містять в собі 5 inputs, 5 select, 2 buttons Image description

2. Вибір компанії

Потрібно створити запит у БД який повертає _id i companyName.
Flow складається з вузлів: http in, 2 function, mongodb in, http response
Image description

  • шукаєм у БД компанії у який поле deleted: false; Image description - вузол mongodb in Image description - повертаєм тільки _id та companyName Image description - id потрібно обгорнути у objectid Image description

3. Відображаємо вакансії для вибору

Потрібно створити API
Image description У віджеті вибору вакансії потрібно добавити у поле Options дані для вибору Image description

4. Створення вакансії

В середовищі Node Red створюємо flow, який cкладатиметься з 5 вузлів: http in, debug, function, mongodb out, http response
Image description Вузол function
Image description Вузол mongodb out (Insert Job):
Image description Для створення компанії, в UI Editori створюємо API call (createJob) в тілі якого передаємо значення з усіх віджетів модального вікна створення вакансії(Create job).
Image description

5. Відображення створених вакансій

Для відображення створених вакансій в таблиці, потрібно створити в середовищі Node Red flow який складається з 5 вузлів:http in, debug, function, mongodb in, http response
Image description function
Image description Вузол mongodb in( Get Job):
Image description В середовищі UI Edtior створюємо в API call, з методом GET який здійснить запуск вище створеного потоку в середовищі Node Red.
Image description Для відображення отриманих вакансій в таблиці в налаштуваннях віджету Table1 в полі Default Data ми вписуємо в фігурних дужках назву API call, та властивість data.
Image description Для створення кнопки в таблиці потрібно в налаштування віджету Table1 натиснути на кнопку “Add a new column” та в налаштуваннях вибрати у полі Column Type вибрати Button

6. Редагування створених вакансій

Для редагування створеної вакансії, спочатку потрібно відобразити інформацію про створену вакансію у віджетах модального вікна (Edit Job info), для цього потрібно в налаштуваннях кожного віджету в поле default text або default options передати відповідну властивість виділеного в таблиці об'єкта:
Image description Для оновлення виділеного в таблиці об'єкта (вакансії) потрібно створити потік (flow) в середовищі Node Red, який складається з наступних вузлів: http in, debug, function (схожий як і для оновлення компаній), http response, mongodb out
Image description function Image description Створюємо в середовищі UI Editor API call, METHOD: PUT, в тілі запиту передаємо значення з віджетів модального вікна (ModalEditJob), та поле “_id” виділеної в таблиці вакансії.
Image description Модальні вікна: дії на кнопки Create та Update
При кліку на вказані кнопки ми повинні виконати 3 дії:
1) Здійснити API call (createJob або updateJob);
2) Здійснити API call (getJobs);
3) Закрити Модальне вікно
Отже в налаштування віджету button ми пишемо:
Image description

7. Видалення створених вакансій

Для видалення виділеної в таблиці вакансії створюємо flow(потік) в середовищі NodeRed, який складається з наступних вузлів: http in (method :deleted), function, debug, http response, mongodb out
Image description Вузол function (query):
Image descriptionImage descriptionВузол mongodb out:
Image description Тобто даний потік, буде здійснювати не безпосереднє видалення об'єкта з бази даних, а оновлюватиме його властивість “deleted”.
В середовищі UI Editor створюємо API Call, method Delete, в тілі якого передаємо лише поле "_id" яке виступає унікальним ідентифікатором обєкта який видаляємо.
Image description На кнопку Delete здійснюємо дві дії:

  1. виклик API call (deleteJob)
  2. виклик API call (getJobs) Image description

Discussion (0)