SpringBot Release 2.3.1.0

Features

  • Added an Expand accordion to entities in a data table!

    • This is a dropdown triggered by a new Expand button which can be found in the entity options.

    • The dropdown will show all of the relevant information for the entity from within the data table.

      • The dropdown will scroll vertically if the number of attributes exceeds the length of the table.

  • Added the option to view your password on the login page.

    • There is a button in the password box which allows for temporarily viewing your masked password in plain text when entering it into the password field.

Improvements

  • Added protected regions to the collection view around the data in the data table.
    • This makes it easier to customise the information shown on the data table.
  • Updated Spring Boot to version 2.4.5.
    • This version comes with bug fixes and dependency updates.
    • This change did not require any code changes, so there is no associated migration path.
  • Spring dependency management upgraded to version 1.0.11.
  • Replaced the @Effect() annotation in all model effects in the client-side as Effect has been deprecated
    • The @Effect() annotation has been replaced with the createEffect() method.
    • Instructions to update any custom effects you have written can be found in the migration path
  • Updated the links in the README file to point to the developer docs at https://codebots.com/docs instead of the Library.

Resolved defects

  • Entities with missing names are now caught by the model validator to prevent build failures.

Migration path

Expand Accordion

Please note: If you have customised the input into your data tables already, there is a chance that this will not be coming available or impact you.

If you have added your own implementation of the expand accordion to your application, you will need to decide whether you want to continue using your own implementation, or swap to the bot-written implementation of this feature. We would recommend switching to the bot-written implementation.

Hiding/Removing the bot-written expand accordion

If you would like to continue using your own implementation, or disable the expand accordion for an individual entity’s data table, then you need to go to clientside/src/app/components/crud/[entity name]/[entity name]-crud-list.component.ts if you want to disable the accordion for a single entity, or to clientside/src/app/lib/components/collection/collection.component.ts if you want to remove ALL bot-written expand accordions.

Each of these files has an attribute called enableExpands. Turning this flag to false will stop the accordion from being rendered:

/**
* Determines whether the expand accordion should be available in the DOM.  If false, the expand button and the accordions will 
*		not be rendered.
* This attribute is passed into the collection component.  The logic for hiding the expand accordion can be found there.
*
* This can be set to false in ngOnInit to disable the expand for this entity
*/
@Input()
enableExpands: boolean = false;

Setting this flag to false will remove the bot-written Expand button from the item actions, and will remove the accordions from the DOM so that they cannot be opened.

Updating @Effect() annotations

Any custom effects which have been added to your application will need to be migrated to the new format. The old Effect annotation will still work for the immediate future so migrating it is not urgent, but the annotation will need to be replaced soon as it has been deprecated. This is how you can convert Effect instantiations to use the new format:

Old Format

@Effect()
effectName = this.action$.pipe(
	// Effect code found here
);

New Format

effectName = createEffect(() => this.action$.pipe(
	// Effect code found here
));

The code contained in each effect can remain the same, it is just the instantiation which needs to be updated.

1 Like

Hi @Toby can we add the protected region on your expand options, as i can’t find any protected regions to disable these expand?

Thank you

Hi @Virgananta_Nugraha,

Thanks for getting in touch.

To disable the expands globally, you can make use of an existing protected region found in the ngOnInit method inside the collection.component.ts file.

To do so, activate one of the protected regions in this method and override the default value for enableExpands attribute.

For example:

ngOnInit(): void {
	// % protected region % [Add any additional ngOnInit logic before the main body here] on begin
	this.enableExpands = false;
	// % protected region % [Add any additional ngOnInit logic before the main body here] end

	this.headerOptions.forEach(opt => this.areItemsSortedAscending[opt.name] = false);
	this.areItemsSortedAscending['id'] = true;

	// % protected region % [Add any additional ngOnInit logic after the main body here] off begin
	// % protected region % [Add any additional ngOnInit logic after the main body here] end
}

Please let me know if you have any other questions.

Hi Kellie,
I was using that method to disable it, I thought the bots missing the protected regions on that lines :v: .

thanks for the help, all clear.

1 Like

Hi @Virgananta_Nugraha,

No worries at all. Please let me know if you have any questions or run into any issues.