diff --git a/src/core/components/components.module.ts b/src/core/components/components.module.ts index 7a8169648..0155f8833 100644 --- a/src/core/components/components.module.ts +++ b/src/core/components/components.module.ts @@ -16,6 +16,7 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { IonicModule } from '@ionic/angular'; import { TranslateModule } from '@ngx-translate/core'; +import { FormsModule } from '@angular/forms'; import { CoreChronoComponent } from './chrono/chrono'; import { CoreDownloadRefreshComponent } from './download-refresh/download-refresh'; @@ -38,10 +39,11 @@ import { CoreContextMenuItemComponent } from './context-menu/context-menu-item'; import { CoreContextMenuPopoverComponent } from './context-menu/context-menu-popover'; import { CoreUserAvatarComponent } from './user-avatar/user-avatar'; import { CoreDynamicComponent } from './dynamic-component/dynamic-component'; +import { CoreNavBarButtonsComponent } from './navbar-buttons/navbar-buttons'; +import { CoreSendMessageFormComponent } from './send-message-form/send-message-form'; import { CoreDirectivesModule } from '@directives/directives.module'; import { CorePipesModule } from '@pipes/pipes.module'; -import { CoreNavBarButtonsComponent } from './navbar-buttons/navbar-buttons'; @NgModule({ declarations: [ @@ -67,10 +69,12 @@ import { CoreNavBarButtonsComponent } from './navbar-buttons/navbar-buttons'; CoreNavBarButtonsComponent, CoreUserAvatarComponent, CoreDynamicComponent, + CoreSendMessageFormComponent, ], imports: [ CommonModule, IonicModule.forRoot(), + FormsModule, TranslateModule.forChild(), CoreDirectivesModule, CorePipesModule, @@ -98,6 +102,7 @@ import { CoreNavBarButtonsComponent } from './navbar-buttons/navbar-buttons'; CoreNavBarButtonsComponent, CoreUserAvatarComponent, CoreDynamicComponent, + CoreSendMessageFormComponent, ], }) export class CoreComponentsModule {} diff --git a/src/core/components/send-message-form/core-send-message-form.html b/src/core/components/send-message-form/core-send-message-form.html new file mode 100644 index 000000000..118b9daa2 --- /dev/null +++ b/src/core/components/send-message-form/core-send-message-form.html @@ -0,0 +1,13 @@ +
+ diff --git a/src/core/components/send-message-form/send-message-form.scss b/src/core/components/send-message-form/send-message-form.scss new file mode 100644 index 000000000..0faebb6ee --- /dev/null +++ b/src/core/components/send-message-form/send-message-form.scss @@ -0,0 +1,33 @@ +:host { + background: var(--white); + + form { + position: relative; + display: flex; + align-items: center; + width: 100%; + margin-top: 5px; + margin-bottom: 5px; + } + + .core-send-message-input { + appearance: none; + display: block; + width: 100%; + min-height: 28px; + border: 0; + font-family: inherit; + background: var(--core-send-message-input-background); + color: var(--core-send-message-input-color); + border-radius: 5px; + margin: 0 5px; + } + + .core-send-message-button { + margin: 0; + padding: 0; + display: none; + min-height: 0; + align-self: self-end; + } +} diff --git a/src/core/components/send-message-form/send-message-form.ts b/src/core/components/send-message-form/send-message-form.ts new file mode 100644 index 000000000..06ce5ffe3 --- /dev/null +++ b/src/core/components/send-message-form/send-message-form.ts @@ -0,0 +1,126 @@ +// (C) Copyright 2015 Moodle Pty Ltd. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import { Component, Input, Output, EventEmitter, OnInit, ViewChild, ElementRef } from '@angular/core'; +import { CoreApp } from '@services/app'; +import { CoreConfig } from '@services/config'; +import { CoreEvents } from '@singletons/events'; +import { CoreSites } from '@services/sites'; +import { CoreUtils } from '@services/utils/utils'; +import { CoreTextUtils } from '@services/utils/text'; +import { CoreDomUtils } from '@services/utils/dom'; +import { CoreConstants } from '@/core/constants'; + +/** + * Component to display a "send message form". + * + * @description + * This component will display a standalone send message form in order to have a better UX. + * + * Example usage: + *