egroupware_official/api/js/etemplate/Et2Url/Et2UrlFax.ts
nathan ec8b32c01d CSS / Layout cleanup - better autosize
- let things inside box shrink, actual widget can decide minimums
- Slotted inputs take up full width by default
- More consistent sizing/position for invoker
2022-04-22 15:21:46 -06:00

62 lines
1.4 KiB
TypeScript

/**
* EGroupware eTemplate2 - Fax input widget
*
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
* @package api
* @link https://www.egroupware.org
* @author Ralf Becker
*/
/* eslint-disable import/no-extraneous-dependencies */
import {Et2UrlPhone} from "./Et2UrlPhone";
import {Et2UrlEmail} from "./Et2UrlEmail";
import {colorsDefStyles} from "../Styles/colorsDefStyles";
import {css} from "@lion/core";
/**
* @customElement et2-url-phone
*/
export class Et2UrlFax extends Et2UrlPhone
{
static get styles()
{
return [
...super.styles,
colorsDefStyles,
css`
::slotted([slot="suffix"]) {
font-size: 90% !important;
position: relative;
}
`,
];
}
constructor()
{
super();
//this.defaultValidators.push(...);
this._invokerLabel = '📠';
this._invokerTitle = 'Send';
this._invokerAction = () => {
Et2UrlFax.action(this.value);
}
}
static action(value)
{
// convert fax numbers to email, if configured
if (egw.config('fax_email') && (value = value.replace('♥','').replace('(0)','').replace(/[^0-9+]/g, '')))
{
value = value.replace(new RegExp(egw.config('fax_email_regexp')||'(.*)'),
egw.config('fax_email'));
Et2UrlEmail.action(value);
}
else
{
Et2UrlPhone.action(value);
}
}
}
// @ts-ignore TypeScript is not recognizing that this is a LitElement
customElements.define("et2-url-fax", Et2UrlFax);