Hi!

I need a custom button that will change value in a recaord and then save this record. I've tried it on a OpportunitySectionV2 with this code

 

define("OpportunitySectionV2", [], function() {
	return {
		entitySchemaName: "Opportunity",
		details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
		diff: /**SCHEMA_DIFF*/[ 
            {
                "operation": "insert",
                "parentName": "ActionButtonsContainer",
                "propertyName": "items",
                "name": "MainContactSectionButton",
                "values": {
                    itemType: Terrasoft.ViewItemType.BUTTON,
                    caption: { bindTo: "Resources.Strings.OpenPrimaryContactButtonCaption" },
                    click: { bindTo: "onOpenPrimaryContactClick" },
                    "layout": {
                        "column": 1,
                        "row": 6,
                        "colSpan": 1
                    }
                }
            }]/**SCHEMA_DIFF*/,
		methods: {
			prepareResponseCollectionItem: function(item) {
				this.callParent(arguments);
         		if (item.get("MgtImportantFlg") === false){
					item.customStyle = Ext.apply({}, {
					  "background-color": "#cc081c",
					  "font-family": "cursive"
					}, item.customStyle);		  		
		  		}
			},
			onOpenPrimaryContactClick: function(){
				var activeRow = this.get("ActiveRow");
				var bFlag = this.get("GridData").get(activeRow).get("MgtImportantFlg");
					if(bFlag){
						this.get("GridData").get(activeRow).set("MgtImportantFlg",false);
						this.save();
					}
					else{
						this.get("GridData").get(activeRow).set("MgtImportantFlg",true);
						this.save();
					}
			}
		}
	};
});

it change the value in my field but didn`t save it, so after reload shows old value.

Could anyone help me how should i change code for my purposes?

Like 0

Like

1 comments
Best reply

Hello,

In the section module, it is better to use an UpdateQuery class to change the value of the records. You can find the example here.

Hello,

In the section module, it is better to use an UpdateQuery class to change the value of the records. You can find the example here.

Show all comments

Clio 6.0.47 - Unlocking Deployment Flexibility

 

We're thrilled to announce that Clio now supports publishing your applications directly to your file system!

This gives you incredible control over deployment, perfect for custom integrations and tailored hosting environments.

 

Try it with the following command:

clio publish-app --app-name MyApp --app-version 1.0.0 --app-hub "'\\app-hub\store" --repo-path WorkspacePath

Clio create the following simple and intuitive file structure in AppHub

 

Plus, keep an eye out for our upcoming "AppHub" – a game-changing platform for managing and sharing Clio applications.

0 comments
Show all comments

 

Clio explorer 2.0.50 supports preview of package file content. This feature requires clio version 6.0.2.19 and higher, update clio api (cliogate) is required.

 

 

P/S: clio version 6.0.2.19 supported full interaction process with composable applications (like Application Hub) via new command

clio push-app MyAppRelese.1.1.zip

 

2 comments

This is fantastic. Well done ATF!

Ryan

Ryan Farley,

Thanks!

Show all comments
Idea
Discussion

Clio explorer this is extension for VS Code, which provides convenient user interface over clio. Both tools are compatible with MacOS and Linux.

 

P.S. Also we added in clio 6.0.2.8 basic yaml for GitLab CICD pipelines

0 comments
Show all comments

Clio new release provides improved way to integrate data exchange between third party systems and Creatio. We simplified ATF.Repository usage in external dotnet projects. Details described in this article

0 comments
Show all comments
Idea
Discussion

Hello everyone. Starting with the version 6.0.2.3  Clio team has added support for versioning argument when creating new FreedomUI component

clio ui someApplicationName -v usr --package SomePackageName --empty -version 8.0.4

without --version parameter project will be created with last released Creatio version

 

* clio ui command requires clio workspaces 

 

Also you can seen examples on YouTube

0 comments
Show all comments

Our vision for team development is powered by Clio Team. In our most recent update, we added new features to Clio's products to create a comprehensive development workflow for the Creatio platform. You can find detailed instructions on how to implement these features by following this link.

File attachments
0 comments
Show all comments

Hi,



I have been working on adding new custom components using the new freedom UI following the below Creatio article.

https://academy.creatio.com/docs/developer/front_end_development_freedom_ui/remote_module/implement_a_remote_module/overview



After doing some additional research I was able to add some custom components successfully. But I'm kind of stuck on where I need to pass the data from Creatio's side to that specific angular component. Please refer to the below screenshots of my code snippets and if anyone has any idea on what I'm missing can you guide me or provide some resources to get more idea on this?

 

Below is the "card.component.html" file:

<mat-card class="card-class" *ngFor="let val of valuelist" >
    <mat-card-header></mat-card-header>
    <mat-card-content class="content-wrapper">
        <div fxFill fxLayout="row">
            <div fxFlex="30" fxLayout="space-around center">
                <div fxFlex fxLayoutAlign>
                    <img mat-card-sm-image src="https://material.angular.io/assets/img/examples/shiba2.jpg" alt="Free Image" class="responsive-image"  >
                </div>
                <div fxFlex fxLayoutAlign>
                    <img mat-card-sm-image src="https://material.angular.io/assets/img/examples/shiba2.jpg" alt="Free Image" class="responsive-image" >
                </div>
            </div>
            <div fxFlex="55" fxLayout="column" fxLayoutAlign="center start" class="contentN" >
                <mat-card-title>{{val}}</mat-card-title>
                <mat-card-subtitle>{{val}}</mat-card-subtitle>
            </div>
            <div fxFlex="15" fxLayout fxLayoutAlign="center center" class="contentP">
                <img mat-card-sm-image src="https://material.angular.io/assets/img/examples/shiba2.jpg" alt="Free Image" class="responsive-image" >
            </div>
        </div>
    </mat-card-content>
    <mat-card-footer></mat-card-footer>
</mat-card>

 As in the above, from using ngFor I'm adding cards based on the data which are coming from the "valuelist". Below is the example of the "card.component.ts" file:



 

import { Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation } from '@angular/core';
import { CrtInput, CrtOutput,CrtInterfaceDesignerItem, CrtViewElement } from '@creatio-devkit/common';
 
 
@Component({
  selector: 'mlcgd-card',
  templateUrl: './card.component.html',
  styleUrls: ['./card.component.scss'],
  //encapsulation: ViewEncapsulation.ShadowDom
})
 
/* Add the CrtViewElement decorator to the Textpromt component. */
@CrtViewElement({
  selector: 'mlcgd-card',
  type: 'mlcgd.Card'
})
 
/* Add the CrtViewElement decorator to the InputComponent component. */
@CrtInterfaceDesignerItem({
  /* Manage the element layout in the library of the Freedom UI Designer. */
  toolbarConfig: {
    caption: 'Card View',
    name: 'CardView',
    /* The path to the component image. */
    icon: require('!!raw-loader?{esModule:false}!./icon.svg'),
    defaultPropertyValues: {
      label: 'Card View'
    }
  }
})
 
export class CardComponent {
 
  valuelist:string[] = [];
 
  constructor() {}
 
  @Input()
  @CrtInput()
  /* ...............The input value. */
  public value: string = 'Lakindu, Chinthana, Deshan';
 
  @Output()
  @CrtOutput()
  /* ................Track input value changes. */
  public valueChange = new EventEmitter<string>();
 
  ngOnInit(): void {
    this.valuelist = this.value.split(',')
  }
}

As you can see in the above code snippet I have a string called "value" and I have hardcoded 3 values for that. What I need to achieve is without hardcoding the data I need to get those data from the Creatio's end like from a field. So to do that I need to modify the code which is gonna add to the viewconfig array in the client schema. Please refer to the below Code snippet. And I need help with modifying it accordingly to pass the data from Creatio to the component.

 

{
				"operation": "insert",
				"name": "Card_hs3upn6",
				"values": {
					"type": "mlcgd.Card",
					"label": "Card View",
					"value": "$MLCGDName"
				},
				"parentName": "FlexContainer_08awxs2",
				"propertyName": "items",
				"index": 0
			}

Kind Regards,

Lakindu

Like 2

Like

4 comments

Hello,

You can find an example of working with the field value in these articles.

https://academy.creatio.com/docs/developer/front_end_development_freedo…

https://academy.creatio.com/docs/developer/front_end_development_freedo…

They described information on how to create a validator/converter for the value in a field.

Hello,



Thanks for sharing this but I'm afraid this might not be the one that I'm looking for. Anyways do you have anything related to dashboards? Like adding a new dashboard element using a remote module?



I was able to add some components there but for the moment I am kind of stuck at passing the data to the created component using the remote module.

Unfortunately, no, we don't have such examples.

To be honest, the remote module is quite a fresh feature, which means that currently, it doesn't have much logic. If possible, it would be better to use other methods to add your business logic.

Lakindu Yasomith,

Maybe this article can help you:

https://academy.creatio.com/docs/developer/front_end_development_freedo…

 

If not, please let us know. Maybe you can describe your case in more detail for support@creatio.com.

Show all comments

Hello colleagues,

 

I'm looking for a certified Creatio developer who can help us develop a Creatio addon to provide specific functionality to the Bulk/Trigger email template editor (mainly the ability to insert a photo taken from a provided URL into a field in some detail connected to the contact to whom the email will be delivered and enable that when clicking on the image, it is redirected to a URL provided in another field of this detail...).

 

This is a necessary requirement of a potential client of ours, with this solved (knowing that it is possible to solve it, how much it costs and the time it takes), we can win this client ?

 

Please could someone help us or know who can?

 

You can write to me at JulioFalcon.Nodos@gmail.com to share details or write me a WhatsApp at +34 623 17 46 59

 

I am available in the CET time zone, so I live in Spain

 

Thanks in advance

Like 1

Like

0 comments
Show all comments

Hi Community,

 

I am trying to create a new freedom UI section from the application hub. After giving a name "Requests" for the section, the section gets created with the name. But in the backend the code of the object and its associated pages are auto generated in the format "UsrApp_qbm8q4f". 

 

 

Is there a way to generate the code as "Usr[SectionName]", every time I create a new section instead of some random auto generated text which is not a developer friendly code?

 

Regards,

Sourav

Like 3

Like

3 comments

Hello,

 

There is no possibility to change its code.

 

We've registered it in our R&D team backlog for consideration and implementation in future application releases. Thank you for helping us to improve our product.

Definitely needed for 8.1 ?

Hi Everyone,



Is this issue sorted? is there a way to stop the random code?



Regards

Deshan

Show all comments