@slaysayto/s-inline-editor

0.0.2 • Public • Published

SInlineEditor

npm

package page in npm: https://www.npmjs.com/package/@slaysayto/s-inline-editor

demo: https://stackblitz.com/edit/s-inline-editor?file=src/app/s-inline-editor.component.ts

This project use [Angular CLI version 10.0.7]

Thanks for Netanel Basal for his amazing article with help me create this project: https://netbasal.com/keeping-it-simple-implementing-edit-in-place-in-angular-4fd92c4dfc70

This project still in development and i am still learning how to create packages, inspire me with you idea and notes.

Development server

Run ng serve for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.

Code scaffolding

Run ng generate component component-name to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module.

Build

Run ng build to build the project. The build artifacts will be stored in the dist/ directory. Use the --prod flag for a production build.

Exemple of how to use:

Here i am using the s-inline-editor with two ionic component, this demonstrate that we can customize the template as we wish. we can also use normal html element.

<s-inline-editor (update)="handleUpdateEvent()"
                    [(mode)]="modeViewOrEdit">
                    <ng-template viewMode>{{valueHere}}</ng-template>
                    <ng-template editMode>
                      <ion-input class="custom-input-class"
                               name="inputName"
                               [(ngModel)]="inputVal">
                                <ion-icon class="ml-2"
                                name="iconName"
                                (click)="closeInlineEditor()"></ion-icon>
                      </ion-input>
                    </ng-template>
    </s-inline-editor>
    

The closeInlineEditor is very simple here is an exemple:

closeInlineEditor () {
  this.modeViewOrEdit = 'view';
}

Note that the mode attribute has a default value and can be ignored if we don't need it.

<s-inline-editor (update)="updateField()">
        <ng-template viewMode>{{entity.name}}</ng-template>
        <ng-template editMode>
          <input [formControl]="inputControle">
        </ng-template>
</s-inline-editor>

Package Sidebar

Install

npm i @slaysayto/s-inline-editor

Weekly Downloads

9

Version

0.0.2

License

MIT

Unpacked Size

30.7 kB

Total Files

33

Last publish

Collaborators

  • slaysayto