mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-18 20:47:54 +00:00
Merge develop to calendar
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Generated
+4
-4
@@ -31,15 +31,15 @@
|
||||
<exclude-output />
|
||||
<content url="file://$MODULE_DIR$/../../../app">
|
||||
<sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/aidl_source_output_dir/debug/out" isTestSource="false" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/ap_generated_sources/debug/out" isTestSource="false" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/renderscript_source_output_dir/debug/out" isTestSource="false" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/ap_generated_sources/debug/out" isTestSource="false" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/aidl_source_output_dir/debug/out" isTestSource="false" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/res/google-services/debug" type="java-resource" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/res/rs/debug" type="java-resource" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/ap_generated_sources/debugAndroidTest/out" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/source/buildConfig/androidTest/debug" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/aidl_source_output_dir/debugAndroidTest/out" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/renderscript_source_output_dir/debugAndroidTest/out" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/aidl_source_output_dir/debugAndroidTest/out" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/source/buildConfig/androidTest/debug" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/res/rs/androidTest/debug" type="java-test-resource" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/ap_generated_sources/debugUnitTest/out" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/../../../app/src/debug/res" type="java-resource" />
|
||||
|
||||
Generated
+2
-2
@@ -37,9 +37,9 @@
|
||||
<sourceFolder url="file://$MODULE_DIR$/../../../capacitor-cordova-android-plugins/build/generated/aidl_source_output_dir/debug/out" isTestSource="false" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/../../../capacitor-cordova-android-plugins/build/generated/res/rs/debug" type="java-resource" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/../../../capacitor-cordova-android-plugins/build/generated/aidl_source_output_dir/debugAndroidTest/out" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/../../../capacitor-cordova-android-plugins/build/generated/ap_generated_sources/debugAndroidTest/out" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/../../../capacitor-cordova-android-plugins/build/generated/renderscript_source_output_dir/debugAndroidTest/out" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/../../../capacitor-cordova-android-plugins/build/generated/source/buildConfig/androidTest/debug" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/../../../capacitor-cordova-android-plugins/build/generated/renderscript_source_output_dir/debugAndroidTest/out" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/../../../capacitor-cordova-android-plugins/build/generated/ap_generated_sources/debugAndroidTest/out" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/../../../capacitor-cordova-android-plugins/build/generated/res/rs/androidTest/debug" type="java-test-resource" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/../../../capacitor-cordova-android-plugins/build/generated/ap_generated_sources/debugUnitTest/out" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/../../../capacitor-cordova-android-plugins/src/debug/res" type="java-resource" />
|
||||
|
||||
File diff suppressed because one or more lines are too long
+1
-1
@@ -1,4 +1,4 @@
|
||||
#Wed Jan 27 15:04:01 WAT 2021
|
||||
#Wed Jan 27 16:51:16 WAT 2021
|
||||
path.3=classes_1.dex
|
||||
path.2=classes_0.dex
|
||||
path.1=classes.dex
|
||||
|
||||
@@ -639,7 +639,7 @@ const environment = {
|
||||
apiChatUrl: 'https://www.tabularium.pt/api/v1/',
|
||||
/* apiChatUrl: 'http://chat.gabinetedigital.local:3000/api/v1/', */
|
||||
domain: 'gabinetedigital.local',
|
||||
defaultuser: 'tiago.kayaya',
|
||||
defaultuser: 'paulo.pinto',
|
||||
defaultuserpwd: 'tabteste@006'
|
||||
};
|
||||
/*
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -782,7 +782,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
|
||||
|
||||
/* apiChatUrl: 'http://chat.gabinetedigital.local:3000/api/v1/', */
|
||||
domain: 'gabinetedigital.local',
|
||||
defaultuser: 'tiago.kayaya',
|
||||
defaultuser: 'paulo.pinto',
|
||||
defaultuserpwd: 'tabteste@006'
|
||||
};
|
||||
/*
|
||||
|
||||
File diff suppressed because one or more lines are too long
+43
-22
@@ -9,7 +9,7 @@
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony default export */ __webpack_exports__["default"] = ("<ion-header>\r\n <app-header></app-header>\r\n</ion-header>\r\n<ion-header class=\"ion-no-border\">\r\n <ion-toolbar class=\"bg-blue\">\r\n <div class=\"main-header\">\r\n <div class=\"title-content\">\r\n <div class=\"div-title\">\r\n <ion-label class=\"title\">Chat</ion-label>\r\n </div>\r\n <div class=\"div-icon\">\r\n <ion-icon slot=\"end\" (click)=\"newGroup()\" src=\"assets/images/icons-chat-new-group.svg\" ></ion-icon>\r\n <ion-icon slot=\"end\" (click)=\"selectContact()\" src=\"assets/images/icons-chat-new-conversation.svg\"></ion-icon>\r\n </div>\r\n </div>\r\n </div>\r\n </ion-toolbar>\r\n</ion-header>\r\n\r\n<ion-content>\r\n <div class=\"main-content\">\r\n <ion-toolbar >\r\n <ion-segment [(ngModel)]=\"segment\" (ionChange)=\"onSegmentChange()\">\r\n <ion-segment-button value=\"Contactos\">\r\n Conversas\r\n </ion-segment-button>\r\n <ion-segment-button value=\"Grupos\">\r\n Grupos\r\n </ion-segment-button>\r\n </ion-segment>\r\n </ion-toolbar>\r\n <ion-refresher name=\"refresher\" slot=\"fixed\" (ionRefresh)=\"doRefresh($event)\">\r\n <ion-progress-bar type=\"indeterminate\" *ngIf=\"showLoader\"></ion-progress-bar>\r\n </ion-refresher>\r\n <div [ngSwitch]=\"segment\">\r\n <ion-list *ngSwitchCase=\"'Contactos'\">\r\n <ion-item-group>\r\n <ion-item-sliding>\r\n <div *ngFor=\"let dm of userDirectMessages\" class=\"item\">\r\n <div class=\"item-icon\">\r\n <ion-icon class=\"icon\" slot=\"start\" src=\"assets/images/icons-chat-chat-40.svg\"></ion-icon>\r\n </div>\r\n <div (click)=\"openMessages(dm)\" class=\"item-content\">\r\n <div class=\"item-title-time\">\r\n <div class=\"item-title\">\r\n <ion-label *ngFor=\"let user of dm.usernames\">\r\n <span *ngIf=\"user !=loggedUser.me.username\">\r\n {{user}}\r\n </span>\r\n </ion-label>\r\n </div>\r\n <div class=\"item-date\">{{dm._updatedAt | date: 'HH:mm'}}</div>\r\n </div>\r\n <div class=\"item-description\">\r\n <ion-label *ngIf=\"dm.lastMessage\">{{dm.lastMessage.msg}}</ion-label>\r\n </div>\r\n </div>\r\n </div>\r\n </ion-item-sliding>\r\n </ion-item-group>\r\n </ion-list>\r\n <ion-list *ngSwitchCase=\"'Grupos'\" >\r\n <ion-item-group>\r\n <ion-item-sliding>\r\n <div *ngFor=\"let group of allGroups\" class=\"item\">\r\n <div class=\"item-icon\">\r\n <ion-icon class=\"icon\" slot=\"start\" src=\"assets/images/icons-chat-group-chat-40.svg\"></ion-icon>\r\n </div>\r\n <div (click)=\"openGroupMessages(group)\" class=\"item-content\">\r\n <div class=\"item-title-time\">\r\n <div class=\"item-title\">\r\n <ion-label>{{group.name.split('-').join(' ')}}</ion-label>\r\n </div>\r\n <div class=\"item-date\" *ngIf=\"group.lastMessage\">{{group.lastMessage._updatedAt | date: 'HH:mm'}}</div>\r\n </div>\r\n <div class=\"item-description\" *ngIf=\"group.lastMessage\">\r\n <ion-label>{{group.lastMessage.u.name}}: {{group.lastMessage.msg}}</ion-label>\r\n </div>\r\n </div>\r\n </div> \r\n </ion-item-sliding>\r\n </ion-item-group>\r\n \r\n </ion-list>\r\n </div>\r\n</div>\r\n</ion-content>\r\n\r\n\r\n");
|
||||
/* harmony default export */ __webpack_exports__["default"] = ("<ion-header>\r\n <app-header></app-header>\r\n</ion-header>\r\n<ion-header class=\"ion-no-border\">\r\n <ion-toolbar class=\"bg-blue\">\r\n <div class=\"main-header\">\r\n <div class=\"title-content\">\r\n <div class=\"div-title\">\r\n <ion-label class=\"title\">Chat</ion-label>\r\n </div>\r\n <div class=\"div-icon\">\r\n <ion-icon slot=\"end\" (click)=\"newGroup()\" src=\"assets/images/icons-chat-new-group.svg\" ></ion-icon>\r\n <ion-icon slot=\"end\" (click)=\"selectContact()\" src=\"assets/images/icons-chat-new-conversation.svg\"></ion-icon>\r\n </div>\r\n </div>\r\n </div>\r\n </ion-toolbar>\r\n</ion-header>\r\n\r\n<ion-content>\r\n <ion-refresher name=\"refresher\" slot=\"fixed\" (ionRefresh)=\"doRefresh($event)\">\r\n <ion-progress-bar type=\"indeterminate\" *ngIf=\"showLoader\"></ion-progress-bar>\r\n <ion-refresher-content>\r\n </ion-refresher-content>\r\n </ion-refresher>\r\n <div class=\"main-content\">\r\n <ion-toolbar >\r\n <ion-segment [(ngModel)]=\"segment\" (ionChange)=\"onSegmentChange()\">\r\n <ion-segment-button value=\"Contactos\">\r\n Conversas\r\n </ion-segment-button>\r\n <ion-segment-button value=\"Grupos\">\r\n Grupos\r\n </ion-segment-button>\r\n </ion-segment>\r\n </ion-toolbar>\r\n <ion-refresher name=\"refresher\" slot=\"fixed\" (ionRefresh)=\"doRefresh($event)\">\r\n <ion-progress-bar type=\"indeterminate\" *ngIf=\"showLoader\"></ion-progress-bar>\r\n </ion-refresher>\r\n <div [ngSwitch]=\"segment\">\r\n <ion-list *ngSwitchCase=\"'Contactos'\">\r\n <ion-item-group>\r\n <ion-item-sliding>\r\n <div *ngFor=\"let dm of userDirectMessages\" class=\"item\">\r\n <div class=\"item-icon\">\r\n <ion-icon class=\"icon\" slot=\"start\" src=\"assets/images/icons-chat-chat-40.svg\"></ion-icon>\r\n </div>\r\n <div (click)=\"openMessages(dm)\" class=\"item-content\">\r\n <div class=\"item-title-time\">\r\n <div class=\"item-title\">\r\n <ion-label *ngFor=\"let user of dm.usernames\">\r\n <span *ngIf=\"user !=loggedUser.me.username\">\r\n {{user}}\r\n </span>\r\n </ion-label>\r\n </div>\r\n <div class=\"item-date\">{{dm._updatedAt | date: 'HH:mm'}}</div>\r\n </div>\r\n <div class=\"item-description\">\r\n <ion-label *ngIf=\"dm.lastMessage\">{{dm.lastMessage.msg}}</ion-label>\r\n </div>\r\n </div>\r\n </div>\r\n </ion-item-sliding>\r\n </ion-item-group>\r\n </ion-list>\r\n <ion-list *ngSwitchCase=\"'Grupos'\" >\r\n <ion-item-group>\r\n <ion-item-sliding>\r\n <div *ngFor=\"let group of allGroups\" class=\"item\">\r\n <div class=\"item-icon\">\r\n <ion-icon class=\"icon\" slot=\"start\" src=\"assets/images/icons-chat-group-chat-40.svg\"></ion-icon>\r\n </div>\r\n <div (click)=\"openGroupMessages(group)\" class=\"item-content\">\r\n <div class=\"item-title-time\">\r\n <div class=\"item-title\">\r\n <ion-label>{{group.name.split('-').join(' ')}}</ion-label>\r\n </div>\r\n <div class=\"item-date\" *ngIf=\"group.lastMessage\">{{group.lastMessage._updatedAt | date: 'HH:mm'}}</div>\r\n </div>\r\n <div class=\"item-description\" *ngIf=\"group.lastMessage\">\r\n <ion-label>{{group.lastMessage.u.name}}: {{group.lastMessage.msg}}</ion-label>\r\n </div>\r\n </div>\r\n </div> \r\n </ion-item-sliding>\r\n </ion-item-group>\r\n \r\n </ion-list>\r\n </div>\r\n</div>\r\n</ion-content>\r\n\r\n\r\n");
|
||||
|
||||
/***/ }),
|
||||
|
||||
@@ -48,7 +48,7 @@ __webpack_require__.r(__webpack_exports__);
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony default export */ __webpack_exports__["default"] = ("<ion-header class=\"ion-no-border\">\r\n <ion-toolbar class=\"header-toolbar\">\r\n <div class=\"main-header\">\r\n <div class=\"header-top\">\r\n <app-btn-modal-dismiss></app-btn-modal-dismiss>\r\n <div class=\"middle\">\r\n <ion-label class=\"title\">{{roomName}}</ion-label>\r\n </div>\r\n <div class=\"right\">\r\n <ion-icon (click)=\"openOptions()\" src=\"assets/images/icons-menu.svg\"></ion-icon>\r\n </div> \r\n </div>\r\n <div (click)=\"addContacts()\" class=\"header-bottom\">\r\n <div class=\"header-bottom-icon\">\r\n <ion-icon src=\"assets/icon/icons-user.svg\"></ion-icon>\r\n </div>\r\n <div class=\"header-bottom-contacts\">\r\n <ion-label *ngFor=\"let member of members\" >\r\n {{member.name}},\r\n </ion-label>\r\n </div>\r\n </div>\r\n </div>\r\n </ion-toolbar>\r\n</ion-header>\r\n\r\n\r\n<ion-content>\r\n <div class=\"welcome-text\">\r\n <ion-label>Esta conversa passou a grupo</ion-label><br />\r\n <ion-label>A conversa original mantêm-se como chat individual</ion-label>\r\n </div>\r\n <div *ngFor=\"let msg of messages\" class=\"messages\">\r\n <div *ngIf=\"msg.t != 'r'\" class='incoming-{{msg.u.username!=loggedUser.me.username}}'>\r\n <div class=\"title\">\r\n <ion-label>{{msg.u.username}}</ion-label>\r\n <span class=\"time\">{{msg._updatedAt | date: 'HH:mm' }}</span>\r\n </div>\r\n <div>\r\n <ion-label>{{msg.msg}}</ion-label>\r\n </div>\r\n </div>\r\n <div *ngIf=\"msg.t == 'r'\" class=\"info-text\">\r\n <ion-label>Alterou o assunto de para \"{{msg.msg.split('-').join(' ')}}\"</ion-label><br />\r\n </div>\r\n </div>\r\n\r\n</ion-content>\r\n<ion-footer>\r\n <ion-toolbar>\r\n <ion-row align-items-center class=\"row\">\r\n <ion-col size=\"1\">\r\n <ion-label class=\"ion-no-padding\" lines=\"none\">\r\n <ion-icon (click)=\"openChatOptions()\" class=\"chat-icon-options\" src=\"assets/icon/icons-chat-options.svg\"></ion-icon>\r\n </ion-label>\r\n </ion-col>\r\n <ion-col size=\"9\">\r\n <ion-item class=\"ion-no-padding type-message\" lines=\"none\">\r\n <ion-textarea placeholder=\"Escrever uma mensagem\" auto-grow class=\"message-input\" rows=\"1\" [(ngModel)]=\"message\"></ion-textarea>\r\n <ion-icon slot=\"end\" src=\"assets/icon/icons-chat-mic.svg\"></ion-icon>\r\n </ion-item>\r\n </ion-col>\r\n <ion-col size=\"2\">\r\n <!-- [disabled]=\"message === ''\" -->\r\n <ion-label>\r\n <ion-icon (click)=\"sendMessage()\" class=\"chat-icon-send\" src=\"assets/icon/icons-chat-send.svg\"></ion-icon>\r\n </ion-label>\r\n </ion-col>\r\n </ion-row>\r\n </ion-toolbar>\r\n</ion-footer>\r\n");
|
||||
/* harmony default export */ __webpack_exports__["default"] = ("<ion-header class=\"ion-no-border\">\r\n <ion-toolbar class=\"header-toolbar\">\r\n <div class=\"main-header\">\r\n <div class=\"header-top\">\r\n <app-btn-modal-dismiss></app-btn-modal-dismiss>\r\n <div class=\"middle\">\r\n <ion-label class=\"title\">{{roomName}}</ion-label>\r\n </div>\r\n <div class=\"right\">\r\n <ion-icon (click)=\"openOptions()\" src=\"assets/images/icons-menu.svg\"></ion-icon>\r\n </div> \r\n </div>\r\n <div (click)=\"addContacts()\" class=\"header-bottom\">\r\n <div class=\"header-bottom-icon\">\r\n <ion-icon src=\"assets/icon/icons-user.svg\"></ion-icon>\r\n </div>\r\n <div class=\"header-bottom-contacts\">\r\n <ion-label *ngFor=\"let member of members\" >\r\n {{member.name}},\r\n </ion-label>\r\n </div>\r\n </div>\r\n </div>\r\n </ion-toolbar>\r\n</ion-header>\r\n\r\n\r\n<ion-content>\r\n <ion-refresher name=\"refresher\" slot=\"fixed\" (ionRefresh)=\"doRefresh($event)\">\r\n <ion-progress-bar type=\"indeterminate\" *ngIf=\"showLoader\"></ion-progress-bar>\r\n <ion-refresher-content>\r\n </ion-refresher-content>\r\n </ion-refresher>\r\n <div class=\"welcome-text\">\r\n <ion-label>Esta conversa passou a grupo</ion-label><br />\r\n <ion-label>A conversa original mantêm-se como chat individual</ion-label>\r\n </div>\r\n <div *ngFor=\"let msg of messages\" class=\"messages\">\r\n <div *ngIf=\"msg.t != 'r'\" class='incoming-{{msg.u.username!=loggedUser.me.username}}'>\r\n <div class=\"title\">\r\n <ion-label>{{msg.u.name}}</ion-label>\r\n <span class=\"time\">{{msg._updatedAt | date: 'HH:mm' }}</span>\r\n </div>\r\n <div>\r\n <ion-label>{{msg.msg}}</ion-label>\r\n </div>\r\n </div>\r\n <div *ngIf=\"msg.t == 'r'\" class=\"info-text\">\r\n <ion-label>Alterou o assunto de para \"{{msg.msg.split('-').join(' ')}}\"</ion-label><br />\r\n </div>\r\n </div>\r\n\r\n</ion-content>\r\n<ion-footer>\r\n <ion-toolbar>\r\n <ion-row align-items-center class=\"row\">\r\n <ion-col size=\"1\">\r\n <ion-label class=\"ion-no-padding\" lines=\"none\">\r\n <ion-icon (click)=\"openChatOptions()\" class=\"chat-icon-options\" src=\"assets/icon/icons-chat-options.svg\"></ion-icon>\r\n </ion-label>\r\n </ion-col>\r\n <ion-col size=\"9\">\r\n <ion-item class=\"ion-no-padding type-message\" lines=\"none\">\r\n <ion-textarea placeholder=\"Escrever uma mensagem\" auto-grow class=\"message-input\" rows=\"1\" [(ngModel)]=\"message\"></ion-textarea>\r\n <ion-icon slot=\"end\" src=\"assets/icon/icons-chat-mic.svg\"></ion-icon>\r\n </ion-item>\r\n </ion-col>\r\n <ion-col size=\"2\">\r\n <!-- [disabled]=\"message === ''\" -->\r\n <ion-label>\r\n <ion-icon (click)=\"sendMessage()\" class=\"chat-icon-send\" src=\"assets/icon/icons-chat-send.svg\"></ion-icon>\r\n </ion-label>\r\n </ion-col>\r\n </ion-row>\r\n </ion-toolbar>\r\n</ion-footer>\r\n");
|
||||
|
||||
/***/ }),
|
||||
|
||||
@@ -74,7 +74,7 @@ __webpack_require__.r(__webpack_exports__);
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony default export */ __webpack_exports__["default"] = ("<ion-header class=\"ion-no-border\">\r\n <ion-toolbar class=\"header-toolbar\">\r\n <div class=\"main-header\">\r\n <div class=\"header-top\">\r\n <app-btn-modal-dismiss></app-btn-modal-dismiss>\r\n <div class=\"middle\" *ngFor=\"let users of dmUsers\">\r\n <ion-label class=\"title\">{{users.name}}</ion-label>\r\n <span><ion-icon class=\"{{users.status}}\" name=\"ellipse\"></ion-icon></span>\r\n </div>\r\n <div class=\"right\">\r\n <ion-icon (click)=\"openMessagesOptions()\" src=\"assets/images/icons-menu.svg\"></ion-icon>\r\n </div> \r\n </div>\r\n <div class=\"header-bottom\" (click)=\"addContacts()\">\r\n <div class=\"header-bottom-icon\">\r\n <ion-icon src=\"assets/icon/icons-user.svg\"></ion-icon>\r\n </div>\r\n <div class=\"header-bottom-contacts\">\r\n <ion-label class=\"text-color-blue\">Adicionar contacto</ion-label>\r\n </div>\r\n </div>\r\n </div>\r\n </ion-toolbar>\r\n</ion-header>\r\n\r\n<ion-content>\r\n <div class=\"messages\" #scrollMe>\r\n <!-- <ion-infinite-scroll position=\"top\" threshold=\"25%\" (ionInfinite)=\"loadMoreMessages($event)\">\r\n <ion-infinite-scroll-content loadindSpiniter=\"crescent\" loadingText=\"Carregando...\">\r\n\r\n </ion-infinite-scroll-content>\r\n </ion-infinite-scroll> -->\r\n <!-- <div class=\"incoming\">\r\n <div class=\"title\">\r\n <ion-label>Secretário Assuntos sociais</ion-label>\r\n <span class=\"time\">14:23</span>\r\n </div>\r\n <div>\r\n <img src='assets/images/1.jpg' tappable>\r\n <ion-label hidden >Investidura Filipe Nyusi</ion-label>\r\n </div>\r\n </div> -->\r\n <div *ngFor=\"let msg of messages\" class='incoming-{{msg.u.username!=loggedUser.me.username}}'>\r\n <div class=\"title\">\r\n <ion-label>{{msg.u.name}}</ion-label>\r\n <span class=\"time\">{{msg._updatedAt | date: 'HH:mm' }}</span>\r\n </div>\r\n <div>\r\n <ion-label>{{msg.msg}}</ion-label>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n</ion-content>\r\n<ion-footer>\r\n <ion-toolbar>\r\n <ion-row align-items-center class=\"row\">\r\n <ion-col size=\"1\">\r\n <ion-label class=\"ion-no-padding\" lines=\"none\">\r\n <ion-icon (click)=\"openChatOptions()\" class=\"chat-icon-options\" src=\"assets/icon/icons-chat-options.svg\"></ion-icon>\r\n </ion-label>\r\n </ion-col>\r\n <ion-col size=\"9\">\r\n <ion-item class=\"ion-no-padding type-message\" lines=\"none\">\r\n <ion-textarea clearOnEdit=\"true\" placeholder=\"Escrever uma mensagem\" auto-grow class=\"message-input\" rows=\"1\" [(ngModel)]=\"message\"></ion-textarea>\r\n <ion-icon slot=\"end\" src=\"assets/icon/icons-chat-mic.svg\"></ion-icon>\r\n </ion-item>\r\n </ion-col>\r\n <ion-col size=\"2\">\r\n <!-- [disabled]=\"message === ''\" -->\r\n <ion-label>\r\n <ion-icon (click)=\"sendMessage()\" class=\"chat-icon-send\" src=\"assets/icon/icons-chat-send.svg\"></ion-icon>\r\n </ion-label>\r\n </ion-col>\r\n </ion-row>\r\n </ion-toolbar>\r\n</ion-footer>\r\n");
|
||||
/* harmony default export */ __webpack_exports__["default"] = ("<ion-header class=\"ion-no-border\">\r\n <ion-toolbar class=\"header-toolbar\">\r\n <div class=\"main-header\">\r\n <div class=\"header-top\">\r\n <app-btn-modal-dismiss></app-btn-modal-dismiss>\r\n <div class=\"middle\" *ngFor=\"let users of dmUsers\">\r\n <ion-label class=\"title\">{{users.name}}</ion-label>\r\n <span><ion-icon class=\"{{users.status}}\" name=\"ellipse\"></ion-icon></span>\r\n </div>\r\n <div class=\"right\">\r\n <ion-icon (click)=\"openMessagesOptions()\" src=\"assets/images/icons-menu.svg\"></ion-icon>\r\n </div> \r\n </div>\r\n <div class=\"header-bottom\" (click)=\"addContacts()\">\r\n <div class=\"header-bottom-icon\">\r\n <ion-icon src=\"assets/icon/icons-user.svg\"></ion-icon>\r\n </div>\r\n <div class=\"header-bottom-contacts\">\r\n <ion-label class=\"text-color-blue\">Adicionar contacto</ion-label>\r\n </div>\r\n </div>\r\n </div>\r\n </ion-toolbar>\r\n</ion-header>\r\n\r\n<ion-content>\r\n <ion-refresher name=\"refresher\" slot=\"fixed\" (ionRefresh)=\"doRefresh($event)\">\r\n <ion-progress-bar type=\"indeterminate\" *ngIf=\"showLoader\"></ion-progress-bar>\r\n <ion-refresher-content>\r\n </ion-refresher-content>\r\n </ion-refresher>\r\n <div class=\"messages\" #scrollMe>\r\n <!-- <ion-infinite-scroll position=\"top\" threshold=\"25%\" (ionInfinite)=\"loadMoreMessages($event)\">\r\n <ion-infinite-scroll-content loadindSpiniter=\"crescent\" loadingText=\"Carregando...\">\r\n\r\n </ion-infinite-scroll-content>\r\n </ion-infinite-scroll> -->\r\n <!-- <div class=\"incoming\">\r\n <div class=\"title\">\r\n <ion-label>Secretário Assuntos sociais</ion-label>\r\n <span class=\"time\">14:23</span>\r\n </div>\r\n <div>\r\n <img src='assets/images/1.jpg' tappable>\r\n <ion-label hidden >Investidura Filipe Nyusi</ion-label>\r\n </div>\r\n </div> -->\r\n <div *ngFor=\"let msg of messages\" class='incoming-{{msg.u.username!=loggedUser.me.username}}'>\r\n <div class=\"title\">\r\n <ion-label>{{msg.u.name}}</ion-label>\r\n <span class=\"time\">{{msg._updatedAt | date: 'HH:mm' }}</span>\r\n </div>\r\n <div>\r\n <ion-label>{{msg.msg}}</ion-label>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n</ion-content>\r\n<ion-footer>\r\n <ion-toolbar>\r\n <ion-row align-items-center class=\"row\">\r\n <ion-col size=\"1\">\r\n <ion-label class=\"ion-no-padding\" lines=\"none\">\r\n <ion-icon (click)=\"openChatOptions()\" class=\"chat-icon-options\" src=\"assets/icon/icons-chat-options.svg\"></ion-icon>\r\n </ion-label>\r\n </ion-col>\r\n <ion-col size=\"9\">\r\n <ion-item class=\"ion-no-padding type-message\" lines=\"none\">\r\n <ion-textarea clearOnEdit=\"true\" placeholder=\"Escrever uma mensagem\" auto-grow class=\"message-input\" rows=\"1\" [(ngModel)]=\"message\"></ion-textarea>\r\n <ion-icon slot=\"end\" src=\"assets/icon/icons-chat-mic.svg\"></ion-icon>\r\n </ion-item>\r\n </ion-col>\r\n <ion-col size=\"2\">\r\n <!-- [disabled]=\"message === ''\" -->\r\n <ion-label>\r\n <ion-icon (click)=\"sendMessage()\" class=\"chat-icon-send\" src=\"assets/icon/icons-chat-send.svg\"></ion-icon>\r\n </ion-label>\r\n </ion-col>\r\n </ion-row>\r\n </ion-toolbar>\r\n</ion-footer>\r\n");
|
||||
|
||||
/***/ }),
|
||||
|
||||
@@ -311,17 +311,24 @@ let ChatPage = class ChatPage {
|
||||
this.loggedUser = res;
|
||||
console.log(this.loggedUser);
|
||||
});
|
||||
this.doRefresh();
|
||||
this.load();
|
||||
}
|
||||
onSegmentChange() {
|
||||
this.doRefresh();
|
||||
this.load();
|
||||
}
|
||||
doRefresh() {
|
||||
/* setInterval(()=>{ */
|
||||
doRefresh(ev) {
|
||||
this.load();
|
||||
ev.target.complete();
|
||||
}
|
||||
load() {
|
||||
switch (this.segment) {
|
||||
case "Contactos":
|
||||
this.getDirectMessages();
|
||||
break;
|
||||
case "Grupos":
|
||||
this.getGroups();
|
||||
/* this.customRoom(); */
|
||||
/* }, 2000); */
|
||||
break;
|
||||
}
|
||||
}
|
||||
customRoom() {
|
||||
let params = new _angular_common_http__WEBPACK_IMPORTED_MODULE_1__["HttpParams"]();
|
||||
@@ -337,10 +344,10 @@ let ChatPage = class ChatPage {
|
||||
this.userDirectMessages = res.ims.sort((a, b) => {
|
||||
var dateA = new Date(a._updatedAt).getTime();
|
||||
var dateB = new Date(b._updatedAt).getTime();
|
||||
this.showLoader = false;
|
||||
return dateB - dateA;
|
||||
});
|
||||
console.log(this.userDirectMessages);
|
||||
this.showLoader = false;
|
||||
});
|
||||
}
|
||||
getChatMembers() {
|
||||
@@ -358,10 +365,10 @@ let ChatPage = class ChatPage {
|
||||
this.allGroups = all.sort((a, b) => {
|
||||
var dateA = new Date(a._updatedAt).getTime();
|
||||
var dateB = new Date(b._updatedAt).getTime();
|
||||
this.showLoader = false;
|
||||
return dateB - dateA;
|
||||
});
|
||||
console.log(this.allGroups);
|
||||
this.showLoader = false;
|
||||
});
|
||||
});
|
||||
}
|
||||
@@ -822,22 +829,27 @@ let GroupMessagesPage = class GroupMessagesPage {
|
||||
this.loggedUser = res;
|
||||
console.log(this.loggedUser);
|
||||
});
|
||||
this.doRefresh();
|
||||
this.load();
|
||||
}
|
||||
load() {
|
||||
this.getGroupContacts();
|
||||
this.loadGroupMessages();
|
||||
}
|
||||
close() {
|
||||
this.modalController.dismiss();
|
||||
}
|
||||
doRefresh( /* event */) {
|
||||
this.getGroupContacts();
|
||||
this.loadGroupMessages();
|
||||
/* event.target.complete(); */
|
||||
doRefresh(ev) {
|
||||
this.load();
|
||||
ev.target.complete();
|
||||
}
|
||||
getGroupContacts() {
|
||||
this.showLoader = true;
|
||||
//If group is private call getGroupMembers
|
||||
if (this.room.t === 'p') {
|
||||
this.chatService.getGroupMembers(this.room._id).subscribe(res => {
|
||||
console.log(res);
|
||||
this.members = res['members'];
|
||||
this.showLoader = false;
|
||||
});
|
||||
}
|
||||
//Otherwise call getChannelMembers for públic groups
|
||||
@@ -845,16 +857,19 @@ let GroupMessagesPage = class GroupMessagesPage {
|
||||
this.chatService.getChannelMembers(this.room._id).subscribe(res => {
|
||||
console.log(res);
|
||||
this.members = res['members'];
|
||||
this.showLoader = false;
|
||||
});
|
||||
}
|
||||
}
|
||||
loadGroupMessages() {
|
||||
this.showLoader = true;
|
||||
//If group is private call getGroupMembers
|
||||
if (this.room.t === 'p') {
|
||||
this.chatService.getPrivateGroupMessages(this.room._id).subscribe(res => {
|
||||
console.log(res);
|
||||
let msgOnly = res['messages'].filter(data => data.t != 'au');
|
||||
this.messages = msgOnly.reverse();
|
||||
this.showLoader = false;
|
||||
});
|
||||
}
|
||||
//Otherwise call getChannelMembers for públic groups
|
||||
@@ -893,7 +908,7 @@ let GroupMessagesPage = class GroupMessagesPage {
|
||||
if (res.data) {
|
||||
this.roomName = res.data.name.split('-').join(' ');
|
||||
console.log(this.roomName);
|
||||
this.doRefresh();
|
||||
this.load();
|
||||
/* this.modalController.dismiss(); */
|
||||
}
|
||||
;
|
||||
@@ -930,7 +945,7 @@ let GroupMessagesPage = class GroupMessagesPage {
|
||||
});
|
||||
yield modal.present();
|
||||
modal.onDidDismiss().then(() => {
|
||||
this.doRefresh();
|
||||
this.load();
|
||||
});
|
||||
});
|
||||
}
|
||||
@@ -1182,14 +1197,17 @@ let MessagesPage = class MessagesPage {
|
||||
this.loggedUser = res;
|
||||
console.log(this.loggedUser);
|
||||
});
|
||||
/* console.log(this.dm); */
|
||||
/* setInterval(()=>{ */
|
||||
this.load();
|
||||
/* }, 9000); */
|
||||
}
|
||||
load() {
|
||||
this.loadMessages();
|
||||
/* }, 2000); */
|
||||
this.getChatMembers();
|
||||
}
|
||||
loadUser() {
|
||||
console.log('working');
|
||||
doRefresh(ev) {
|
||||
this.load();
|
||||
ev.target.complete();
|
||||
}
|
||||
ngAfterViewChecked() {
|
||||
this.scrollToBottom();
|
||||
@@ -1214,6 +1232,7 @@ let MessagesPage = class MessagesPage {
|
||||
this.message = "";
|
||||
}
|
||||
loadMessages() {
|
||||
this.showLoader = true;
|
||||
this.chatService.getRoomMessages(this.dm._id).subscribe(res => {
|
||||
/* console.log(res); */
|
||||
this.messages = res['messages'].reverse();
|
||||
@@ -1221,10 +1240,12 @@ let MessagesPage = class MessagesPage {
|
||||
});
|
||||
}
|
||||
getChatMembers() {
|
||||
this.showLoader = true;
|
||||
this.chatService.getMembers(this.dm._id).subscribe(res => {
|
||||
this.dmUsers = res['members'].filter(data => data.username != this.loggedUser.me.username);
|
||||
console.log(res);
|
||||
console.log(this.dmUsers);
|
||||
this.showLoader = false;
|
||||
});
|
||||
}
|
||||
openMessagesOptions(ev) {
|
||||
|
||||
+1
-1
File diff suppressed because one or more lines are too long
+53
-30
@@ -21,7 +21,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
|
||||
/* harmony default export */
|
||||
|
||||
|
||||
__webpack_exports__["default"] = "<ion-header>\r\n <app-header></app-header>\r\n</ion-header>\r\n<ion-header class=\"ion-no-border\">\r\n <ion-toolbar class=\"bg-blue\">\r\n <div class=\"main-header\">\r\n <div class=\"title-content\">\r\n <div class=\"div-title\">\r\n <ion-label class=\"title\">Chat</ion-label>\r\n </div>\r\n <div class=\"div-icon\">\r\n <ion-icon slot=\"end\" (click)=\"newGroup()\" src=\"assets/images/icons-chat-new-group.svg\" ></ion-icon>\r\n <ion-icon slot=\"end\" (click)=\"selectContact()\" src=\"assets/images/icons-chat-new-conversation.svg\"></ion-icon>\r\n </div>\r\n </div>\r\n </div>\r\n </ion-toolbar>\r\n</ion-header>\r\n\r\n<ion-content>\r\n <div class=\"main-content\">\r\n <ion-toolbar >\r\n <ion-segment [(ngModel)]=\"segment\" (ionChange)=\"onSegmentChange()\">\r\n <ion-segment-button value=\"Contactos\">\r\n Conversas\r\n </ion-segment-button>\r\n <ion-segment-button value=\"Grupos\">\r\n Grupos\r\n </ion-segment-button>\r\n </ion-segment>\r\n </ion-toolbar>\r\n <ion-refresher name=\"refresher\" slot=\"fixed\" (ionRefresh)=\"doRefresh($event)\">\r\n <ion-progress-bar type=\"indeterminate\" *ngIf=\"showLoader\"></ion-progress-bar>\r\n </ion-refresher>\r\n <div [ngSwitch]=\"segment\">\r\n <ion-list *ngSwitchCase=\"'Contactos'\">\r\n <ion-item-group>\r\n <ion-item-sliding>\r\n <div *ngFor=\"let dm of userDirectMessages\" class=\"item\">\r\n <div class=\"item-icon\">\r\n <ion-icon class=\"icon\" slot=\"start\" src=\"assets/images/icons-chat-chat-40.svg\"></ion-icon>\r\n </div>\r\n <div (click)=\"openMessages(dm)\" class=\"item-content\">\r\n <div class=\"item-title-time\">\r\n <div class=\"item-title\">\r\n <ion-label *ngFor=\"let user of dm.usernames\">\r\n <span *ngIf=\"user !=loggedUser.me.username\">\r\n {{user}}\r\n </span>\r\n </ion-label>\r\n </div>\r\n <div class=\"item-date\">{{dm._updatedAt | date: 'HH:mm'}}</div>\r\n </div>\r\n <div class=\"item-description\">\r\n <ion-label *ngIf=\"dm.lastMessage\">{{dm.lastMessage.msg}}</ion-label>\r\n </div>\r\n </div>\r\n </div>\r\n </ion-item-sliding>\r\n </ion-item-group>\r\n </ion-list>\r\n <ion-list *ngSwitchCase=\"'Grupos'\" >\r\n <ion-item-group>\r\n <ion-item-sliding>\r\n <div *ngFor=\"let group of allGroups\" class=\"item\">\r\n <div class=\"item-icon\">\r\n <ion-icon class=\"icon\" slot=\"start\" src=\"assets/images/icons-chat-group-chat-40.svg\"></ion-icon>\r\n </div>\r\n <div (click)=\"openGroupMessages(group)\" class=\"item-content\">\r\n <div class=\"item-title-time\">\r\n <div class=\"item-title\">\r\n <ion-label>{{group.name.split('-').join(' ')}}</ion-label>\r\n </div>\r\n <div class=\"item-date\" *ngIf=\"group.lastMessage\">{{group.lastMessage._updatedAt | date: 'HH:mm'}}</div>\r\n </div>\r\n <div class=\"item-description\" *ngIf=\"group.lastMessage\">\r\n <ion-label>{{group.lastMessage.u.name}}: {{group.lastMessage.msg}}</ion-label>\r\n </div>\r\n </div>\r\n </div> \r\n </ion-item-sliding>\r\n </ion-item-group>\r\n \r\n </ion-list>\r\n </div>\r\n</div>\r\n</ion-content>\r\n\r\n\r\n";
|
||||
__webpack_exports__["default"] = "<ion-header>\r\n <app-header></app-header>\r\n</ion-header>\r\n<ion-header class=\"ion-no-border\">\r\n <ion-toolbar class=\"bg-blue\">\r\n <div class=\"main-header\">\r\n <div class=\"title-content\">\r\n <div class=\"div-title\">\r\n <ion-label class=\"title\">Chat</ion-label>\r\n </div>\r\n <div class=\"div-icon\">\r\n <ion-icon slot=\"end\" (click)=\"newGroup()\" src=\"assets/images/icons-chat-new-group.svg\" ></ion-icon>\r\n <ion-icon slot=\"end\" (click)=\"selectContact()\" src=\"assets/images/icons-chat-new-conversation.svg\"></ion-icon>\r\n </div>\r\n </div>\r\n </div>\r\n </ion-toolbar>\r\n</ion-header>\r\n\r\n<ion-content>\r\n <ion-refresher name=\"refresher\" slot=\"fixed\" (ionRefresh)=\"doRefresh($event)\">\r\n <ion-progress-bar type=\"indeterminate\" *ngIf=\"showLoader\"></ion-progress-bar>\r\n <ion-refresher-content>\r\n </ion-refresher-content>\r\n </ion-refresher>\r\n <div class=\"main-content\">\r\n <ion-toolbar >\r\n <ion-segment [(ngModel)]=\"segment\" (ionChange)=\"onSegmentChange()\">\r\n <ion-segment-button value=\"Contactos\">\r\n Conversas\r\n </ion-segment-button>\r\n <ion-segment-button value=\"Grupos\">\r\n Grupos\r\n </ion-segment-button>\r\n </ion-segment>\r\n </ion-toolbar>\r\n <ion-refresher name=\"refresher\" slot=\"fixed\" (ionRefresh)=\"doRefresh($event)\">\r\n <ion-progress-bar type=\"indeterminate\" *ngIf=\"showLoader\"></ion-progress-bar>\r\n </ion-refresher>\r\n <div [ngSwitch]=\"segment\">\r\n <ion-list *ngSwitchCase=\"'Contactos'\">\r\n <ion-item-group>\r\n <ion-item-sliding>\r\n <div *ngFor=\"let dm of userDirectMessages\" class=\"item\">\r\n <div class=\"item-icon\">\r\n <ion-icon class=\"icon\" slot=\"start\" src=\"assets/images/icons-chat-chat-40.svg\"></ion-icon>\r\n </div>\r\n <div (click)=\"openMessages(dm)\" class=\"item-content\">\r\n <div class=\"item-title-time\">\r\n <div class=\"item-title\">\r\n <ion-label *ngFor=\"let user of dm.usernames\">\r\n <span *ngIf=\"user !=loggedUser.me.username\">\r\n {{user}}\r\n </span>\r\n </ion-label>\r\n </div>\r\n <div class=\"item-date\">{{dm._updatedAt | date: 'HH:mm'}}</div>\r\n </div>\r\n <div class=\"item-description\">\r\n <ion-label *ngIf=\"dm.lastMessage\">{{dm.lastMessage.msg}}</ion-label>\r\n </div>\r\n </div>\r\n </div>\r\n </ion-item-sliding>\r\n </ion-item-group>\r\n </ion-list>\r\n <ion-list *ngSwitchCase=\"'Grupos'\" >\r\n <ion-item-group>\r\n <ion-item-sliding>\r\n <div *ngFor=\"let group of allGroups\" class=\"item\">\r\n <div class=\"item-icon\">\r\n <ion-icon class=\"icon\" slot=\"start\" src=\"assets/images/icons-chat-group-chat-40.svg\"></ion-icon>\r\n </div>\r\n <div (click)=\"openGroupMessages(group)\" class=\"item-content\">\r\n <div class=\"item-title-time\">\r\n <div class=\"item-title\">\r\n <ion-label>{{group.name.split('-').join(' ')}}</ion-label>\r\n </div>\r\n <div class=\"item-date\" *ngIf=\"group.lastMessage\">{{group.lastMessage._updatedAt | date: 'HH:mm'}}</div>\r\n </div>\r\n <div class=\"item-description\" *ngIf=\"group.lastMessage\">\r\n <ion-label>{{group.lastMessage.u.name}}: {{group.lastMessage.msg}}</ion-label>\r\n </div>\r\n </div>\r\n </div> \r\n </ion-item-sliding>\r\n </ion-item-group>\r\n \r\n </ion-list>\r\n </div>\r\n</div>\r\n</ion-content>\r\n\r\n\r\n";
|
||||
/***/
|
||||
},
|
||||
|
||||
@@ -81,7 +81,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
|
||||
/* harmony default export */
|
||||
|
||||
|
||||
__webpack_exports__["default"] = "<ion-header class=\"ion-no-border\">\r\n <ion-toolbar class=\"header-toolbar\">\r\n <div class=\"main-header\">\r\n <div class=\"header-top\">\r\n <app-btn-modal-dismiss></app-btn-modal-dismiss>\r\n <div class=\"middle\">\r\n <ion-label class=\"title\">{{roomName}}</ion-label>\r\n </div>\r\n <div class=\"right\">\r\n <ion-icon (click)=\"openOptions()\" src=\"assets/images/icons-menu.svg\"></ion-icon>\r\n </div> \r\n </div>\r\n <div (click)=\"addContacts()\" class=\"header-bottom\">\r\n <div class=\"header-bottom-icon\">\r\n <ion-icon src=\"assets/icon/icons-user.svg\"></ion-icon>\r\n </div>\r\n <div class=\"header-bottom-contacts\">\r\n <ion-label *ngFor=\"let member of members\" >\r\n {{member.name}},\r\n </ion-label>\r\n </div>\r\n </div>\r\n </div>\r\n </ion-toolbar>\r\n</ion-header>\r\n\r\n\r\n<ion-content>\r\n <div class=\"welcome-text\">\r\n <ion-label>Esta conversa passou a grupo</ion-label><br />\r\n <ion-label>A conversa original mantêm-se como chat individual</ion-label>\r\n </div>\r\n <div *ngFor=\"let msg of messages\" class=\"messages\">\r\n <div *ngIf=\"msg.t != 'r'\" class='incoming-{{msg.u.username!=loggedUser.me.username}}'>\r\n <div class=\"title\">\r\n <ion-label>{{msg.u.username}}</ion-label>\r\n <span class=\"time\">{{msg._updatedAt | date: 'HH:mm' }}</span>\r\n </div>\r\n <div>\r\n <ion-label>{{msg.msg}}</ion-label>\r\n </div>\r\n </div>\r\n <div *ngIf=\"msg.t == 'r'\" class=\"info-text\">\r\n <ion-label>Alterou o assunto de para \"{{msg.msg.split('-').join(' ')}}\"</ion-label><br />\r\n </div>\r\n </div>\r\n\r\n</ion-content>\r\n<ion-footer>\r\n <ion-toolbar>\r\n <ion-row align-items-center class=\"row\">\r\n <ion-col size=\"1\">\r\n <ion-label class=\"ion-no-padding\" lines=\"none\">\r\n <ion-icon (click)=\"openChatOptions()\" class=\"chat-icon-options\" src=\"assets/icon/icons-chat-options.svg\"></ion-icon>\r\n </ion-label>\r\n </ion-col>\r\n <ion-col size=\"9\">\r\n <ion-item class=\"ion-no-padding type-message\" lines=\"none\">\r\n <ion-textarea placeholder=\"Escrever uma mensagem\" auto-grow class=\"message-input\" rows=\"1\" [(ngModel)]=\"message\"></ion-textarea>\r\n <ion-icon slot=\"end\" src=\"assets/icon/icons-chat-mic.svg\"></ion-icon>\r\n </ion-item>\r\n </ion-col>\r\n <ion-col size=\"2\">\r\n <!-- [disabled]=\"message === ''\" -->\r\n <ion-label>\r\n <ion-icon (click)=\"sendMessage()\" class=\"chat-icon-send\" src=\"assets/icon/icons-chat-send.svg\"></ion-icon>\r\n </ion-label>\r\n </ion-col>\r\n </ion-row>\r\n </ion-toolbar>\r\n</ion-footer>\r\n";
|
||||
__webpack_exports__["default"] = "<ion-header class=\"ion-no-border\">\r\n <ion-toolbar class=\"header-toolbar\">\r\n <div class=\"main-header\">\r\n <div class=\"header-top\">\r\n <app-btn-modal-dismiss></app-btn-modal-dismiss>\r\n <div class=\"middle\">\r\n <ion-label class=\"title\">{{roomName}}</ion-label>\r\n </div>\r\n <div class=\"right\">\r\n <ion-icon (click)=\"openOptions()\" src=\"assets/images/icons-menu.svg\"></ion-icon>\r\n </div> \r\n </div>\r\n <div (click)=\"addContacts()\" class=\"header-bottom\">\r\n <div class=\"header-bottom-icon\">\r\n <ion-icon src=\"assets/icon/icons-user.svg\"></ion-icon>\r\n </div>\r\n <div class=\"header-bottom-contacts\">\r\n <ion-label *ngFor=\"let member of members\" >\r\n {{member.name}},\r\n </ion-label>\r\n </div>\r\n </div>\r\n </div>\r\n </ion-toolbar>\r\n</ion-header>\r\n\r\n\r\n<ion-content>\r\n <ion-refresher name=\"refresher\" slot=\"fixed\" (ionRefresh)=\"doRefresh($event)\">\r\n <ion-progress-bar type=\"indeterminate\" *ngIf=\"showLoader\"></ion-progress-bar>\r\n <ion-refresher-content>\r\n </ion-refresher-content>\r\n </ion-refresher>\r\n <div class=\"welcome-text\">\r\n <ion-label>Esta conversa passou a grupo</ion-label><br />\r\n <ion-label>A conversa original mantêm-se como chat individual</ion-label>\r\n </div>\r\n <div *ngFor=\"let msg of messages\" class=\"messages\">\r\n <div *ngIf=\"msg.t != 'r'\" class='incoming-{{msg.u.username!=loggedUser.me.username}}'>\r\n <div class=\"title\">\r\n <ion-label>{{msg.u.name}}</ion-label>\r\n <span class=\"time\">{{msg._updatedAt | date: 'HH:mm' }}</span>\r\n </div>\r\n <div>\r\n <ion-label>{{msg.msg}}</ion-label>\r\n </div>\r\n </div>\r\n <div *ngIf=\"msg.t == 'r'\" class=\"info-text\">\r\n <ion-label>Alterou o assunto de para \"{{msg.msg.split('-').join(' ')}}\"</ion-label><br />\r\n </div>\r\n </div>\r\n\r\n</ion-content>\r\n<ion-footer>\r\n <ion-toolbar>\r\n <ion-row align-items-center class=\"row\">\r\n <ion-col size=\"1\">\r\n <ion-label class=\"ion-no-padding\" lines=\"none\">\r\n <ion-icon (click)=\"openChatOptions()\" class=\"chat-icon-options\" src=\"assets/icon/icons-chat-options.svg\"></ion-icon>\r\n </ion-label>\r\n </ion-col>\r\n <ion-col size=\"9\">\r\n <ion-item class=\"ion-no-padding type-message\" lines=\"none\">\r\n <ion-textarea placeholder=\"Escrever uma mensagem\" auto-grow class=\"message-input\" rows=\"1\" [(ngModel)]=\"message\"></ion-textarea>\r\n <ion-icon slot=\"end\" src=\"assets/icon/icons-chat-mic.svg\"></ion-icon>\r\n </ion-item>\r\n </ion-col>\r\n <ion-col size=\"2\">\r\n <!-- [disabled]=\"message === ''\" -->\r\n <ion-label>\r\n <ion-icon (click)=\"sendMessage()\" class=\"chat-icon-send\" src=\"assets/icon/icons-chat-send.svg\"></ion-icon>\r\n </ion-label>\r\n </ion-col>\r\n </ion-row>\r\n </ion-toolbar>\r\n</ion-footer>\r\n";
|
||||
/***/
|
||||
},
|
||||
|
||||
@@ -121,7 +121,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
|
||||
/* harmony default export */
|
||||
|
||||
|
||||
__webpack_exports__["default"] = "<ion-header class=\"ion-no-border\">\r\n <ion-toolbar class=\"header-toolbar\">\r\n <div class=\"main-header\">\r\n <div class=\"header-top\">\r\n <app-btn-modal-dismiss></app-btn-modal-dismiss>\r\n <div class=\"middle\" *ngFor=\"let users of dmUsers\">\r\n <ion-label class=\"title\">{{users.name}}</ion-label>\r\n <span><ion-icon class=\"{{users.status}}\" name=\"ellipse\"></ion-icon></span>\r\n </div>\r\n <div class=\"right\">\r\n <ion-icon (click)=\"openMessagesOptions()\" src=\"assets/images/icons-menu.svg\"></ion-icon>\r\n </div> \r\n </div>\r\n <div class=\"header-bottom\" (click)=\"addContacts()\">\r\n <div class=\"header-bottom-icon\">\r\n <ion-icon src=\"assets/icon/icons-user.svg\"></ion-icon>\r\n </div>\r\n <div class=\"header-bottom-contacts\">\r\n <ion-label class=\"text-color-blue\">Adicionar contacto</ion-label>\r\n </div>\r\n </div>\r\n </div>\r\n </ion-toolbar>\r\n</ion-header>\r\n\r\n<ion-content>\r\n <div class=\"messages\" #scrollMe>\r\n <!-- <ion-infinite-scroll position=\"top\" threshold=\"25%\" (ionInfinite)=\"loadMoreMessages($event)\">\r\n <ion-infinite-scroll-content loadindSpiniter=\"crescent\" loadingText=\"Carregando...\">\r\n\r\n </ion-infinite-scroll-content>\r\n </ion-infinite-scroll> -->\r\n <!-- <div class=\"incoming\">\r\n <div class=\"title\">\r\n <ion-label>Secretário Assuntos sociais</ion-label>\r\n <span class=\"time\">14:23</span>\r\n </div>\r\n <div>\r\n <img src='assets/images/1.jpg' tappable>\r\n <ion-label hidden >Investidura Filipe Nyusi</ion-label>\r\n </div>\r\n </div> -->\r\n <div *ngFor=\"let msg of messages\" class='incoming-{{msg.u.username!=loggedUser.me.username}}'>\r\n <div class=\"title\">\r\n <ion-label>{{msg.u.name}}</ion-label>\r\n <span class=\"time\">{{msg._updatedAt | date: 'HH:mm' }}</span>\r\n </div>\r\n <div>\r\n <ion-label>{{msg.msg}}</ion-label>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n</ion-content>\r\n<ion-footer>\r\n <ion-toolbar>\r\n <ion-row align-items-center class=\"row\">\r\n <ion-col size=\"1\">\r\n <ion-label class=\"ion-no-padding\" lines=\"none\">\r\n <ion-icon (click)=\"openChatOptions()\" class=\"chat-icon-options\" src=\"assets/icon/icons-chat-options.svg\"></ion-icon>\r\n </ion-label>\r\n </ion-col>\r\n <ion-col size=\"9\">\r\n <ion-item class=\"ion-no-padding type-message\" lines=\"none\">\r\n <ion-textarea clearOnEdit=\"true\" placeholder=\"Escrever uma mensagem\" auto-grow class=\"message-input\" rows=\"1\" [(ngModel)]=\"message\"></ion-textarea>\r\n <ion-icon slot=\"end\" src=\"assets/icon/icons-chat-mic.svg\"></ion-icon>\r\n </ion-item>\r\n </ion-col>\r\n <ion-col size=\"2\">\r\n <!-- [disabled]=\"message === ''\" -->\r\n <ion-label>\r\n <ion-icon (click)=\"sendMessage()\" class=\"chat-icon-send\" src=\"assets/icon/icons-chat-send.svg\"></ion-icon>\r\n </ion-label>\r\n </ion-col>\r\n </ion-row>\r\n </ion-toolbar>\r\n</ion-footer>\r\n";
|
||||
__webpack_exports__["default"] = "<ion-header class=\"ion-no-border\">\r\n <ion-toolbar class=\"header-toolbar\">\r\n <div class=\"main-header\">\r\n <div class=\"header-top\">\r\n <app-btn-modal-dismiss></app-btn-modal-dismiss>\r\n <div class=\"middle\" *ngFor=\"let users of dmUsers\">\r\n <ion-label class=\"title\">{{users.name}}</ion-label>\r\n <span><ion-icon class=\"{{users.status}}\" name=\"ellipse\"></ion-icon></span>\r\n </div>\r\n <div class=\"right\">\r\n <ion-icon (click)=\"openMessagesOptions()\" src=\"assets/images/icons-menu.svg\"></ion-icon>\r\n </div> \r\n </div>\r\n <div class=\"header-bottom\" (click)=\"addContacts()\">\r\n <div class=\"header-bottom-icon\">\r\n <ion-icon src=\"assets/icon/icons-user.svg\"></ion-icon>\r\n </div>\r\n <div class=\"header-bottom-contacts\">\r\n <ion-label class=\"text-color-blue\">Adicionar contacto</ion-label>\r\n </div>\r\n </div>\r\n </div>\r\n </ion-toolbar>\r\n</ion-header>\r\n\r\n<ion-content>\r\n <ion-refresher name=\"refresher\" slot=\"fixed\" (ionRefresh)=\"doRefresh($event)\">\r\n <ion-progress-bar type=\"indeterminate\" *ngIf=\"showLoader\"></ion-progress-bar>\r\n <ion-refresher-content>\r\n </ion-refresher-content>\r\n </ion-refresher>\r\n <div class=\"messages\" #scrollMe>\r\n <!-- <ion-infinite-scroll position=\"top\" threshold=\"25%\" (ionInfinite)=\"loadMoreMessages($event)\">\r\n <ion-infinite-scroll-content loadindSpiniter=\"crescent\" loadingText=\"Carregando...\">\r\n\r\n </ion-infinite-scroll-content>\r\n </ion-infinite-scroll> -->\r\n <!-- <div class=\"incoming\">\r\n <div class=\"title\">\r\n <ion-label>Secretário Assuntos sociais</ion-label>\r\n <span class=\"time\">14:23</span>\r\n </div>\r\n <div>\r\n <img src='assets/images/1.jpg' tappable>\r\n <ion-label hidden >Investidura Filipe Nyusi</ion-label>\r\n </div>\r\n </div> -->\r\n <div *ngFor=\"let msg of messages\" class='incoming-{{msg.u.username!=loggedUser.me.username}}'>\r\n <div class=\"title\">\r\n <ion-label>{{msg.u.name}}</ion-label>\r\n <span class=\"time\">{{msg._updatedAt | date: 'HH:mm' }}</span>\r\n </div>\r\n <div>\r\n <ion-label>{{msg.msg}}</ion-label>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n</ion-content>\r\n<ion-footer>\r\n <ion-toolbar>\r\n <ion-row align-items-center class=\"row\">\r\n <ion-col size=\"1\">\r\n <ion-label class=\"ion-no-padding\" lines=\"none\">\r\n <ion-icon (click)=\"openChatOptions()\" class=\"chat-icon-options\" src=\"assets/icon/icons-chat-options.svg\"></ion-icon>\r\n </ion-label>\r\n </ion-col>\r\n <ion-col size=\"9\">\r\n <ion-item class=\"ion-no-padding type-message\" lines=\"none\">\r\n <ion-textarea clearOnEdit=\"true\" placeholder=\"Escrever uma mensagem\" auto-grow class=\"message-input\" rows=\"1\" [(ngModel)]=\"message\"></ion-textarea>\r\n <ion-icon slot=\"end\" src=\"assets/icon/icons-chat-mic.svg\"></ion-icon>\r\n </ion-item>\r\n </ion-col>\r\n <ion-col size=\"2\">\r\n <!-- [disabled]=\"message === ''\" -->\r\n <ion-label>\r\n <ion-icon (click)=\"sendMessage()\" class=\"chat-icon-send\" src=\"assets/icon/icons-chat-send.svg\"></ion-icon>\r\n </ion-label>\r\n </ion-col>\r\n </ion-row>\r\n </ion-toolbar>\r\n</ion-footer>\r\n";
|
||||
/***/
|
||||
},
|
||||
|
||||
@@ -560,22 +560,31 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
|
||||
_this.loggedUser = res;
|
||||
console.log(_this.loggedUser);
|
||||
});
|
||||
this.doRefresh();
|
||||
this.load();
|
||||
}
|
||||
}, {
|
||||
key: "onSegmentChange",
|
||||
value: function onSegmentChange() {
|
||||
this.doRefresh();
|
||||
this.load();
|
||||
}
|
||||
}, {
|
||||
key: "doRefresh",
|
||||
value: function doRefresh() {
|
||||
/* setInterval(()=>{ */
|
||||
value: function doRefresh(ev) {
|
||||
this.load();
|
||||
ev.target.complete();
|
||||
}
|
||||
}, {
|
||||
key: "load",
|
||||
value: function load() {
|
||||
switch (this.segment) {
|
||||
case "Contactos":
|
||||
this.getDirectMessages();
|
||||
this.getGroups();
|
||||
/* this.customRoom(); */
|
||||
break;
|
||||
|
||||
/* }, 2000); */
|
||||
case "Grupos":
|
||||
this.getGroups();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}, {
|
||||
key: "customRoom",
|
||||
@@ -597,10 +606,10 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
|
||||
_this2.userDirectMessages = res.ims.sort(function (a, b) {
|
||||
var dateA = new Date(a._updatedAt).getTime();
|
||||
var dateB = new Date(b._updatedAt).getTime();
|
||||
_this2.showLoader = false;
|
||||
return dateB - dateA;
|
||||
});
|
||||
console.log(_this2.userDirectMessages);
|
||||
_this2.showLoader = false;
|
||||
});
|
||||
}
|
||||
}, {
|
||||
@@ -630,10 +639,10 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
|
||||
_this4.allGroups = all.sort(function (a, b) {
|
||||
var dateA = new Date(a._updatedAt).getTime();
|
||||
var dateB = new Date(b._updatedAt).getTime();
|
||||
_this4.showLoader = false;
|
||||
return dateB - dateA;
|
||||
});
|
||||
console.log(_this4.allGroups);
|
||||
_this4.showLoader = false;
|
||||
});
|
||||
});
|
||||
}
|
||||
@@ -1489,7 +1498,13 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
|
||||
_this10.loggedUser = res;
|
||||
console.log(_this10.loggedUser);
|
||||
});
|
||||
this.doRefresh();
|
||||
this.load();
|
||||
}
|
||||
}, {
|
||||
key: "load",
|
||||
value: function load() {
|
||||
this.getGroupContacts();
|
||||
this.loadGroupMessages();
|
||||
}
|
||||
}, {
|
||||
key: "close",
|
||||
@@ -1498,29 +1513,29 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
|
||||
}
|
||||
}, {
|
||||
key: "doRefresh",
|
||||
value: function doRefresh()
|
||||
/* event */
|
||||
{
|
||||
this.getGroupContacts();
|
||||
this.loadGroupMessages();
|
||||
/* event.target.complete(); */
|
||||
value: function doRefresh(ev) {
|
||||
this.load();
|
||||
ev.target.complete();
|
||||
}
|
||||
}, {
|
||||
key: "getGroupContacts",
|
||||
value: function getGroupContacts() {
|
||||
var _this11 = this;
|
||||
|
||||
//If group is private call getGroupMembers
|
||||
this.showLoader = true; //If group is private call getGroupMembers
|
||||
|
||||
if (this.room.t === 'p') {
|
||||
this.chatService.getGroupMembers(this.room._id).subscribe(function (res) {
|
||||
console.log(res);
|
||||
_this11.members = res['members'];
|
||||
_this11.showLoader = false;
|
||||
});
|
||||
} //Otherwise call getChannelMembers for públic groups
|
||||
else {
|
||||
this.chatService.getChannelMembers(this.room._id).subscribe(function (res) {
|
||||
console.log(res);
|
||||
_this11.members = res['members'];
|
||||
_this11.showLoader = false;
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -1529,7 +1544,8 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
|
||||
value: function loadGroupMessages() {
|
||||
var _this12 = this;
|
||||
|
||||
//If group is private call getGroupMembers
|
||||
this.showLoader = true; //If group is private call getGroupMembers
|
||||
|
||||
if (this.room.t === 'p') {
|
||||
this.chatService.getPrivateGroupMessages(this.room._id).subscribe(function (res) {
|
||||
console.log(res);
|
||||
@@ -1537,6 +1553,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
|
||||
return data.t != 'au';
|
||||
});
|
||||
_this12.messages = msgOnly.reverse();
|
||||
_this12.showLoader = false;
|
||||
});
|
||||
} //Otherwise call getChannelMembers for públic groups
|
||||
else {
|
||||
@@ -1597,7 +1614,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
|
||||
_this14.roomName = res.data.name.split('-').join(' ');
|
||||
console.log(_this14.roomName);
|
||||
|
||||
_this14.doRefresh();
|
||||
_this14.load();
|
||||
/* this.modalController.dismiss(); */
|
||||
|
||||
}
|
||||
@@ -1681,7 +1698,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
|
||||
|
||||
case 6:
|
||||
modal.onDidDismiss().then(function () {
|
||||
_this15.doRefresh();
|
||||
_this15.load();
|
||||
});
|
||||
|
||||
case 7:
|
||||
@@ -2138,19 +2155,22 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
|
||||
_this20.loggedUser = res;
|
||||
console.log(_this20.loggedUser);
|
||||
});
|
||||
/* console.log(this.dm); */
|
||||
|
||||
/* setInterval(()=>{ */
|
||||
|
||||
this.load();
|
||||
/* }, 9000); */
|
||||
}
|
||||
}, {
|
||||
key: "load",
|
||||
value: function load() {
|
||||
this.loadMessages();
|
||||
/* }, 2000); */
|
||||
|
||||
this.getChatMembers();
|
||||
}
|
||||
}, {
|
||||
key: "loadUser",
|
||||
value: function loadUser() {
|
||||
console.log('working');
|
||||
key: "doRefresh",
|
||||
value: function doRefresh(ev) {
|
||||
this.load();
|
||||
ev.target.complete();
|
||||
}
|
||||
}, {
|
||||
key: "ngAfterViewChecked",
|
||||
@@ -2188,6 +2208,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
|
||||
value: function loadMessages() {
|
||||
var _this22 = this;
|
||||
|
||||
this.showLoader = true;
|
||||
this.chatService.getRoomMessages(this.dm._id).subscribe(function (res) {
|
||||
/* console.log(res); */
|
||||
_this22.messages = res['messages'].reverse();
|
||||
@@ -2199,12 +2220,14 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
|
||||
value: function getChatMembers() {
|
||||
var _this23 = this;
|
||||
|
||||
this.showLoader = true;
|
||||
this.chatService.getMembers(this.dm._id).subscribe(function (res) {
|
||||
_this23.dmUsers = res['members'].filter(function (data) {
|
||||
return data.username != _this23.loggedUser.me.username;
|
||||
});
|
||||
console.log(res);
|
||||
console.log(_this23.dmUsers);
|
||||
_this23.showLoader = false;
|
||||
});
|
||||
}
|
||||
}, {
|
||||
|
||||
+1
-1
File diff suppressed because one or more lines are too long
Binary file not shown.
@@ -639,7 +639,7 @@ const environment = {
|
||||
apiChatUrl: 'https://www.tabularium.pt/api/v1/',
|
||||
/* apiChatUrl: 'http://chat.gabinetedigital.local:3000/api/v1/', */
|
||||
domain: 'gabinetedigital.local',
|
||||
defaultuser: 'tiago.kayaya',
|
||||
defaultuser: 'paulo.pinto',
|
||||
defaultuserpwd: 'tabteste@006'
|
||||
};
|
||||
/*
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -782,7 +782,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
|
||||
|
||||
/* apiChatUrl: 'http://chat.gabinetedigital.local:3000/api/v1/', */
|
||||
domain: 'gabinetedigital.local',
|
||||
defaultuser: 'tiago.kayaya',
|
||||
defaultuser: 'paulo.pinto',
|
||||
defaultuserpwd: 'tabteste@006'
|
||||
};
|
||||
/*
|
||||
|
||||
File diff suppressed because one or more lines are too long
Generated
-21
@@ -2950,21 +2950,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"@ng-bootstrap/ng-bootstrap": {
|
||||
"version": "9.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@ng-bootstrap/ng-bootstrap/-/ng-bootstrap-9.0.1.tgz",
|
||||
"integrity": "sha512-dJFoK2mRsj/zL87PNv9frBD+72MkrMeFshXE26FKPf8P8JNFoL6zrcNLxlBouQ1rWBItH50BmlEqQOwyXazF7w==",
|
||||
"requires": {
|
||||
"tslib": "^2.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"tslib": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz",
|
||||
"integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"@ngtools/webpack": {
|
||||
"version": "9.1.12",
|
||||
"resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-9.1.12.tgz",
|
||||
@@ -3528,12 +3513,6 @@
|
||||
"tslib": "^1.9.0"
|
||||
}
|
||||
},
|
||||
"angular-swipe": {
|
||||
"version": "0.4.0",
|
||||
"resolved": "https://registry.npmjs.org/angular-swipe/-/angular-swipe-0.4.0.tgz",
|
||||
"integrity": "sha1-wwpyFLEhKIMzIu5ECbM7Ojx0AGc=",
|
||||
"dev": true
|
||||
},
|
||||
"angular-tag-cloud-module": {
|
||||
"version": "5.2.2",
|
||||
"resolved": "https://registry.npmjs.org/angular-tag-cloud-module/-/angular-tag-cloud-module-5.2.2.tgz",
|
||||
|
||||
@@ -40,7 +40,6 @@
|
||||
"@ionic/pwa-elements": "^3.0.1",
|
||||
"@ionic/storage": "^2.3.1",
|
||||
"@logisticinfotech/ionic4-datepicker": "^1.4.4",
|
||||
"@ng-bootstrap/ng-bootstrap": "^9.0.1",
|
||||
"angular-calendar": "^0.28.22",
|
||||
"angular-tag-cloud-module": "^5.2.2",
|
||||
"angular2-calendar": "^0.3.7",
|
||||
|
||||
@@ -57,6 +57,10 @@ const routes: Routes = [
|
||||
{
|
||||
path: 'group-duration',
|
||||
loadChildren: () => import('./shared/popover/group-duration/group-duration.module').then( m => m.GroupDurationPageModule)
|
||||
},
|
||||
{
|
||||
path: 'header-no-search',
|
||||
loadChildren: () => import('./shared/headers/header-no-search/header-no-search.module').then( m => m.HeaderNoSearchPageModule)
|
||||
},
|
||||
|
||||
|
||||
|
||||
@@ -18,6 +18,18 @@ const routes: Routes = [
|
||||
},
|
||||
{
|
||||
path: 'emend-message-modal',
|
||||
loadChildren: () => import('./emend-message-modal/emend-message-modal.module').then( m => m.EmendMessageModalPageModule)
|
||||
},
|
||||
{
|
||||
path: 'new-event',
|
||||
loadChildren: () => import('./new-event/new-event.module').then( m => m.NewEventPageModule)
|
||||
},
|
||||
{
|
||||
path: 'edit-event',
|
||||
loadChildren: () => import('./edit-event/edit-event.module').then( m => m.EditEventPageModule)
|
||||
},
|
||||
{
|
||||
path: 'view-event',
|
||||
loadChildren: () => import('./view-event/view-event.module').then( m => m.ViewEventPageModule)
|
||||
}
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@ import { CalModalPageModule } from '../cal-modal/cal-modal.module';
|
||||
import { registerLocaleData } from '@angular/common';
|
||||
import localeDe from '@angular/common/locales/pt';
|
||||
import { CalendarComponent } from 'src/app/components/calendar/calendar.component';
|
||||
import { SharedModule } from 'src/app/shared/shared.module';
|
||||
registerLocaleData(localeDe);
|
||||
|
||||
|
||||
@@ -30,6 +31,7 @@ import { adapterFactory } from 'angular-calendar/date-adapters/date-fns';
|
||||
provide: DateAdapter,
|
||||
useFactory: adapterFactory
|
||||
}),
|
||||
SharedModule,
|
||||
AgendaPageRoutingModule,
|
||||
NgCalendarModule,
|
||||
CalModalPageModule,
|
||||
|
||||
@@ -1,17 +1,5 @@
|
||||
<ion-header class="ion-no-border">
|
||||
<ion-toolbar class="ion-no-border" class="bg-blue">
|
||||
<div class="div-top-header">
|
||||
<div class="div-search">
|
||||
<ion-icon src='assets/images/icons-search.svg'></ion-icon>
|
||||
</div>
|
||||
<div class="div-logo">
|
||||
<img src='assets/images/logo-no-bg.png' alt='logo'>
|
||||
</div>
|
||||
<div class="div-profile">
|
||||
<ion-icon src='assets/images/icons-profile.svg'></ion-icon>
|
||||
</div>
|
||||
</div>
|
||||
</ion-toolbar>
|
||||
<ion-header>
|
||||
<app-header></app-header>
|
||||
</ion-header>
|
||||
<ion-header>
|
||||
<div class="bg-blue">
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
display: table-cell;
|
||||
}
|
||||
|
||||
|
||||
:host ::ng-deep {
|
||||
.monthview-primary-with-event {
|
||||
background-color: white !important;
|
||||
@@ -45,6 +46,45 @@
|
||||
width: 35px;
|
||||
}
|
||||
|
||||
.main-header{
|
||||
width: 100%; /* 400px */
|
||||
height: 100%;
|
||||
font-family: Roboto;
|
||||
border-top-left-radius: 25px;
|
||||
border-top-right-radius: 25px;
|
||||
background-color: #fff;
|
||||
overflow:hidden;
|
||||
padding: 15px 5px 0px 5px;
|
||||
color:#000;
|
||||
transform: translate3d(0, 1px, 0);
|
||||
|
||||
.title-content{
|
||||
width: 360px;
|
||||
margin: 0px auto;
|
||||
overflow: auto;
|
||||
padding: 0 !important;
|
||||
background: #ecf8ff;
|
||||
}
|
||||
.div-title{
|
||||
padding: 0!important;
|
||||
float: left;
|
||||
}
|
||||
.title{
|
||||
font-size: 25px;
|
||||
}
|
||||
.div-icon{
|
||||
width: 40px;
|
||||
float: right;
|
||||
font-size: 35px;
|
||||
overflow: auto;
|
||||
padding: 1px;
|
||||
}
|
||||
.div-icon ion-icon{
|
||||
float: right;
|
||||
padding-left: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* TOGGLE button */
|
||||
.switch {
|
||||
@@ -190,9 +230,9 @@ input:checked[type="checkbox"]::before{
|
||||
}
|
||||
.toggle{
|
||||
position: relative;
|
||||
display: inline;
|
||||
display: block;
|
||||
font-family: 'Montserrat', sans-serif;
|
||||
display: grid;
|
||||
/* display: grid; */
|
||||
text-align: center;
|
||||
}
|
||||
label{
|
||||
|
||||
@@ -7,6 +7,8 @@ import { EventsService } from 'src/app/services/events.service';
|
||||
import { Event } from '../../models/event.model';
|
||||
import { Router, NavigationEnd } from '@angular/router';
|
||||
import { AlertService } from 'src/app/services/alert.service';
|
||||
import { NewEventPage } from './new-event/new-event.page';
|
||||
import { ViewEventPage } from './view-event/view-event.page';
|
||||
|
||||
// showTimeline
|
||||
import { setHours, setMinutes } from 'date-fns';
|
||||
@@ -209,7 +211,8 @@ export class AgendaPage implements OnInit {
|
||||
|
||||
//Show information of the event
|
||||
async onEventSelected(ev: { event: Event}){
|
||||
this.router.navigate(["/home/agenda", ev.event.EventId, 'agenda']);
|
||||
this.viewEventDetail();
|
||||
/* this.router.navigate(["/home/agenda", ev.event.EventId, 'agenda']); */
|
||||
}
|
||||
|
||||
|
||||
@@ -471,4 +474,39 @@ export class AgendaPage implements OnInit {
|
||||
this.loadRangeEvents(this.rangeStartDate, this.rangeEndDate);
|
||||
}
|
||||
}
|
||||
|
||||
async openAddEvent() {
|
||||
const modal = await this.modalCtrl.create({
|
||||
component: NewEventPage,
|
||||
componentProps:{
|
||||
segment: this.segment,
|
||||
profile: this.profile,
|
||||
eventSelectedDate: this.eventSelectedDate,
|
||||
},
|
||||
cssClass: 'modal',
|
||||
backdropDismiss: false
|
||||
});
|
||||
await modal.present();
|
||||
modal.onDidDismiss();
|
||||
}
|
||||
|
||||
async viewEventDetail() {
|
||||
console.log(this.profile);
|
||||
|
||||
const modal = await this.modalCtrl.create({
|
||||
component: ViewEventPage,
|
||||
componentProps:{
|
||||
segment: this.segment,
|
||||
profile: this.profile,
|
||||
/* eventSelectedDate: this.eventSelectedDate, */
|
||||
},
|
||||
cssClass: 'modal',
|
||||
backdropDismiss: false
|
||||
});
|
||||
await modal.present();
|
||||
modal.onDidDismiss();
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -37,32 +37,32 @@ ion-menu{
|
||||
margin-left: 50px;
|
||||
overflow: auto;
|
||||
font-size: 18px;
|
||||
}
|
||||
.content-location{
|
||||
|
||||
.content-location{
|
||||
width: 360px;
|
||||
margin: 0 auto;
|
||||
padding: 0;
|
||||
overflow: auto;
|
||||
}
|
||||
}
|
||||
|
||||
.location-detail{
|
||||
.location-detail{
|
||||
width: 210px;
|
||||
font-weight: 700;
|
||||
font-size: 18px;
|
||||
float: left;
|
||||
margin: 5px 5px 5px 0px;
|
||||
}
|
||||
.button-calendar-type{
|
||||
}
|
||||
.button-calendar-type{
|
||||
width: 91px;
|
||||
--border-radius: 12.5px;
|
||||
--background: #ffb703;
|
||||
margin-left: 5px;
|
||||
float: left;
|
||||
}
|
||||
.button-calendar-type ion-button{
|
||||
}
|
||||
.button-calendar-type ion-button{
|
||||
height: 25px;
|
||||
}
|
||||
.button-edit-event {
|
||||
}
|
||||
.button-edit-event {
|
||||
width: 140px;
|
||||
height: 44px;
|
||||
border-radius: 22.5px;
|
||||
@@ -72,13 +72,17 @@ ion-menu{
|
||||
.content-details p{
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
.middle-conten{
|
||||
.middle-content h3, .middle-content p{
|
||||
font-size: 16px;
|
||||
}
|
||||
.bottom-content{
|
||||
}
|
||||
|
||||
.bottom-content{
|
||||
width: 360px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.bottom-content h3{
|
||||
font-size: 16px;
|
||||
margin: 0 0 0 10px;
|
||||
@@ -110,6 +114,8 @@ ion-menu{
|
||||
float: right;
|
||||
font-size: 13px;
|
||||
}
|
||||
}
|
||||
|
||||
.buttons{
|
||||
width: 360px;
|
||||
margin: 0 auto;
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
import { NgModule } from '@angular/core';
|
||||
import { Routes, RouterModule } from '@angular/router';
|
||||
|
||||
import { EditEventPage } from './edit-event.page';
|
||||
|
||||
const routes: Routes = [
|
||||
{
|
||||
path: '',
|
||||
component: EditEventPage
|
||||
}
|
||||
];
|
||||
|
||||
@NgModule({
|
||||
imports: [RouterModule.forChild(routes)],
|
||||
exports: [RouterModule],
|
||||
})
|
||||
export class EditEventPageRoutingModule {}
|
||||
@@ -0,0 +1,20 @@
|
||||
import { NgModule } from '@angular/core';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { FormsModule } from '@angular/forms';
|
||||
|
||||
import { IonicModule } from '@ionic/angular';
|
||||
|
||||
import { EditEventPageRoutingModule } from './edit-event-routing.module';
|
||||
|
||||
import { EditEventPage } from './edit-event.page';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule,
|
||||
FormsModule,
|
||||
IonicModule,
|
||||
EditEventPageRoutingModule
|
||||
],
|
||||
declarations: [EditEventPage]
|
||||
})
|
||||
export class EditEventPageModule {}
|
||||
@@ -0,0 +1,211 @@
|
||||
<ion-header class="ion-no-border">
|
||||
<ion-toolbar class="header-toolbar">
|
||||
<div class="main-header">
|
||||
<div class="title-content">
|
||||
<div class="middle">
|
||||
<ion-label class="title">Editar Evento</ion-label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</ion-toolbar>
|
||||
</ion-header>
|
||||
|
||||
<ion-content>
|
||||
<div class="main-content">
|
||||
<div class="ion-item-container">
|
||||
<ion-input placeholder="Assunto"></ion-input>
|
||||
</div>
|
||||
<div class="container-div">
|
||||
<div class="ion-item-class-2">
|
||||
<div class="ion-icon-class">
|
||||
<ion-icon slot="start" src="assets/images/icons-location.svg"></ion-icon>
|
||||
</div>
|
||||
<div class="ion-input-class">
|
||||
<ion-input placeholder="Localização"></ion-input>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Error messages -->
|
||||
<!-- <span class="error ion-padding" >
|
||||
Campo obrigatório
|
||||
</span> -->
|
||||
|
||||
</div>
|
||||
|
||||
<div class="container-div">
|
||||
<div class="ion-item-class-2">
|
||||
<div class="ion-icon-class">
|
||||
<ion-icon slot="start" src="assets/images/icons-calendar.svg"></ion-icon>
|
||||
</div>
|
||||
<div class="ion-input-class">
|
||||
<ion-select placeholder="Selecione agenda" interface="action-sheet" Cancel-text="Cancelar" required>
|
||||
<ion-select-option value="Oficial">Oficial</ion-select-option>
|
||||
<ion-select-option value="Pessoal">Pessoal</ion-select-option>
|
||||
</ion-select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container-div">
|
||||
<div class="ion-item-class-2">
|
||||
<div class="ion-icon-class">
|
||||
<ion-icon slot="start" src="assets/images/icons-calendar.svg"></ion-icon>
|
||||
</div>
|
||||
<div class="ion-input-class">
|
||||
<ion-select placeholder="Selecione tipo" interface="action-sheet" Cancel-text="Cancelar" required>
|
||||
<ion-select-option value="Oficial">Reunião</ion-select-option>
|
||||
<ion-select-option value="Pessoal">Viagem</ion-select-option>
|
||||
</ion-select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container-div">
|
||||
<div class="ion-item-class-2">
|
||||
<div class="ion-icon-class">
|
||||
<ion-icon slot="start" src="assets/images/icons-calendar.svg"></ion-icon>
|
||||
</div>
|
||||
<div class="ion-input-class">
|
||||
<ion-datetime
|
||||
placeholder="Início"
|
||||
|
||||
displayFormat="D MMM YYYY H:mm"
|
||||
minuteValues="0,15,30,45"
|
||||
monthShortNames="Jan, Fev, Mar, Abr, Mai, Jun, Jul, Aug, Sep, Out, Nov, Dez"
|
||||
min="2018"
|
||||
max="2022"
|
||||
>
|
||||
</ion-datetime>
|
||||
<!-- <ion-input placeholder="Data início" [(ngModel)]="postData.StartDate"></ion-input> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container-div">
|
||||
<div class="ion-item-class-2">
|
||||
<div class="ion-icon-class">
|
||||
<ion-icon slot="start" src="assets/images/icons-calendar.svg"></ion-icon>
|
||||
</div>
|
||||
<div class="ion-input-class">
|
||||
<ion-datetime
|
||||
placeholder="Fim"
|
||||
|
||||
displayFormat="D MMM YYYY H:mm"
|
||||
minuteValues="0,15,30,45"
|
||||
monthShortNames="Jan, Fev, Mar, Abr, Mai, Jun, Jul, Aug, Sep, Out, Nov, Dez"
|
||||
min="2018"
|
||||
max="2022"
|
||||
>
|
||||
</ion-datetime>
|
||||
<!-- <ion-input placeholder="Data fim" [(ngModel)]="postData.EndDate"></ion-input> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container-div">
|
||||
<div class="ion-item-class-2">
|
||||
<div class="ion-icon-class">
|
||||
<ion-icon slot="start" src="assets/images/icons-refresh.svg"></ion-icon>
|
||||
</div>
|
||||
<div class="ion-input-class">
|
||||
<ion-select placeholder="Selecione repetição" value="false" interface="action-sheet" Cancel-text="Cancelar" required>
|
||||
<ion-select-option value="false">Não se repete</ion-select-option>
|
||||
<ion-select-option value="true">Repete</ion-select-option>
|
||||
</ion-select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container-div">
|
||||
<div class="ion-item-class-2">
|
||||
<div class="ion-icon-class">
|
||||
<ion-icon slot="start" src="assets/images/icons-person.svg"></ion-icon>
|
||||
</div>
|
||||
<div class="ion-input-class-no-height">
|
||||
<div class="list-people">
|
||||
<ion-item lines="none">
|
||||
<ion-list>
|
||||
<ion-label class="list-people-title">Adicionar intervenientes</ion-label>
|
||||
<ion-label hidden >Text</ion-label>
|
||||
</ion-list>
|
||||
</ion-item>
|
||||
</div>
|
||||
<div class="add-people">
|
||||
<ion-icon slot="start" src="assets/images/icons-arrow-forward.svg"></ion-icon>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container-div">
|
||||
<div class="ion-item-class-2">
|
||||
<div class="ion-icon-class">
|
||||
<ion-icon slot="start" src="assets/images/icons-people-cc.svg"></ion-icon>
|
||||
</div>
|
||||
<div class="ion-input-class-no-height">
|
||||
<div class="list-people">
|
||||
<ion-item lines="none">
|
||||
<ion-list>
|
||||
<ion-label class="list-people-title">Com conhecimento</ion-label>
|
||||
<ion-label hidden >Text</ion-label>
|
||||
</ion-list>
|
||||
</ion-item>
|
||||
</div>
|
||||
<div class="add-people">
|
||||
<ion-icon slot="start" src="assets/images/icons-arrow-forward.svg"></ion-icon>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container-div">
|
||||
<div class="ion-item-class-2">
|
||||
<div class="ion-icon-class">
|
||||
<ion-icon slot="start" src="assets/images/icons-description.svg"></ion-icon>
|
||||
</div>
|
||||
<div class="ion-input-class">
|
||||
<ion-input placeholder="Detalhes"></ion-input>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div hidden class="ion-item-container-no-border">
|
||||
<ion-label>
|
||||
<div class="attach-icon">
|
||||
<ion-icon src="assets/images/icons-attach-doc.svg"></ion-icon>
|
||||
</div>
|
||||
<div class="attach-document">
|
||||
<ion-label>Anexar Documentos</ion-label>
|
||||
</div>
|
||||
</ion-label>
|
||||
</div>
|
||||
|
||||
<div hidden>
|
||||
<ion-item>
|
||||
<ion-label>Documentos Anexados</ion-label>
|
||||
</ion-item>
|
||||
<ion-list>
|
||||
<ion-item>
|
||||
<ion-label>
|
||||
<h4 class="attach-title-item">Text</h4>
|
||||
<p><span class="span-left">Text</span><span class="span-right"> Text </span></p>
|
||||
</ion-label>
|
||||
</ion-item>
|
||||
</ion-list>
|
||||
</div>
|
||||
</div>
|
||||
</ion-content>
|
||||
<ion-footer class="ion-no-border">
|
||||
<ion-toolbar class="btn-div">
|
||||
<ion-buttons slot="start">
|
||||
<ion-button class="btn-cancel" fill="clear" color="#061b52" (click)="close()">
|
||||
<ion-label>Cancelar</ion-label>
|
||||
</ion-button>
|
||||
</ion-buttons>
|
||||
<ion-title></ion-title>
|
||||
<ion-buttons slot="end">
|
||||
<ion-button class="btn-ok" fill="clear" color="#fff" (click)="save()">
|
||||
<ion-label>Gravar</ion-label>
|
||||
</ion-button>
|
||||
</ion-buttons>
|
||||
</ion-toolbar>
|
||||
</ion-footer>
|
||||
@@ -0,0 +1,177 @@
|
||||
ion-content{
|
||||
--background:transparent;
|
||||
}
|
||||
.header-toolbar{
|
||||
--background:transparent;
|
||||
--opacity: 1;
|
||||
}
|
||||
.main-header{
|
||||
width: 100%; /* 400px */
|
||||
height: 100%;
|
||||
font-family: Roboto;
|
||||
border-top-left-radius: 25px;
|
||||
border-top-right-radius: 25px;
|
||||
background-color: #fff;
|
||||
overflow:hidden;
|
||||
padding: 30px 20px 0px 20px;
|
||||
color:#000;
|
||||
transform: translate3d(0, 1px, 0);
|
||||
|
||||
.title-content{
|
||||
width: 360px;
|
||||
margin: 0px auto;
|
||||
overflow: auto;
|
||||
padding: 0 !important;
|
||||
background: #fff;
|
||||
.middle{
|
||||
padding: 0!important;
|
||||
float: left;
|
||||
width: 221px;
|
||||
margin: 2.5px 0 0 5px;
|
||||
}
|
||||
}
|
||||
|
||||
.title{
|
||||
font-size: 25px;
|
||||
}
|
||||
|
||||
}
|
||||
.main-content{
|
||||
width: 100%; /* 400px */
|
||||
height: 100%;
|
||||
font-family: Roboto;
|
||||
margin: 0 auto;
|
||||
background-color: #fff;
|
||||
overflow:auto;
|
||||
padding: 15px 20px 0 20px;
|
||||
|
||||
.ion-item-container{
|
||||
width: 360px;
|
||||
margin: 15px auto;
|
||||
border: 1px solid #ebebeb;
|
||||
border-radius: 5px;
|
||||
padding-left: 10px;
|
||||
}
|
||||
.ion-item-container-no-border{
|
||||
width: 100%;
|
||||
margin: 0px auto;
|
||||
padding: 0 !important;
|
||||
overflow: auto;
|
||||
}
|
||||
.container-div{
|
||||
margin-bottom: 15px;
|
||||
overflow: auto;
|
||||
}
|
||||
.ion-item-class-2{
|
||||
width: 360px;
|
||||
margin: 0px auto;
|
||||
}
|
||||
.ion-icon-class{
|
||||
width: 45px;
|
||||
height: 45px;
|
||||
float: left;
|
||||
padding: 10px;
|
||||
font-size: 25px;
|
||||
}
|
||||
ion-select{
|
||||
padding-left: 5px;
|
||||
margin-left: 0;
|
||||
}
|
||||
.ion-input-class{
|
||||
width: 315px;
|
||||
height: 45px;
|
||||
border: 1px solid #ebebeb;
|
||||
border-radius: 5px;
|
||||
padding-left: 5px;
|
||||
padding-right: 10px;
|
||||
float: left;
|
||||
}
|
||||
.ion-input-class-no-height{
|
||||
border: 1px solid #ebebeb;
|
||||
border-radius: 5px;
|
||||
overflow: auto;
|
||||
}
|
||||
.list-people{
|
||||
width: 256px;
|
||||
float: left;
|
||||
|
||||
}
|
||||
.add-people{
|
||||
width: 45px;
|
||||
float: right;
|
||||
overflow: auto;
|
||||
font-size: 25px;
|
||||
padding: 10px;
|
||||
}
|
||||
.list-people-title{
|
||||
/* font-size: 13px; */
|
||||
color: #797979;
|
||||
}
|
||||
.attach-document{
|
||||
font-size: 15px;
|
||||
color: #0d89d1;
|
||||
margin: 5px 5px 5px 10px;
|
||||
padding: 5px;
|
||||
float: left;
|
||||
}
|
||||
.attach-icon{
|
||||
width: 37px;
|
||||
font-size: 35px;
|
||||
float: left;
|
||||
}
|
||||
.attach-title-item{
|
||||
width: 100%;
|
||||
font-size: 15px;
|
||||
color:#0d89d1;
|
||||
}
|
||||
/* SPAN */
|
||||
.span-left{
|
||||
float: left;
|
||||
font-size: 15x;
|
||||
}
|
||||
.span-right{
|
||||
text-align: right;
|
||||
float: right;
|
||||
font-size: 13px;
|
||||
}
|
||||
.container-footer{
|
||||
margin:0 auto;
|
||||
overflow: auto;
|
||||
}
|
||||
.button-cancel {
|
||||
width: 170px;
|
||||
height: 44px;
|
||||
border-radius: 22.5px;
|
||||
--background: #e0e9ee;
|
||||
--color: #061b52;
|
||||
margin:10px;
|
||||
}
|
||||
.button-save {
|
||||
width: 170px;
|
||||
height: 44px;
|
||||
border-radius: 22.5px;
|
||||
--background: #42b9fe;
|
||||
--color:#ffffff;
|
||||
margin:10px;
|
||||
}
|
||||
|
||||
.text-input{
|
||||
width: 100%;
|
||||
border: 1px solid #ebebeb;
|
||||
margin: 0px 15px 15px 0px;
|
||||
padding: 0 !important;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
/* Error Messages */
|
||||
.error{
|
||||
color:red;
|
||||
font-size: 12px;
|
||||
font-weight: bold;
|
||||
padding-bottom: 20px;
|
||||
}
|
||||
.span-color{
|
||||
color:red;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { IonicModule } from '@ionic/angular';
|
||||
|
||||
import { EditEventPage } from './edit-event.page';
|
||||
|
||||
describe('EditEventPage', () => {
|
||||
let component: EditEventPage;
|
||||
let fixture: ComponentFixture<EditEventPage>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
declarations: [ EditEventPage ],
|
||||
imports: [IonicModule.forRoot()]
|
||||
}).compileComponents();
|
||||
|
||||
fixture = TestBed.createComponent(EditEventPage);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
}));
|
||||
|
||||
it('should create', () => {
|
||||
expect(component).toBeTruthy();
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,24 @@
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { ModalController } from '@ionic/angular';
|
||||
|
||||
@Component({
|
||||
selector: 'app-edit-event',
|
||||
templateUrl: './edit-event.page.html',
|
||||
styleUrls: ['./edit-event.page.scss'],
|
||||
})
|
||||
export class EditEventPage implements OnInit {
|
||||
|
||||
constructor(
|
||||
private modalController: ModalController,
|
||||
) { }
|
||||
|
||||
ngOnInit() {
|
||||
}
|
||||
close(){
|
||||
this.modalController.dismiss(null);
|
||||
}
|
||||
save(){
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
+3
-3
@@ -1,12 +1,12 @@
|
||||
import { NgModule } from '@angular/core';
|
||||
import { Routes, RouterModule } from '@angular/router';
|
||||
|
||||
import { FilterPage } from './filter.page';
|
||||
import { NewEventPage } from './new-event.page';
|
||||
|
||||
const routes: Routes = [
|
||||
{
|
||||
path: '',
|
||||
component: FilterPage
|
||||
component: NewEventPage
|
||||
}
|
||||
];
|
||||
|
||||
@@ -14,4 +14,4 @@ const routes: Routes = [
|
||||
imports: [RouterModule.forChild(routes)],
|
||||
exports: [RouterModule],
|
||||
})
|
||||
export class FilterPageRoutingModule {}
|
||||
export class NewEventPageRoutingModule {}
|
||||
+5
-5
@@ -4,17 +4,17 @@ import { FormsModule } from '@angular/forms';
|
||||
|
||||
import { IonicModule } from '@ionic/angular';
|
||||
|
||||
import { FilterPageRoutingModule } from './filter-routing.module';
|
||||
import { NewEventPageRoutingModule } from './new-event-routing.module';
|
||||
|
||||
import { FilterPage } from './filter.page';
|
||||
import { NewEventPage } from './new-event.page';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule,
|
||||
FormsModule,
|
||||
IonicModule,
|
||||
FilterPageRoutingModule
|
||||
NewEventPageRoutingModule
|
||||
],
|
||||
declarations: [FilterPage]
|
||||
declarations: [NewEventPage]
|
||||
})
|
||||
export class FilterPageModule {}
|
||||
export class NewEventPageModule {}
|
||||
@@ -0,0 +1,217 @@
|
||||
<ion-header class="ion-no-border">
|
||||
<ion-toolbar class="header-toolbar">
|
||||
<div class="main-header">
|
||||
<div class="title-content">
|
||||
<div class="middle">
|
||||
<ion-label class="title">Novo Evento</ion-label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</ion-toolbar>
|
||||
</ion-header>
|
||||
|
||||
<ion-content>
|
||||
<div class="main-content">
|
||||
<div class="ion-item-container">
|
||||
<ion-input placeholder="Assunto" [(ngModel)]="postEvent.Subject"></ion-input>
|
||||
</div>
|
||||
<div class="container-div">
|
||||
<div class="ion-item-class-2">
|
||||
<div class="ion-icon-class">
|
||||
<ion-icon slot="start" src="assets/images/icons-location.svg"></ion-icon>
|
||||
</div>
|
||||
<div class="ion-input-class">
|
||||
<ion-input placeholder="Localização" [(ngModel)]="postEvent.Location"></ion-input>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Error messages -->
|
||||
<!-- <span class="error ion-padding" >
|
||||
Campo obrigatório
|
||||
</span> -->
|
||||
|
||||
</div>
|
||||
|
||||
<div class="container-div">
|
||||
<div class="ion-item-class-2">
|
||||
<div class="ion-icon-class">
|
||||
<ion-icon slot="start" src="assets/images/icons-calendar.svg"></ion-icon>
|
||||
</div>
|
||||
<div class="ion-input-class">
|
||||
<ion-select placeholder="Selecione agenda"
|
||||
selectedText="{{postEvent.CalendarName}}"
|
||||
[(ngModel)]="postEvent.CalendarName"
|
||||
interface="action-sheet" Cancel-text="Cancelar"
|
||||
required>
|
||||
<ion-select-option value="Oficial">Oficial</ion-select-option>
|
||||
<ion-select-option value="Pessoal">Pessoal</ion-select-option>
|
||||
</ion-select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container-div">
|
||||
<div class="ion-item-class-2">
|
||||
<div class="ion-icon-class">
|
||||
<ion-icon slot="start" src="assets/images/icons-calendar.svg"></ion-icon>
|
||||
</div>
|
||||
<div class="ion-input-class">
|
||||
<ion-select placeholder="Selecione tipo" [(ngModel)]="postEvent.EventType" interface="action-sheet" Cancel-text="Cancelar" required>
|
||||
<ion-select-option value="Reunião">Reunião</ion-select-option>
|
||||
<ion-select-option value="Viagem">Viagem</ion-select-option>
|
||||
<ion-select-option value="Conferência">Conferência</ion-select-option>
|
||||
<ion-select-option value="Encontro">Encontro</ion-select-option>
|
||||
</ion-select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container-div">
|
||||
<div class="ion-item-class-2">
|
||||
<div class="ion-icon-class">
|
||||
<ion-icon slot="start" src="assets/images/icons-calendar.svg"></ion-icon>
|
||||
</div>
|
||||
<div class="ion-input-class">
|
||||
<ion-datetime
|
||||
placeholder="Início"
|
||||
[(ngModel)]="postEvent.StartDate"
|
||||
displayFormat="D MMM YYYY H:mm"
|
||||
minuteValues="0,15,30,45"
|
||||
monthShortNames="Jan, Fev, Mar, Abr, Mai, Jun, Jul, Aug, Sep, Out, Nov, Dez"
|
||||
min="2018"
|
||||
max="2022"
|
||||
>
|
||||
</ion-datetime>
|
||||
<!-- <ion-input placeholder="Data início" [(ngModel)]="postData.StartDate"></ion-input> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container-div">
|
||||
<div class="ion-item-class-2">
|
||||
<div class="ion-icon-class">
|
||||
<ion-icon slot="start" src="assets/images/icons-calendar.svg"></ion-icon>
|
||||
</div>
|
||||
<div class="ion-input-class">
|
||||
<ion-datetime
|
||||
placeholder="Fim"
|
||||
[(ngModel)]="postEvent.EndDate"
|
||||
displayFormat="D MMM YYYY H:mm"
|
||||
minuteValues="0,15,30,45"
|
||||
monthShortNames="Jan, Fev, Mar, Abr, Mai, Jun, Jul, Aug, Sep, Out, Nov, Dez"
|
||||
min="2018"
|
||||
max="2022"
|
||||
>
|
||||
</ion-datetime>
|
||||
<!-- <ion-input placeholder="Data fim" [(ngModel)]="postData.EndDate"></ion-input> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container-div">
|
||||
<div class="ion-item-class-2">
|
||||
<div class="ion-icon-class">
|
||||
<ion-icon slot="start" src="assets/images/icons-refresh.svg"></ion-icon>
|
||||
</div>
|
||||
<div class="ion-input-class">
|
||||
<ion-select placeholder="Selecione repetição" value="false" interface="action-sheet" Cancel-text="Cancelar" required>
|
||||
<ion-select-option value="false">Não se repete</ion-select-option>
|
||||
<ion-select-option value="true">Repete</ion-select-option>
|
||||
</ion-select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container-div">
|
||||
<div class="ion-item-class-2">
|
||||
<div class="ion-icon-class">
|
||||
<ion-icon slot="start" src="assets/images/icons-person.svg"></ion-icon>
|
||||
</div>
|
||||
<div (click)="openAttendees()" class="ion-input-class-no-height">
|
||||
<div class="list-people">
|
||||
<ion-item lines="none">
|
||||
<ion-list>
|
||||
<ion-label class="list-people-title">Adicionar participantes</ion-label>
|
||||
<ion-label hidden >Text</ion-label>
|
||||
</ion-list>
|
||||
</ion-item>
|
||||
</div>
|
||||
<div class="add-people">
|
||||
<ion-icon slot="start" src="assets/images/icons-arrow-forward.svg"></ion-icon>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div hidden class="container-div">
|
||||
<div class="ion-item-class-2">
|
||||
<div class="ion-icon-class">
|
||||
<ion-icon slot="start" src="assets/images/icons-people-cc.svg"></ion-icon>
|
||||
</div>
|
||||
<div class="ion-input-class-no-height">
|
||||
<div class="list-people">
|
||||
<ion-item lines="none">
|
||||
<ion-list>
|
||||
<ion-label class="list-people-title">Com conhecimento</ion-label>
|
||||
<ion-label hidden >Text</ion-label>
|
||||
</ion-list>
|
||||
</ion-item>
|
||||
</div>
|
||||
<div class="add-people">
|
||||
<ion-icon slot="start" src="assets/images/icons-arrow-forward.svg"></ion-icon>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container-div">
|
||||
<div class="ion-item-class-2">
|
||||
<div class="ion-icon-class">
|
||||
<ion-icon slot="start" src="assets/images/icons-description.svg"></ion-icon>
|
||||
</div>
|
||||
<div class="ion-input-class">
|
||||
<ion-input placeholder="Detalhes" [(ngModel)]="postEvent.Body.Text"></ion-input>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div hidden class="ion-item-container-no-border">
|
||||
<ion-label>
|
||||
<div class="attach-icon">
|
||||
<ion-icon src="assets/images/icons-attach-doc.svg"></ion-icon>
|
||||
</div>
|
||||
<div class="attach-document">
|
||||
<ion-label>Anexar Documentos</ion-label>
|
||||
</div>
|
||||
</ion-label>
|
||||
</div>
|
||||
|
||||
<div hidden>
|
||||
<ion-item>
|
||||
<ion-label>Documentos Anexados</ion-label>
|
||||
</ion-item>
|
||||
<ion-list>
|
||||
<ion-item>
|
||||
<ion-label>
|
||||
<h4 class="attach-title-item">Text</h4>
|
||||
<p><span class="span-left">Text</span><span class="span-right"> Text </span></p>
|
||||
</ion-label>
|
||||
</ion-item>
|
||||
</ion-list>
|
||||
</div>
|
||||
</div>
|
||||
</ion-content>
|
||||
<ion-footer class="ion-no-border">
|
||||
<ion-toolbar class="btn-div">
|
||||
<ion-buttons slot="start">
|
||||
<ion-button class="btn-cancel" fill="clear" color="#061b52" (click)="close()">
|
||||
<ion-label>Cancelar</ion-label>
|
||||
</ion-button>
|
||||
</ion-buttons>
|
||||
<ion-title></ion-title>
|
||||
<ion-buttons slot="end">
|
||||
<ion-button class="btn-ok" fill="clear" color="#fff" (click)="save()">
|
||||
<ion-label>Gravar</ion-label>
|
||||
</ion-button>
|
||||
</ion-buttons>
|
||||
</ion-toolbar>
|
||||
</ion-footer>
|
||||
@@ -0,0 +1,178 @@
|
||||
ion-content{
|
||||
--background:transparent;
|
||||
}
|
||||
.header-toolbar{
|
||||
--background:transparent;
|
||||
--opacity: 1;
|
||||
}
|
||||
.main-header{
|
||||
width: 100%; /* 400px */
|
||||
height: 100%;
|
||||
font-family: Roboto;
|
||||
border-top-left-radius: 25px;
|
||||
border-top-right-radius: 25px;
|
||||
background-color: #fff;
|
||||
overflow:hidden;
|
||||
padding: 30px 20px 0px 20px;
|
||||
color:#000;
|
||||
transform: translate3d(0, 1px, 0);
|
||||
|
||||
.title-content{
|
||||
width: 360px;
|
||||
margin: 0px auto;
|
||||
overflow: auto;
|
||||
padding: 0 !important;
|
||||
background: #fff;
|
||||
.middle{
|
||||
padding: 0!important;
|
||||
float: left;
|
||||
width: 221px;
|
||||
margin: 2.5px 0 0 5px;
|
||||
}
|
||||
}
|
||||
|
||||
.title{
|
||||
font-size: 25px;
|
||||
}
|
||||
|
||||
}
|
||||
.main-content{
|
||||
width: 100%; /* 400px */
|
||||
height: 100%;
|
||||
font-family: Roboto;
|
||||
margin: 0 auto;
|
||||
background-color: #fff;
|
||||
overflow:auto;
|
||||
padding: 15px 20px 0 20px;
|
||||
|
||||
.ion-item-container{
|
||||
width: 360px;
|
||||
margin: 15px auto;
|
||||
border: 1px solid #ebebeb;
|
||||
border-radius: 5px;
|
||||
padding-left: 10px;
|
||||
}
|
||||
.ion-item-container-no-border{
|
||||
width: 100%;
|
||||
margin: 0px auto;
|
||||
padding: 0 !important;
|
||||
overflow: auto;
|
||||
}
|
||||
.container-div{
|
||||
margin-bottom: 15px;
|
||||
overflow: auto;
|
||||
}
|
||||
.ion-item-class-2{
|
||||
width: 360px;
|
||||
margin: 0px auto;
|
||||
}
|
||||
.ion-icon-class{
|
||||
width: 45px;
|
||||
height: 45px;
|
||||
float: left;
|
||||
padding: 10px;
|
||||
font-size: 25px;
|
||||
}
|
||||
ion-select{
|
||||
padding-left: 5px;
|
||||
margin-left: 0;
|
||||
}
|
||||
.ion-input-class{
|
||||
width: 315px;
|
||||
height: 45px;
|
||||
border: 1px solid #ebebeb;
|
||||
border-radius: 5px;
|
||||
padding-left: 5px;
|
||||
padding-right: 10px;
|
||||
float: left;
|
||||
}
|
||||
.ion-input-class-no-height{
|
||||
border: 1px solid #ebebeb;
|
||||
border-radius: 5px;
|
||||
overflow: auto;
|
||||
}
|
||||
.list-people{
|
||||
width: 256px;
|
||||
float: left;
|
||||
|
||||
}
|
||||
.add-people{
|
||||
width: 45px;
|
||||
float: right;
|
||||
overflow: auto;
|
||||
font-size: 25px;
|
||||
padding: 10px;
|
||||
}
|
||||
.list-people-title{
|
||||
/* font-size: 13px; */
|
||||
color: #797979;
|
||||
}
|
||||
.attach-document{
|
||||
font-size: 15px;
|
||||
color: #0d89d1;
|
||||
margin: 5px 5px 5px 10px;
|
||||
padding: 5px;
|
||||
float: left;
|
||||
}
|
||||
.attach-icon{
|
||||
width: 37px;
|
||||
font-size: 35px;
|
||||
float: left;
|
||||
}
|
||||
.attach-title-item{
|
||||
width: 100%;
|
||||
font-size: 15px;
|
||||
color:#0d89d1;
|
||||
}
|
||||
/* SPAN */
|
||||
.span-left{
|
||||
float: left;
|
||||
font-size: 15x;
|
||||
}
|
||||
.span-right{
|
||||
text-align: right;
|
||||
float: right;
|
||||
font-size: 13px;
|
||||
}
|
||||
.container-footer{
|
||||
margin:0 auto;
|
||||
overflow: auto;
|
||||
}
|
||||
.button-cancel {
|
||||
width: 170px;
|
||||
height: 44px;
|
||||
border-radius: 22.5px;
|
||||
--background: #e0e9ee;
|
||||
--color: #061b52;
|
||||
margin:10px;
|
||||
}
|
||||
.button-save {
|
||||
width: 170px;
|
||||
height: 44px;
|
||||
border-radius: 22.5px;
|
||||
--background: #42b9fe;
|
||||
--color:#ffffff;
|
||||
margin:10px;
|
||||
}
|
||||
|
||||
.text-input{
|
||||
width: 100%;
|
||||
border: 1px solid #ebebeb;
|
||||
margin: 0px 15px 15px 0px;
|
||||
padding: 0 !important;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
/* Error Messages */
|
||||
.error{
|
||||
color:red;
|
||||
font-size: 12px;
|
||||
font-weight: bold;
|
||||
padding-bottom: 20px;
|
||||
}
|
||||
.span-color{
|
||||
color:red;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+6
-6
@@ -1,19 +1,19 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { IonicModule } from '@ionic/angular';
|
||||
|
||||
import { FilterPage } from './filter.page';
|
||||
import { NewEventPage } from './new-event.page';
|
||||
|
||||
describe('FilterPage', () => {
|
||||
let component: FilterPage;
|
||||
let fixture: ComponentFixture<FilterPage>;
|
||||
describe('NewEventPage', () => {
|
||||
let component: NewEventPage;
|
||||
let fixture: ComponentFixture<NewEventPage>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
declarations: [ FilterPage ],
|
||||
declarations: [ NewEventPage ],
|
||||
imports: [IonicModule.forRoot()]
|
||||
}).compileComponents();
|
||||
|
||||
fixture = TestBed.createComponent(FilterPage);
|
||||
fixture = TestBed.createComponent(NewEventPage);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
}));
|
||||
@@ -0,0 +1,132 @@
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { ModalController, NavParams } from '@ionic/angular';
|
||||
import { EventBody } from 'src/app/models/eventbody.model';
|
||||
import { EventPerson } from 'src/app/models/eventperson.model';
|
||||
import { EventsService } from 'src/app/services/events.service';
|
||||
import { Event } from '../../../models/event.model';
|
||||
import { AttendeesPage } from '../../events/attendees/attendees.page';
|
||||
|
||||
@Component({
|
||||
selector: 'app-new-event',
|
||||
templateUrl: './new-event.page.html',
|
||||
styleUrls: ['./new-event.page.scss'],
|
||||
})
|
||||
export class NewEventPage implements OnInit {
|
||||
postEvent: Event;
|
||||
eventBody: EventBody;
|
||||
segment:string = "true";
|
||||
profile:string;
|
||||
eventAttendees: EventPerson[];
|
||||
selectedSegment: string;
|
||||
selectedDate: Date;
|
||||
minDate: string;
|
||||
|
||||
constructor(
|
||||
private modalController: ModalController,
|
||||
private navParams: NavParams,
|
||||
private eventService: EventsService,
|
||||
) {
|
||||
this.postEvent = new Event();
|
||||
this.eventBody = { BodyType : "1", Text : ""};
|
||||
this.postEvent.Body = this.eventBody;
|
||||
this.profile = this.navParams.get('profile');
|
||||
|
||||
this.selectedSegment = this.navParams.get('segment');
|
||||
this.selectedDate = this.navParams.get('eventSelectedDate');
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
|
||||
console.log(this.profile);
|
||||
|
||||
|
||||
let selectedStartdDate = this.selectedDate;
|
||||
let selectedEndDate = new Date(this.selectedDate);
|
||||
/* Set + 30minutes to seleted datetime */
|
||||
/* selectedEndDate.setMinutes(this.selectedDate.getMinutes() + 30) */
|
||||
|
||||
/* this.minDate = this.selectedDate.toString(); */
|
||||
|
||||
if(this.selectedSegment != "Combinada"){
|
||||
this.postEvent ={
|
||||
EventId: '',
|
||||
Subject: '',
|
||||
Body: this.eventBody,
|
||||
Location: '',
|
||||
CalendarId: '',
|
||||
CalendarName: this.selectedSegment,
|
||||
StartDate: selectedStartdDate,
|
||||
EndDate: new Date(selectedEndDate),
|
||||
EventType: 'Reunião',
|
||||
Attendees: null,
|
||||
IsMeeting: false,
|
||||
IsRecurring: false,
|
||||
AppointmentState: 0,
|
||||
TimeZone: '',
|
||||
Organizer: '',
|
||||
Categories: null,
|
||||
HasAttachments: false,
|
||||
};
|
||||
}
|
||||
else{
|
||||
this.postEvent ={
|
||||
EventId: '',
|
||||
Subject: '',
|
||||
Body: this.eventBody,
|
||||
Location: '',
|
||||
CalendarId: '',
|
||||
CalendarName: 'Oficial',
|
||||
StartDate: selectedStartdDate,
|
||||
EndDate: new Date(selectedEndDate),
|
||||
EventType: 'Reunião',
|
||||
Attendees: null,
|
||||
IsMeeting: false,
|
||||
IsRecurring: false,
|
||||
AppointmentState: 0,
|
||||
TimeZone: '',
|
||||
Organizer: '',
|
||||
Categories: null,
|
||||
HasAttachments: false,
|
||||
};
|
||||
}
|
||||
}
|
||||
close(){
|
||||
this.modalController.dismiss();
|
||||
}
|
||||
save(){
|
||||
console.log(this.postEvent);
|
||||
console.log(this.profile);
|
||||
|
||||
|
||||
if(this.profile=='mdgpr'){
|
||||
this.eventService.postEventMd(this.postEvent, this.postEvent.CalendarName).subscribe();
|
||||
}
|
||||
else if(this.profile=='pr'){
|
||||
this.eventService.postEventPr(this.postEvent, this.postEvent.CalendarName).subscribe();
|
||||
}
|
||||
this.modalController.dismiss(this.postEvent);
|
||||
}
|
||||
|
||||
async openAttendees()
|
||||
{
|
||||
const modal = await this.modalController.create({
|
||||
component: AttendeesPage,
|
||||
componentProps: {
|
||||
eventAttendees: this.postEvent.Attendees
|
||||
},
|
||||
cssClass: 'attendee',
|
||||
backdropDismiss: false
|
||||
});
|
||||
|
||||
await modal.present();
|
||||
|
||||
modal.onDidDismiss().then((data) => {
|
||||
if (data['data'] != null)
|
||||
{
|
||||
let newattendees: EventPerson[] = data['data'];
|
||||
this.postEvent.Attendees = newattendees;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
import { NgModule } from '@angular/core';
|
||||
import { Routes, RouterModule } from '@angular/router';
|
||||
|
||||
import { ViewEventPage } from './view-event.page';
|
||||
|
||||
const routes: Routes = [
|
||||
{
|
||||
path: '',
|
||||
component: ViewEventPage
|
||||
}
|
||||
];
|
||||
|
||||
@NgModule({
|
||||
imports: [RouterModule.forChild(routes)],
|
||||
exports: [RouterModule],
|
||||
})
|
||||
export class ViewEventPageRoutingModule {}
|
||||
@@ -0,0 +1,22 @@
|
||||
import { NgModule } from '@angular/core';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { FormsModule } from '@angular/forms';
|
||||
|
||||
import { IonicModule } from '@ionic/angular';
|
||||
|
||||
import { ViewEventPageRoutingModule } from './view-event-routing.module';
|
||||
|
||||
import { ViewEventPage } from './view-event.page';
|
||||
import { SharedModule } from 'src/app/shared/shared.module';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule,
|
||||
FormsModule,
|
||||
IonicModule,
|
||||
SharedModule,
|
||||
ViewEventPageRoutingModule
|
||||
],
|
||||
declarations: [ViewEventPage]
|
||||
})
|
||||
export class ViewEventPageModule {}
|
||||
@@ -0,0 +1,64 @@
|
||||
<ion-header class="ion-no-border">
|
||||
<ion-toolbar class="header-toolbar">
|
||||
<div class="main-header">
|
||||
<div class="title-content">
|
||||
<app-btn-modal-dismiss></app-btn-modal-dismiss>
|
||||
<div class="middle">
|
||||
<ion-label class="title">Ver Evento</ion-label>
|
||||
</div>
|
||||
<div class="header-icon-right">
|
||||
<ion-icon slot="end" src="assets/images/icons-edit.svg" ></ion-icon>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</ion-toolbar>
|
||||
</ion-header>
|
||||
|
||||
<ion-content>
|
||||
<div class="main-content">
|
||||
<div class="upper-content">
|
||||
<div class="content-location">
|
||||
<div class="location-detail">
|
||||
<ion-label >Texto</ion-label>
|
||||
</div>
|
||||
<div class="button-calendar-type">
|
||||
<ion-button class="button-calendar-type" slot="end">Texto</ion-button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content-details">
|
||||
<ion-label>
|
||||
<p>Texto</p>
|
||||
<p>das Texto às Texto</p>
|
||||
<p >(Não se repete)</p>
|
||||
<p >Repete</p>
|
||||
</ion-label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="middle-content">
|
||||
<ion-item class="ion-no-margin ion-no-padding">
|
||||
<ion-label>
|
||||
<h3>Intervenientes</h3>
|
||||
<p>Texto</p>
|
||||
</ion-label>
|
||||
</ion-item>
|
||||
<ion-item class="ion-no-margin ion-no-padding">
|
||||
<ion-label>
|
||||
<h3>Detalhes</h3>
|
||||
<p>Texto</p>
|
||||
</ion-label>
|
||||
</ion-item>
|
||||
</div>
|
||||
|
||||
<div class="bottom-content">
|
||||
<ion-list>
|
||||
<h3>Documentos Anexados</h3>
|
||||
<ion-item class="ion-no-margin ion-no-padding">
|
||||
<ion-label>
|
||||
<p class="attach-title-item">Receita por Natureza</p>
|
||||
<p><span class="span-left">Texto</span><span class="span-right"><!-- {{ task.CreateDate | date: 'dd-MM-yy' }} --></span></p>
|
||||
</ion-label>
|
||||
</ion-item>
|
||||
</ion-list>
|
||||
</div>
|
||||
</div>
|
||||
</ion-content>
|
||||
@@ -0,0 +1,144 @@
|
||||
ion-content{
|
||||
--background:transparent;
|
||||
--padding-top:0px;
|
||||
--padding-start: 20px;
|
||||
--padding-end: 20px;
|
||||
font-size: 18px;
|
||||
}
|
||||
ion-menu{
|
||||
--height: 225px;
|
||||
}
|
||||
.header-toolbar{
|
||||
--background:transparent;
|
||||
--opacity: 1;
|
||||
}
|
||||
.main-header{
|
||||
width: 100%; /* 400px */
|
||||
height: 100%;
|
||||
font-family: Roboto;
|
||||
border-top-left-radius: 25px;
|
||||
border-top-right-radius: 25px;
|
||||
background-color: #fff;
|
||||
overflow:hidden;
|
||||
padding: 30px 0px 0px 0px;
|
||||
color:#000;
|
||||
transform: translate3d(0, 1px, 0);
|
||||
|
||||
.title-content{
|
||||
width: 360px;
|
||||
margin: 0px auto;
|
||||
overflow: auto;
|
||||
padding: 0 !important;
|
||||
background: #fff;
|
||||
|
||||
.middle{
|
||||
width: 270px;
|
||||
padding: 0!important;
|
||||
float: left;
|
||||
margin: 2.5px 0 0 0;
|
||||
}
|
||||
.header-icon-right{
|
||||
width: 45px;
|
||||
font-size: 45px;
|
||||
float: right;
|
||||
overflow: auto;
|
||||
}
|
||||
}
|
||||
|
||||
.title{
|
||||
font-size: 25px;
|
||||
}
|
||||
|
||||
}
|
||||
.main-content{
|
||||
width: 100%; /* 400px */
|
||||
height: 100%;
|
||||
font-family: Roboto;
|
||||
margin: 0 auto;
|
||||
background-color: #fff;
|
||||
overflow:auto;
|
||||
padding: 15px 0px 0 0px;
|
||||
|
||||
.upper-content{
|
||||
margin-left: 50px;
|
||||
overflow: auto;
|
||||
font-size: 18px;
|
||||
|
||||
.content-location{
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
padding: 0;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.location-detail{
|
||||
width: 210px;
|
||||
font-weight: 700;
|
||||
font-size: 18px;
|
||||
float: left;
|
||||
margin: 5px 5px 5px 0px;
|
||||
}
|
||||
.button-calendar-type{
|
||||
width: 91px;
|
||||
--border-radius: 12.5px;
|
||||
--background: #ffb703;
|
||||
margin-left: 5px;
|
||||
float: left;
|
||||
}
|
||||
.button-calendar-type ion-button{
|
||||
height: 25px;
|
||||
}
|
||||
.button-edit-event {
|
||||
width: 140px;
|
||||
height: 44px;
|
||||
border-radius: 22.5px;
|
||||
--background: #e0e9ee;
|
||||
--color:#061b52;
|
||||
}
|
||||
.content-details p{
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
.middle-conten{
|
||||
.middle-content h3, .middle-content p{
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
.bottom-content{
|
||||
width: 360px;
|
||||
margin: 0 auto;
|
||||
|
||||
.bottom-content h3{
|
||||
font-size: 16px;
|
||||
margin: 0 0 0 10px;
|
||||
}
|
||||
.attach-document{
|
||||
font-size: 15px;
|
||||
color: #0d89d1;
|
||||
margin: 5px 5px 5px 10px;
|
||||
padding: 5px;
|
||||
float: left;
|
||||
}
|
||||
.attach-icon{
|
||||
width: 37px;
|
||||
font-size: 35px;
|
||||
float: left;
|
||||
}
|
||||
.attach-title-item{
|
||||
width: 100%;
|
||||
font-size: 15px;
|
||||
color:#0d89d1;
|
||||
}
|
||||
/* SPAN */
|
||||
.span-left{
|
||||
float: left;
|
||||
font-size: 15x;
|
||||
}
|
||||
.span-right{
|
||||
text-align: right;
|
||||
float: right;
|
||||
font-size: 13px;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { IonicModule } from '@ionic/angular';
|
||||
|
||||
import { ViewEventPage } from './view-event.page';
|
||||
|
||||
describe('ViewEventPage', () => {
|
||||
let component: ViewEventPage;
|
||||
let fixture: ComponentFixture<ViewEventPage>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
declarations: [ ViewEventPage ],
|
||||
imports: [IonicModule.forRoot()]
|
||||
}).compileComponents();
|
||||
|
||||
fixture = TestBed.createComponent(ViewEventPage);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
}));
|
||||
|
||||
it('should create', () => {
|
||||
expect(component).toBeTruthy();
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,15 @@
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'app-view-event',
|
||||
templateUrl: './view-event.page.html',
|
||||
styleUrls: ['./view-event.page.scss'],
|
||||
})
|
||||
export class ViewEventPage implements OnInit {
|
||||
|
||||
constructor() { }
|
||||
|
||||
ngOnInit() {
|
||||
}
|
||||
|
||||
}
|
||||
@@ -71,7 +71,8 @@
|
||||
</span> -->
|
||||
<ion-item>
|
||||
<ion-label position="floating">Data Início <span class="span-color">*</span></ion-label>
|
||||
<ion-datetime placeholder="{{postEvent.StartDate | date: 'dd MMM yyyy H:mm'}}" formControlName="startdate" [(ngModel)]="postEvent.StartDate" min="2020" max="2100"
|
||||
<ion-datetime placeholder="{{postEvent.StartDate | date: 'dd MMM yyyy H:mm'}}"
|
||||
formControlName="startdate" [(ngModel)]="postEvent.StartDate" min="2020" max="2100"
|
||||
displayFormat="D MMM YYYY H:mm" minuteValues="0,15,30,45"
|
||||
monthShortNames="Jan, Fev, Mar, Abr, Mai, Jun, Jul, Aug, Sep, Out, Nov, Dez"
|
||||
required>
|
||||
@@ -83,7 +84,8 @@
|
||||
</span> -->
|
||||
<ion-item>
|
||||
<ion-label position="floating">Data Fim <span class="span-color">*</span></ion-label>
|
||||
<ion-datetime placeholder="{{postEvent.EndDate | date: 'dd MMM yyyy H:mm'}}" formControlName="enddate" [(ngModel)]="postEvent.EndDate" min="2020" max="2100"
|
||||
<ion-datetime placeholder="{{postEvent.EndDate | date: 'dd MMM yyyy H:mm'}}"
|
||||
formControlName="enddate" [(ngModel)]="postEvent.EndDate" min="2020" max="2100"
|
||||
displayFormat="D MMM YYYY H:mm" minuteValues="0,15,30,45"
|
||||
monthShortNames="Jan, Fev, Mar, Abr, Mai, Jun, Jul, Aug, Sep, Out, Nov, Dez"
|
||||
required></ion-datetime>
|
||||
|
||||
@@ -46,13 +46,18 @@ export class CalModalPage implements OnInit {
|
||||
|
||||
profile:string;
|
||||
|
||||
constructor(public formBuilder: FormBuilder, private modalCtrl: ModalController, private eventService: EventsService, private alertController:AlertService,
|
||||
private navParams: NavParams) {
|
||||
constructor(
|
||||
public formBuilder: FormBuilder,
|
||||
private modalCtrl: ModalController,
|
||||
private eventService: EventsService,
|
||||
private alertController:AlertService,
|
||||
private navParams: NavParams
|
||||
)
|
||||
{
|
||||
this.postEvent = new Event();
|
||||
this.eventBody = { BodyType : "1", Text : ""};
|
||||
this.postEvent.Body = this.eventBody;
|
||||
this.profile = this.navParams.get('profile');
|
||||
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<ion-header>
|
||||
<app-header></app-header>
|
||||
<!-- <app-header></app-header> -->
|
||||
<app-header-no-search></app-header-no-search>
|
||||
</ion-header>
|
||||
<ion-header class="ion-no-border">
|
||||
<ion-toolbar class="bg-blue">
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<ion-header class="ion-no-border">
|
||||
<app-header></app-header>
|
||||
<app-header-no-search></app-header-no-search>
|
||||
</ion-header>
|
||||
|
||||
<!-- Default Refresher -->
|
||||
|
||||
+5
-4
@@ -17,10 +17,7 @@ ion-content{
|
||||
--padding-start: 15px;
|
||||
--padding-end: 20px;
|
||||
}
|
||||
.container-div{
|
||||
margin-bottom: 15px;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.ion-item-container{
|
||||
width: 360px;
|
||||
margin: 15px auto;
|
||||
@@ -34,6 +31,10 @@ ion-content{
|
||||
padding: 0 !important;
|
||||
overflow: auto;
|
||||
}
|
||||
.container-div{
|
||||
margin-bottom: 15px;
|
||||
overflow: auto;
|
||||
}
|
||||
.ion-item-class-2{
|
||||
width: 360px;
|
||||
margin: 0px auto;
|
||||
|
||||
@@ -7,6 +7,7 @@ import { IonicModule } from '@ionic/angular';
|
||||
import { GabineteDigitalPageRoutingModule } from './gabinete-digital-routing.module';
|
||||
|
||||
import { GabineteDigitalPage } from './gabinete-digital.page';
|
||||
import { SharedModule } from 'src/app/shared/shared.module';
|
||||
/* import { ComponentsModule } from 'src/app/components/components.module'; */
|
||||
|
||||
@NgModule({
|
||||
@@ -14,7 +15,7 @@ import { GabineteDigitalPage } from './gabinete-digital.page';
|
||||
CommonModule,
|
||||
FormsModule,
|
||||
IonicModule,
|
||||
/* ComponentsModule, */
|
||||
SharedModule,
|
||||
GabineteDigitalPageRoutingModule
|
||||
],
|
||||
declarations: [GabineteDigitalPage],
|
||||
|
||||
@@ -1,4 +1,21 @@
|
||||
<ion-header>
|
||||
<app-header></app-header>
|
||||
</ion-header>
|
||||
<ion-header class="ion-no-border">
|
||||
<ion-toolbar class="bg-blue">
|
||||
<div class="main-header">
|
||||
<div class="title-content">
|
||||
<div class="div-title">
|
||||
<ion-label class="title">Gabinete Digital</ion-label>
|
||||
</div>
|
||||
<div class="div-icon">
|
||||
<ion-icon slot="end" src='assets/images/icons-add.svg'></ion-icon>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</ion-toolbar>
|
||||
</ion-header>
|
||||
<!-- <ion-header class="ion-no-border">
|
||||
<ion-toolbar class="ion-no-border" class="bg-blue">
|
||||
<div class="div-top-header">
|
||||
<div class="div-search">
|
||||
@@ -12,23 +29,15 @@
|
||||
</div>
|
||||
</div>
|
||||
</ion-toolbar>
|
||||
</ion-header>
|
||||
</ion-header> -->
|
||||
|
||||
<ion-content>
|
||||
<div class="main-content">
|
||||
<div class="title-content">
|
||||
<div class="div-title">
|
||||
<ion-label class="title">Gabinete Digital</ion-label>
|
||||
</div>
|
||||
<div class="div-icon">
|
||||
<ion-icon slot="end" src='assets/images/icons-add.svg'></ion-icon>
|
||||
</div>
|
||||
<ion-refresher name="refresher" slot="fixed" (ionRefresh)="doRefresh($event)">
|
||||
<ion-progress-bar type="indeterminate" *ngIf="showLoader"></ion-progress-bar>
|
||||
<ion-refresher-content>
|
||||
</ion-refresher-content>
|
||||
</ion-refresher>
|
||||
</div>
|
||||
<div class="main-content">
|
||||
<div class="exp-card" (click)="openEventsToApproveList('MDGPR')">
|
||||
<div class="exp-card-icon">
|
||||
<ion-icon src="assets/images/icons-agenda.svg"></ion-icon>
|
||||
|
||||
@@ -12,24 +12,24 @@ ion-content{
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
ion-card{
|
||||
ion-card{
|
||||
background-color: #d4d5ca;
|
||||
border-radius: 20px;
|
||||
}
|
||||
ion-item{
|
||||
}
|
||||
ion-item{
|
||||
--ion-background-color:#dae3f3;
|
||||
margin-bottom: 10px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
ion-button{
|
||||
}
|
||||
ion-button{
|
||||
color: #000;
|
||||
--background:none;
|
||||
--border-color: none;
|
||||
--box-shadow:none;
|
||||
}
|
||||
ion-label{
|
||||
}
|
||||
ion-label{
|
||||
padding: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.ion-item-change-color{
|
||||
--ion-background-color:#fff2cc !important;
|
||||
@@ -65,14 +65,51 @@ ion-label{
|
||||
}
|
||||
}
|
||||
|
||||
.main-header{
|
||||
width: 100%; /* 400px */
|
||||
height: 100%;
|
||||
font-family: Roboto;
|
||||
border-top-left-radius: 25px;
|
||||
border-top-right-radius: 25px;
|
||||
background-color: #ecf8ff;
|
||||
overflow:hidden;
|
||||
padding: 30px 20px 0px 20px;
|
||||
color:#000;
|
||||
transform: translate3d(0, 1px, 0);
|
||||
|
||||
.title-content{
|
||||
width: 360px;
|
||||
margin: 0px auto;
|
||||
overflow: auto;
|
||||
padding: 0 !important;
|
||||
background: #ecf8ff;
|
||||
}
|
||||
.div-title{
|
||||
padding: 0!important;
|
||||
float: left;
|
||||
}
|
||||
.title{
|
||||
font-size: 25px;
|
||||
}
|
||||
.div-icon{
|
||||
width: 40px;
|
||||
float: right;
|
||||
font-size: 35px;
|
||||
overflow: auto;
|
||||
padding: 1px;
|
||||
}
|
||||
.div-icon ion-icon{
|
||||
float: right;
|
||||
padding-left: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
/* NEW CSS */
|
||||
.main-content{
|
||||
width: 100%; /* 400px */
|
||||
height: 100%;
|
||||
font-family: Roboto;
|
||||
margin: 0 auto;
|
||||
border-top-left-radius: 25px;
|
||||
border-top-right-radius: 25px;
|
||||
background:#ecf8ff;;
|
||||
overflow:auto;
|
||||
padding: 25px 15px 15px 15px;
|
||||
|
||||
@@ -1,21 +1,6 @@
|
||||
<ion-header>
|
||||
<app-header></app-header>
|
||||
</ion-header>
|
||||
<!-- <ion-header class="ion-no-border">
|
||||
<ion-toolbar class="bg-blue">
|
||||
<div class="div-top-header">
|
||||
<div class="div-search">
|
||||
<ion-icon src='assets/images/icons-search.svg'></ion-icon>
|
||||
</div>
|
||||
<div class="div-logo">
|
||||
<img src='assets/images/logo-no-bg.png' alt='logo'>
|
||||
</div>
|
||||
<div class="div-profile">
|
||||
<ion-icon src='assets/images/icons-profile.svg'></ion-icon>
|
||||
</div>
|
||||
</div>
|
||||
</ion-toolbar>
|
||||
</ion-header> -->
|
||||
<ion-header class="ion-no-border">
|
||||
<ion-toolbar class="bg-blue">
|
||||
<div class="main-header">
|
||||
@@ -26,7 +11,6 @@
|
||||
<div class="div-icon">
|
||||
<ion-icon (click)="AddPublicationFolder()" slot="end" src='assets/images/icons-add.svg'></ion-icon>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</ion-toolbar>
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
<ion-list>
|
||||
<ion-list-header>Ionic</ion-list-header>
|
||||
<button ion-item (click)="close()">Learn Ionic</button>
|
||||
<button ion-item (click)="close()">Documentation</button>
|
||||
<button ion-item (click)="close()">Showcase</button>
|
||||
<button ion-item (click)="close()">GitHub Repo</button>
|
||||
</ion-list>
|
||||
@@ -1,15 +0,0 @@
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'app-filter',
|
||||
templateUrl: './filter.page.html',
|
||||
styleUrls: ['./filter.page.scss'],
|
||||
})
|
||||
export class FilterPage implements OnInit {
|
||||
|
||||
constructor() { }
|
||||
|
||||
ngOnInit() {
|
||||
}
|
||||
|
||||
}
|
||||
@@ -12,10 +12,6 @@ const routes: Routes = [
|
||||
path: 'sender',
|
||||
loadChildren: () => import('./sender/sender.module').then( m => m.SenderPageModule)
|
||||
},
|
||||
{
|
||||
path: 'filter',
|
||||
loadChildren: () => import('./filter/filter.module').then( m => m.FilterPageModule)
|
||||
},
|
||||
{
|
||||
path: 'organic-entity',
|
||||
loadChildren: () => import('./organic-entity/organic-entity.module').then( m => m.OrganicEntityPageModule)
|
||||
|
||||
@@ -89,7 +89,8 @@ export class SearchPage implements OnInit {
|
||||
basicSearch(){
|
||||
|
||||
this.search.basicSearch(this.searchSubject, this.searchDocumentDate, this.searchSender
|
||||
,this.searchOrganicEntiry, this.searchDocTypeId).subscribe(res=>{
|
||||
,this.searchOrganicEntiry, this.searchDocTypeId, '386').subscribe(res=>{
|
||||
console.log(res);
|
||||
|
||||
res.Categories.forEach( e => {
|
||||
e['Active'] = false;
|
||||
|
||||
@@ -28,7 +28,7 @@ export class SearchService {
|
||||
}
|
||||
|
||||
|
||||
basicSearch(subject:string, date:string, sender:string, organicEntity:string, docTypeId:string): Observable<EventSearch>{
|
||||
basicSearch(subject:string, date:string, sender:string, organicEntity:string, docTypeId:string, applicationType:string): Observable<EventSearch>{
|
||||
// Endpoint
|
||||
const geturl = environment.apiURL + 'search';
|
||||
// store params
|
||||
@@ -41,6 +41,7 @@ export class SearchService {
|
||||
params = params.set("remetente", sender);
|
||||
params = params.set("entidadeOrganica", organicEntity);
|
||||
params = params.set("docTypeId", docTypeId);
|
||||
params = params.set("applicationType", applicationType);
|
||||
|
||||
|
||||
const options = {
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
import { NgModule } from '@angular/core';
|
||||
import { Routes, RouterModule } from '@angular/router';
|
||||
|
||||
import { HeaderNoSearchPage } from './header-no-search.page';
|
||||
|
||||
const routes: Routes = [
|
||||
{
|
||||
path: '',
|
||||
component: HeaderNoSearchPage
|
||||
}
|
||||
];
|
||||
|
||||
@NgModule({
|
||||
imports: [RouterModule.forChild(routes)],
|
||||
exports: [RouterModule],
|
||||
})
|
||||
export class HeaderNoSearchPageRoutingModule {}
|
||||
@@ -0,0 +1,20 @@
|
||||
import { NgModule } from '@angular/core';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { FormsModule } from '@angular/forms';
|
||||
|
||||
import { IonicModule } from '@ionic/angular';
|
||||
|
||||
import { HeaderNoSearchPageRoutingModule } from './header-no-search-routing.module';
|
||||
|
||||
import { HeaderNoSearchPage } from './header-no-search.page';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule,
|
||||
FormsModule,
|
||||
IonicModule,
|
||||
HeaderNoSearchPageRoutingModule
|
||||
],
|
||||
declarations: [HeaderNoSearchPage]
|
||||
})
|
||||
export class HeaderNoSearchPageModule {}
|
||||
@@ -0,0 +1,25 @@
|
||||
<ion-toolbar class="bg-blue">
|
||||
|
||||
<ion-grid>
|
||||
|
||||
<ion-row class="div-top-header ion-justify-content-between">
|
||||
<ion-col>
|
||||
<!-- <div (click)="openSearch()" class="div-search">
|
||||
<ion-icon src='assets/images/icons-search.svg'></ion-icon>
|
||||
</div> -->
|
||||
</ion-col>
|
||||
<ion-col>
|
||||
<div class="div-logo">
|
||||
<img src='assets/images/logo-no-bg.png' alt='logo'>
|
||||
</div>
|
||||
</ion-col>
|
||||
<ion-col>
|
||||
<div class="div-profile">
|
||||
<ion-icon src='assets/images/icons-profile.svg'></ion-icon>
|
||||
</div>
|
||||
</ion-col>
|
||||
</ion-row>
|
||||
|
||||
</ion-grid>
|
||||
|
||||
</ion-toolbar>
|
||||
@@ -0,0 +1,32 @@
|
||||
@import '~src/function.scss';
|
||||
|
||||
.div-top-header{
|
||||
margin: 0 auto;
|
||||
background-color: #0782c9;
|
||||
overflow: auto;
|
||||
padding-top: em(15px);
|
||||
border: 0!important;
|
||||
|
||||
.div-search{
|
||||
font-size: 45px;
|
||||
margin: 0 0 0 10px
|
||||
}
|
||||
.div-logo{
|
||||
background: transparent;
|
||||
width: em(140px);
|
||||
margin: 0px auto;
|
||||
margin-top: 5px;
|
||||
justify-content: center;
|
||||
display: flex;
|
||||
}
|
||||
.div-logo img{
|
||||
width: 100%;
|
||||
margin: 0px auto;
|
||||
}
|
||||
.div-profile{
|
||||
font-size: 45px;
|
||||
margin-right: 10px;
|
||||
justify-content: flex-end;
|
||||
display: flex;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { IonicModule } from '@ionic/angular';
|
||||
|
||||
import { HeaderNoSearchPage } from './header-no-search.page';
|
||||
|
||||
describe('HeaderNoSearchPage', () => {
|
||||
let component: HeaderNoSearchPage;
|
||||
let fixture: ComponentFixture<HeaderNoSearchPage>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
declarations: [ HeaderNoSearchPage ],
|
||||
imports: [IonicModule.forRoot()]
|
||||
}).compileComponents();
|
||||
|
||||
fixture = TestBed.createComponent(HeaderNoSearchPage);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
}));
|
||||
|
||||
it('should create', () => {
|
||||
expect(component).toBeTruthy();
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,27 @@
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { ModalController } from '@ionic/angular';
|
||||
import { SearchPage } from 'src/app/pages/search/search.page';
|
||||
|
||||
@Component({
|
||||
selector: 'app-header-no-search',
|
||||
templateUrl: './header-no-search.page.html',
|
||||
styleUrls: ['./header-no-search.page.scss'],
|
||||
})
|
||||
export class HeaderNoSearchPage implements OnInit {
|
||||
|
||||
constructor(private modalController: ModalController) { }
|
||||
|
||||
ngOnInit() {
|
||||
}
|
||||
|
||||
async openSearch() {
|
||||
const modal = await this.modalController.create({
|
||||
component: SearchPage,
|
||||
cssClass: 'group-messages',
|
||||
componentProps: {
|
||||
}
|
||||
});
|
||||
return await modal.present();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -7,6 +7,7 @@ import { HeaderPrPage } from './header-pr/header-pr.page';
|
||||
import { BtnSeguintePage } from './btn-seguinte/btn-seguinte.page';
|
||||
import { BtnModalDismissPage } from './btn-modal-dismiss/btn-modal-dismiss.page';
|
||||
import { ChatPopoverPage } from './popover/chat-popover/chat-popover.page';
|
||||
import { HeaderNoSearchPage } from './headers/header-no-search/header-no-search.page';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
@@ -17,12 +18,15 @@ import { ChatPopoverPage } from './popover/chat-popover/chat-popover.page';
|
||||
exports: [
|
||||
HeaderPage,
|
||||
HeaderPrPage,
|
||||
HeaderNoSearchPage,
|
||||
BtnSeguintePage,
|
||||
BtnModalDismissPage,
|
||||
],
|
||||
entryComponents:[],
|
||||
declarations: [HeaderPage,
|
||||
declarations: [
|
||||
HeaderPage,
|
||||
HeaderPrPage,
|
||||
HeaderNoSearchPage,
|
||||
BtnSeguintePage,
|
||||
BtnModalDismissPage,
|
||||
]
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
export const environment = {
|
||||
production: true,
|
||||
apiURL: 'http://gpr-dev-01.gabinetedigital.local/GabineteDigital.Services/v1/api/',
|
||||
apiChatUrl: 'http://chat.gabinetedigital.local:3000/api/v1/',
|
||||
apiURL: 'https://equilibrium.dyndns.info/GabineteDigital.Services/V4/api/',
|
||||
apiChatUrl: 'https://www.tabularium.pt/api/v1/',
|
||||
domain: 'gabinetedigital.local',
|
||||
defaultuser: '',
|
||||
defaultuserpwd: ''
|
||||
|
||||
@@ -9,7 +9,7 @@ export const environment = {
|
||||
apiChatUrl: 'https://www.tabularium.pt/api/v1/',
|
||||
/* apiChatUrl: 'http://chat.gabinetedigital.local:3000/api/v1/', */
|
||||
domain: 'gabinetedigital.local',
|
||||
defaultuser: 'tiago.kayaya',
|
||||
defaultuser: 'paulo.pinto',
|
||||
defaultuserpwd: 'tabteste@006'
|
||||
};
|
||||
|
||||
|
||||
+21
-16
@@ -45,7 +45,6 @@ td.monthview-current{
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
text-align: center;
|
||||
padding-left: 9px;
|
||||
color: white;
|
||||
}
|
||||
}
|
||||
@@ -148,34 +147,40 @@ td.monthview-selected {
|
||||
|
||||
.calendar-event-type-Oficial{
|
||||
border-right: 3px solid #f05d5e !important;
|
||||
border-radius: 21px;
|
||||
color: black;
|
||||
margin: 0px auto;
|
||||
width: 35px;
|
||||
border-radius: 21px !important;
|
||||
color: black !important;
|
||||
margin: 0px auto !important;
|
||||
width: 35px !important;
|
||||
}
|
||||
|
||||
.calendar-event-type-Pessoal{
|
||||
border-left: 3px solid #ffb703 !important;
|
||||
border-radius: 21px;
|
||||
color: black;
|
||||
margin: 0px auto;
|
||||
width: 35px;
|
||||
border-radius: 21px !important;
|
||||
color: black !important;
|
||||
margin: 0px auto !important;
|
||||
width: 35px !important;
|
||||
}
|
||||
|
||||
.calendar-event-type-both{
|
||||
border-radius: 21px;
|
||||
border-left: 3px solid #ffb703;
|
||||
border-bottom: none;
|
||||
border-right: 3px solid #f05d5e;
|
||||
color: black;
|
||||
margin: 0px auto;
|
||||
width: 35px;
|
||||
border-radius: 21px !important;
|
||||
border-left: 3px solid #ffb703 !important;
|
||||
border-bottom: none !important;
|
||||
border-right: 3px solid #f05d5e !important;
|
||||
color: black !important;
|
||||
margin: 0px auto !important;
|
||||
width: 35px !important;
|
||||
}
|
||||
|
||||
.cal-hour-segment {
|
||||
border-bottom: none !important;
|
||||
}
|
||||
|
||||
|
||||
|
||||
td.monthview-current{
|
||||
border-bottom: 1px solid #3a87ad !important;
|
||||
}
|
||||
|
||||
/* angular-cli file: src/styles.css */
|
||||
@import "../node_modules/angular-calendar/css/angular-calendar.css";
|
||||
@import "./style/main.scss";
|
||||
|
||||
@@ -263,7 +263,7 @@
|
||||
padding: 25px;
|
||||
background: rgba(51, 51, 51, 0.3);
|
||||
}
|
||||
.newchat, .new-group, .contacts, .group-messages, .custom-modal{
|
||||
.modal, .newchat, .new-group, .contacts, .group-messages, .custom-modal{
|
||||
padding-top: 93px;
|
||||
--border-radius: 25px 25px 0 0;
|
||||
--border-width:0px;
|
||||
|
||||
Reference in New Issue
Block a user