UIModel - adarshpastakia/aurelia-ui-framework GitHub Wiki

Static Methods
  • serialize(Object): Return simple JSON object, child properties with Arrays will be converted to comma separated strings
Usage
import {UIModel} from 'aurelia-ui-framework';
import {ValidationRules} from "aurelia-validation";

export class MyModel extends UIModel {

  firstName:string = '';
  lastName:string = '';

  age:number = 0;
  email:string = '';

  allowCalls:boolean = false;
  mobilePhone:string = '';

  constructor() {
    super();

    ValidationRules
      .ensure((m:MyModel)=>m.firstName)
      .required()
      .maxLength(49)
      .ensure(m=>m.lastName)
      .required()
      .maxLength(49)
      .ensure(m=>m.email)
      .required()
      .email()
      .ensure(m=>m.age)
      .required()
      .satisfiesRule('number', 18, 99)
      .withMessage('Must be over 18')
      .ensure(m=>m.mobilePhone)
      .required()
      .when(m => m.allowCalls)
      .satisfiesRule('phone')
      .on(this);

    this.observe('age', e=>this.handler(e));
  }

  post() {
    return this.httpClient.post('url', this.serialize());
  }
}

export class MyView {
  model;

  constructor() {
    this.model = new MyModel();
  }
}
Properties
  • logger: Aurelia Logger instance
  • httpClient: UIHttpService instance
Methods
  • Override the following method for individual models

    • get()
    • post()
    • put()
    • delete()
  • deserialize(POJO)

  • serialize():POJO

  • isDirty():boolean

  • saveChanges()

  • discardChanges()

  • addObserver(UIEvent.observe(...)): Add to observer collection which will be disposed when disposing the model

  • observe(property, callback): Add an observer for a property

  • dispose()

⚠️ **GitHub.com Fallback** ⚠️