hunk.code_window: import { state } from './state';
   import { gpus } from './gpus';
   export function useColumns(isHostColumnVisible: boolean) {
     return useMemo(
       () =>
         _.compact([
           name,
  
hunk.labels: keep keep keep replace keep keep keep keep
hunk.after_edit: export function useColumns(
     isHostColumnVisible: boolean,
     isGPUsColumnVisible: boolean
   ) {
  
hunk.file_path: app/react/docker/containers/ListView/ContainersDatatable/columns/index.tsx
hunk.type: replace
file: class CustomTemplateSelectorController {
    /* @ngInject */
    constructor($async, CustomTemplateService, Notifications) {
      Object.assign(this, { $async, CustomTemplateService, Notifications });
  
      this.selectedTemplate = null;
      this.templates = null;
    }
  
    async handleChangeTemplate(templateId) {
      this.selectedTemplate = this.templates.find((t) => t.Id === templateId);
      this.onChange(templateId, this.selectedTemplate);
    }
  
    $onChanges({ value }) {
      if (value && value.currentValue && this.templates) {
        this.handleChangeTemplate(value.currentValue);
      }
    }
  
    $onInit() {
      return this.$async(async () => {
        try {
          const templates = await this.CustomTemplateService.customTemplates(this.stackType);
          this.templates = templates.map((template) => ({ ...template, label: `${template.Title} - ${template.Description}` }));
          if (this.value) {
            this.handleChangeTemplate(this.value);
          }
        } catch (err) {
          this.Notifications.error('Failure', err, 'Unable to retrieve Custom Templates');
        }
      });
    }
  }
  
  export default CustomTemplateSelectorController;
  