<div :class="{ 'grid': true, 'show-paging-bar': isEnablePagingBar, 'hidden-paging-bar': !isEnablePagingBar }">
    <i-form>
        <el-table v-if="isDisplay === true"
            :default-sort="{ prop: minorSortPSDEF, order: Object.is(minorSortDir, 'ASC') ? 'ascending' : Object.is(minorSortDir, 'DESC') ? 'descending' : '' }"  
            @sort-change="onSortChange($event)"  
            :border="isDragendCol"
            :highlight-current-row ="isSingleSelect"
            :row-class-name="getRowClassName.bind(_self)"
            :cell-class-name="getCellClassName.bind(_self)"
            size="mini"
            stripe
            :height="tableHeight"
            @row-click="rowClick($event)"  
            @select-all="selectAll($event)"  
            @select="select($event)"  
            @row-class-name="onRowClassName($event)"  
            @row-dblclick="rowDBLClick($event)"  
            ref='multipleTable' :data="items" :show-header="!isHideHeader"
        >
            <template slot="empty">
                {{$t('entities.purchase_order_line.lineedit_grid.nodata')}} 
                <span class="quick-toolbar">
                </span>
            </template>
            <template v-if="!isSingleSelect">
                <el-table-column align="center" type='selection' :width="checkboxColWidth"></el-table-column>
            </template>
            <template v-if="getColumnState('product_id_text')">
                <el-table-column show-overflow-tooltip :prop="'product_id_text'" :label="$t('entities.purchase_order_line.lineedit_grid.columns.product_id_text')" :width="160"  :align="'left'" :sortable="'custom'">
                    <template v-slot:header="{column}">
                      <span class="column-header ">
                        {{$t('entities.purchase_order_line.lineedit_grid.columns.product_id_text')}}
                      </span>
                    </template>
                    <template v-slot="{row,column,$index}">
                        <template v-if="actualIsOpenEdit">
                            <app-form-item :error="gridItemsModel[$index][column.property].error">
                                
            <app-picker  
              :formState="viewState" 
              :data="row"
              :context="context"
              :viewparams="viewparams"
              :localContext ='{ }' 
              :localParam ='{ }' 
              :disabled="getColumnDisabled(row,column.property)" 
              name='product_id_text' 
              deMajorField='name'
              deKeyField='product_product'
              :service="service"
              :acParams="{ serviceName: 'Product_productService', interfaceName: 'FetchDefault'}"
              valueitem='product_id' 
              :value="row[column.property]" 
              editortype="dropdown" 
              style="" 
              @formitemvaluechange="($event)=>{onGridItemValueChange(row,$event,$index)}">
            </app-picker>
            
                            </app-form-item>
                        </template>
                        <template v-if="!actualIsOpenEdit">
            <app-span name='product_id_text' editorType="PICKER" :value="row.product_id_text" dataType="PICKUPTEXT" precision="0" ></app-span>
                        </template>
                    </template>
                </el-table-column>
            </template>
            <template v-if="getColumnState('name')">
                <el-table-column show-overflow-tooltip :prop="'name'" :label="$t('entities.purchase_order_line.lineedit_grid.columns.name')" :width="300"  :align="'left'" :sortable="'custom'">
                    <template v-slot:header="{column}">
                      <span class="column-header ">
                        {{$t('entities.purchase_order_line.lineedit_grid.columns.name')}}
                      </span>
                    </template>
                    <template v-slot="{row,column,$index}">
                        <template v-if="actualIsOpenEdit">
                            <app-form-item :error="gridItemsModel[$index][column.property].error">
                                <input-box 
              
              :disabled="getColumnDisabled(row,column.property)" 
              v-model="row[column.property]" 
              style=""
              type="text"
              
              
              @change="($event)=>{gridEditItemChange(row, column.property, $event, $index)}">
            </input-box>
            
                            </app-form-item>
                        </template>
                        <template v-if="!actualIsOpenEdit">
            <app-span name='name' editorType="TEXTBOX" :value="row.name" dataType="LONGTEXT_1000" precision="0" ></app-span>
                        </template>
                    </template>
                </el-table-column>
            </template>
            <template v-if="getColumnState('product_qty')">
                <el-table-column show-overflow-tooltip :prop="'product_qty'" :label="$t('entities.purchase_order_line.lineedit_grid.columns.product_qty')" :width="100"  :align="'left'" :sortable="'custom'">
                    <template v-slot:header="{column}">
                      <span class="column-header ">
                        {{$t('entities.purchase_order_line.lineedit_grid.columns.product_qty')}}
                      </span>
                    </template>
                    <template v-slot="{row,column,$index}">
                        <template v-if="actualIsOpenEdit">
                            <app-form-item :error="gridItemsModel[$index][column.property].error">
                                <input-box 
              
              :disabled="getColumnDisabled(row,column.property)" 
              v-model="row[column.property]" 
              style=""
              type="text"
              
              
              @change="($event)=>{gridEditItemChange(row, column.property, $event, $index)}">
            </input-box>
            
                            </app-form-item>
                        </template>
                        <template v-if="!actualIsOpenEdit">
            <app-span name='product_qty' editorType="TEXTBOX" :value="row.product_qty" dataType="FLOAT" precision="0" ></app-span>
                        </template>
                    </template>
                </el-table-column>
            </template>
            <template v-if="getColumnState('product_uom_text')">
                <el-table-column show-overflow-tooltip :prop="'product_uom_text'" :label="$t('entities.purchase_order_line.lineedit_grid.columns.product_uom_text')" :width="100"  :align="'left'" :sortable="'custom'">
                    <template v-slot:header="{column}">
                      <span class="column-header ">
                        {{$t('entities.purchase_order_line.lineedit_grid.columns.product_uom_text')}}
                      </span>
                    </template>
                    <template v-slot="{row,column,$index}">
                        <template v-if="actualIsOpenEdit">
                            <app-form-item :error="gridItemsModel[$index][column.property].error">
                                
            <app-picker  
              :formState="viewState" 
              :data="row"
              :context="context"
              :viewparams="viewparams"
              :localContext ='{ }' 
              :localParam ='{ }' 
              :disabled="getColumnDisabled(row,column.property)" 
              name='product_uom_text' 
              deMajorField='name'
              deKeyField='uom_uom'
              :service="service"
              :acParams="{ serviceName: 'Uom_uomService', interfaceName: 'FetchDefault'}"
              valueitem='product_uom' 
              :value="row[column.property]" 
              editortype="dropdown" 
              style="" 
              @formitemvaluechange="($event)=>{onGridItemValueChange(row,$event,$index)}">
            </app-picker>
            
                            </app-form-item>
                        </template>
                        <template v-if="!actualIsOpenEdit">
            <app-span name='product_uom_text' editorType="PICKER" :value="row.product_uom_text" dataType="PICKUPTEXT" precision="0" ></app-span>
                        </template>
                    </template>
                </el-table-column>
            </template>
            <template v-if="getColumnState('price_unit')">
                <el-table-column show-overflow-tooltip :prop="'price_unit'" :label="$t('entities.purchase_order_line.lineedit_grid.columns.price_unit')" :width="100"  :align="'left'" :sortable="'custom'">
                    <template v-slot:header="{column}">
                      <span class="column-header ">
                        {{$t('entities.purchase_order_line.lineedit_grid.columns.price_unit')}}
                      </span>
                    </template>
                    <template v-slot="{row,column,$index}">
                        <template v-if="actualIsOpenEdit">
                            <app-form-item :error="gridItemsModel[$index][column.property].error">
                                <input-box 
              
              :disabled="getColumnDisabled(row,column.property)" 
              v-model="row[column.property]" 
              style=""
              type="text"
              
              
              @change="($event)=>{gridEditItemChange(row, column.property, $event, $index)}">
            </input-box>
            
                            </app-form-item>
                        </template>
                        <template v-if="!actualIsOpenEdit">
            <app-span name='price_unit' editorType="TEXTBOX" :value="row.price_unit" dataType="FLOAT" precision="0" ></app-span>
                        </template>
                    </template>
                </el-table-column>
            </template>
            <template v-if="getColumnState('taxes_id')">
                <el-table-column show-overflow-tooltip :prop="'taxes_id'" :label="$t('entities.purchase_order_line.lineedit_grid.columns.taxes_id')" :width="300"  :align="'left'">
                    <template v-slot:header="{column}">
                      <span class="column-header ">
                        {{$t('entities.purchase_order_line.lineedit_grid.columns.taxes_id')}}
                      </span>
                    </template>
                    <template v-slot="{row,column,$index}">
                        <template v-if="actualIsOpenEdit">
                            <app-form-item :error="gridItemsModel[$index][column.property].error">
                                
            <app-mpicker
                :activeData="row"
                :disabled="getColumnDisabled(row,column.property)"
                :curvalue="row[column.property]"
                :name="column.property"
                :context="context"
                :viewparams="viewparams"
                :localContext ='{ }' 
                :localParam ='{ }' 
                :service="service"
                valueitem='' 
                :acParams="{ }"
                :pickupView="{ viewname: 'account-tax-purchase-mpickup-view', title: $t('entities.account_tax.views.purchasempickupview.title'), deResParameters: [], parameters: [{ pathName: 'account_taxes', parameterName: 'account_tax' }, { pathName: 'purchasempickupview', parameterName: 'purchasempickupview' } ], placement:'' }"
                @formitemvaluechange="($event)=>{onGridItemValueChange(row,$event,$index)}" 
                style="">
            </app-mpicker>
            
                            </app-form-item>
                        </template>
                        <template v-if="!actualIsOpenEdit">
            <app-span name='taxes_id' editorType="ADDRESSPICKUP" :value="row.taxes_id" dataType="ONE2MANYDATA" precision="0" ></app-span>
                        </template>
                    </template>
                </el-table-column>
            </template>
            <template v-if="getColumnState('price_subtotal')">
                <el-table-column show-overflow-tooltip :prop="'price_subtotal'" :label="$t('entities.purchase_order_line.lineedit_grid.columns.price_subtotal')" :width="100"  :align="'left'" :sortable="'custom'">
                    <template v-slot:header="{column}">
                      <span class="column-header ">
                        {{$t('entities.purchase_order_line.lineedit_grid.columns.price_subtotal')}}
                      </span>
                    </template>
                    <template v-slot="{row,column,$index}">
                        <template v-if="actualIsOpenEdit">
                            <app-form-item :error="gridItemsModel[$index][column.property].error">
                                
            <app-span name='price_subtotal' :value="row[column.property]" :data="row" :context="context" :viewparams="viewparams" :localContext ='{ }'  :localParam ='{ }'  style=""></app-span>
            
                            </app-form-item>
                        </template>
                        <template v-if="!actualIsOpenEdit">
            <app-span name='price_subtotal' editorType="SPAN" :value="row.price_subtotal" dataType="DECIMAL" precision="0" ></app-span>
                        </template>
                    </template>
                </el-table-column>
            </template>
            <template v-if="getColumnState('id')">
                <el-table-column show-overflow-tooltip :prop="'id'" :label="$t('entities.purchase_order_line.lineedit_grid.columns.id')" :width="100"  :align="'left'" :sortable="'custom'">
                    <template v-slot:header="{column}">
                      <span class="column-header ">
                        {{$t('entities.purchase_order_line.lineedit_grid.columns.id')}}
                      </span>
                    </template>
                    <template v-slot="{row,column,$index}">
                        <span>{{row.id}}</span>
                    </template>
                </el-table-column>
            </template>
            <template v-if="adaptiveState">
                <el-table-column></el-table-column>
            </template>
        </el-table>
    </i-form>
</div>