Add Usr Custom Field to Acumatica Appointments Mobile App - mobile

I'm trying to add a custom field to the mobile application Appointments screen FS300200. It seems simple where I update the containers and add the field but it's not showing up on the screen. For testing purposes, I was able to edit the display name of a field in the same container so my acumatica instance is talking to the mobile app okay. Anyone know what I'm doing wrong? The field name is UsrUnitNbr (display name Unit Nbr. and I confirmed this in web services). I've tried:
add field "UnitNbr"
add field "UsrUnitNbr"
add field "Unit Nbr".
Here is the full command from the mobile app portion of the customization project editor
update screen FS300200 {
update container"AppointmentRecords" {
update layout "AppointmentHeader" {
update layout "AppointmentHeaderNbrRow" {
add field "UnitNbr"{displayName ="Unit Nbr."}
}
}
}
}

First thing....the blue area at the top of the appt mobile screen is the container AppointmentRecords. Notice the layout tag = "HeaderSimple". This means fields inside this container is read only. Try to add your user field here.
update layout "ServiceOrderNbrLine" {
displayName = "ServiceOrderNbrLine"
layout = "Inline"
add field "UsrUnitNbr"
}

Related

react select drop down on change Issue in the edit mode

I am currently using react-select library to my project
react-select
This is my create invoice page, Please check below view,
When user select the PO drop down, red colored text boxes are automatically filled. It is working well.
This is my invoice list page view
When user click the action button, data passed and redirect to the create invoice page. Currently object passed and PO number set correctly. but other fields did not filled automatically.
PO NO is set correctly. But on change function did not fired and did not set other text box values.
This is my drop down and onchanges function.
<Select
options={options}
value={values.purchaseOrderNumber}
onChange={onChange} onFocus={onChange}
name="purchaseOrderNumber"
/>
const onChange = (selectedOP) => {
setInputValue(selectedOP);
loadselectedValue(selectedOP);
//handleChange(selectedOP);
console.log(selectedOP);
};
I know this codes not enough to give better solution. but if you can please tell me the correct path to do this using react hooks. thanks

How to load different content(content which is different from already loaded content) on button click in React JS

I am displaying results from json in a react bootstrap table. On clicking compare, the results get filtered within the table. Now I wanted to reload and display the selected products in a different tabular format on clicking "Compare". The page should reload and then only the selected products should display in a table with headers vertically aligned. Can any one please help? Full code here - https://codesandbox.io/s/o4nw18wy8q
Expected output sample on clicking compare -
Probably you need to have a function inside your class to return two different views based the state of your filter status. If the filter status is not true, then display the normal view, if filter status is true, then display the view that you have just mentioned in the above view. As far as the design is concerned, you should be able to work out the table designs.
And when you hit clear, then you should set the filter status back to false
This is not a full working code. I am just giving you some idea.
Here is a codesandbox
https://codesandbox.io/s/2x450x3rqn
You can return a view from the function
onButtonClick = () => {
...
...
return <BootstrapTable
keyField="PartNumber"
selectRow={updatedData}
data={updatedData}
columns={updatedData}
/>
}

Preview the uploaded pictures in antd

I have implemented a PicturesWall component in my app similar to this one on the antd site: https://ant.design/components/upload/#components-upload-demo-picture-card. When the user uploads images, thumbnails are generated and the user can preview and delete them. Now, this is when I create the item, but I implement an edit functionality where I have the input text fields populated with what the user entered when he created the item. How do I list the images the user uploaded when he created the item?
While editing, you need to update the state of fileList and previewImage similar to the initial state as given below:
this.setState({
fileList:[{uid:-1,status: 'done',url:'your image Url'}],
previewImage: 'your image Url',
});
You can do this by checking if you are getting the image data to be edited.

Google tag manager button reference

I'm trying to get google tag manager to track a couple of different buttons on a site. We're currently unable to change the site to aid with this, so we have to find a solution solely with tag manager.
There are several buttons on the site all with the same format as to the two below.. they all have "submit" as the type and a unique term for value so I'm trying to use the tag manager Form Listener which picks up on type="submit". Is there any variable I can use to pull the value field into my event so I can create individual goals in analytics?
etc etc
Any help is greatly appreciated.
You can use built-in variable "Click Element", then create custom JS-variable:
function(){
try{
return {{element}}.getAttribute("value"); //I am not sure now if it is {{element}} or {{Click Element}}
}catch(err){}
}
This will give you a value attribute of clicked button.
Maybe a useful link by Simo Ahava:
http://www.simoahava.com/analytics/track-form-engagement-with-google-tag-manager/#3
You can use built-in auto-event variable Element Attribute to get value. And be sure to use click tracking and not form tracking, because you want to track button clicks and not form submissions.

Sencha Touch 1.1: Setting Panel properties after selecting item in List

I'm using Sencha Touch 1.1. I have a Ext.List and when the user selects an item, I switch to the details page using
rootPanel.setActiveItem('details');
That works fine. Now I want to get the details of the selected item and populate properties in the 'details' panel. How do I do that?
At the moment I'm passing the record around to the various panels of the details page by using this code:
onItemDisclosure: function (record) {
// user has selected a Country from the Country List.
// TODO: There must be a better way to pass the data around
CountryDetailsToolbar.setTitle(record.data.title);
var upperData = { upper: record.data.title.toUpperCase()};
CountryDetailsHeaderLeft.update(upperData);
CountryDetailsHeaderMonth.update(record.data);
viewport.setActiveItem('CountryDetailsCarousel');
}
This seems a bit messy to me. Is there a cleaner way to set titles and update panels with the data "record"?
you can use rootPanel.getActiveItem() to get instance of currently selected panel, i am not sure about what do you mean by populate properties in the details tab
Update:
i think there isn't any problem in passing record data between panels, i think that is the most efficient way
onItemDisclosure: function (record) {
// user has selected a Country from the Country List.
var title = record.get('title');
CountryDetailsToolbar.setTitle(title);
CountryDetailsHeaderLeft.update({ upper: title.toUpperCase() });
CountryDetailsHeaderMonth.update(record.data);
viewport.setActiveItem('CountryDetailsCarousel');
}

Resources