I'm doing some testing on 12.0 on code that works well with 11.1. When I click the icon, it looks like my pickerConstructor isn't created and I'm seeing an unexpected null value in my pickerIconClick.
Here's an example starting from:
https://www.smartclient.com/smartcli...izeIncrease=10
I use this sample code. I've got my own custom FormItem. Note I did not need to include my "FileUploader". What I do is just click the "myitem" icon and I get this exception:
	
which is inside pickerIconClick. In 11.1, "item.picker" is defined by the time that callback is invoked.
Is there a different way to get access to the picker in 12.0?
	
							
						
					Here's an example starting from:
https://www.smartclient.com/smartcli...izeIncrease=10
I use this sample code. I've got my own custom FormItem. Note I did not need to include my "FileUploader". What I do is just click the "myitem" icon and I get this exception:
Code:
	
	Uncaught TypeError: Cannot read property 'setImageValue' of undefined
    at _3.pickerIconClick (eval at isc_c_Class_evaluate (ISC_Core.js?isc_version=SNAPSHOT_v12.1d_2018-06-01.js:278), <anonymous>:23:21)
    at _3.isc_FormItem__iconClick [as $116] (ISC_Forms.js?isc_version=SNAPSHOT_v12.1d_2018-06-01.js:1323)
which is inside pickerIconClick. In 11.1, "item.picker" is defined by the time that callback is invoked.
Is there a different way to get access to the picker in 12.0?
Code:
	
	isc.ClassFactory.defineClass("AttachmentItem",isc.LinkItem);
isc.AttachmentItem.addProperties({
    pickerConstructor: "FileUploader",
    pickerDefaults: {
        title: "Pick file to upload",
        includeDescriptionField: false,
        includeImage: false,
        accept:"application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
    },
    showPickerIcon:true,
    pickerIconWidth:18,
    pickerIconHeight:18,
    pickerIconSrc:"[SKIN]/DynamicForm/default_formItem_icon.png",
    canFocus: false
});
isc.AttachmentItem.addMethods({
    valueIconClick: function(form, item, value) {
        item.showPicker();
        item.picker.setImageValue(item.getValue());
    },
    pickerIconClick: function(form, item, pickerIcon){
        console.log("item:",item,"picker:",item.picker);
        item.picker.setImageValue(item.getValue());
    },
    getValueIcon: function(value){
        if(this.form.canEdit) {
            return "[SKIN]/DynamicForm/default_formItem_icon.png";
        }
    },
});
isc.Label.create({
    ID: "pickerLabel",
    border: "1px grey solid",
    width: 300, height: 30
});
isc.IButton.create({
    ID: "pickerButton",
    title: "Pick a Color",
    click : function () {
        isc.ColorPicker.getSharedColorPicker({
            colorSelected:"pickerLabel.setBackgroundColor(color);pickerLabel.setOpacity(opacity);"
        }).show();
    }
});
isc.DynamicForm.create({
    ID: "pickerForm",
    values: {startMode: "simple", position: "auto"},
    numCols: 2,
    titleOrientation: "top",
    width: 400,
    fields: [{
        name: "startMode",
        title: "Initially show ColorPicker as",
        width: 200,
        type: "radioGroup",
        valueMap: {
            "simple": "Simple",
            "complex": "Complex"
        },
        changed : function (form, item, value) {
            isc.ColorPicker.getSharedColorPicker({
                defaultPickMode: value
            }).setCurrentPickMode(value);
        }
    }, {
        name: "position", title: "Position ColorPicker", type: "radioGroup",
        width: 200, valueMap: {"auto": "Near mouse", "center": "Centered"},
        changed: function () {
            isc.ColorPicker.getSharedColorPicker().setProperties({ 
                autoPosition: this.getValue() == "auto" ? true : false,
                autoCenterOnShow: this.getValue() == "auto" ? false : true
            });
        }
    },
{name:"myitem", type:"AttachmentItem"}
]
});
isc.VLayout.create({
    width: 400,
    membersMargin: 10,
    members: [
        isc.Label.create({contents: "Selected color:", height: 20}),
        pickerLabel,
        pickerForm,
        pickerButton
    ]
});
Comment