<commit_before>class WorkspaceLayout extends KDSplitComboView

  init: ->
    @splitViews    = {}
    {direction, sizes, views, splitName} = @getOptions().layoutOptions
    @baseSplitName = splitName

    @addSubView @createSplitView direction, sizes, views, splitName

  createSplitView: (type, sizes, viewsConfig, splitName) ->
    views = []

    viewsConfig.forEach (config, index) =>
      if config.type is "split"
        {options}   = config
        {splitName} = options

        splitView = @createSplitView options.direction, options.sizes, config.views
        @splitViews[splitName] = splitView  if splitName
        views.push splitView
      else
        wrapper = new KDView
        wrapper.on "viewAppended", =>
          wrapper.addSubView @getDelegate().createPane config

        views.push wrapper

    splitView = new SplitViewWithOlderSiblings { type, sizes, views }
    @splitViews[@baseSplitName] = splitView  if @baseSplitName
    splitView.on "ResizeDidStop", => @emitResizedEventToPanes()

    splitView.on "viewAppended", =>
      splitView.resizers.first?.on "DragInAction", =>
        @emitResizedEventToPanes()

    return splitView

  getSplitByName: (name) ->
    return @splitViews[name] or null

  emitResizedEventToPanes: ->
    pane.emit "PaneResized" for pane in @getDelegate().panes<commit_msg>WorkspaceLayout: Forward cssClass options too while creating layouts and splits inside of them<commit_after>class WorkspaceLayout extends KDSplitComboView

  init: ->
    @splitViews    = {}

    {direction, sizes, views, cssClass, splitName} = @getOption 'layoutOptions'

    @baseSplitName = splitName
    @addSubView @createSplitView \
      {type: direction, sizes, cssClass, viewsConfig:views}, splitName

  createSplitView: ({type, sizes, viewsConfig, cssClass}, splitName) ->
    views = []

    viewsConfig.forEach (config, index) =>
      if config.type is "split"
        {options}   = config
        {splitName} = options

        splitView = @createSplitView
          type        : options.direction
          sizes       : options.sizes
          cssClass    : options.cssClass
          viewsConfig : config.views

        @splitViews[splitName] = splitView  if splitName
        views.push splitView
      else
        wrapper = new KDView
        wrapper.on "viewAppended", =>
          wrapper.addSubView @getDelegate().createPane config

        views.push wrapper

    splitView = new SplitViewWithOlderSiblings { type, sizes, views, cssClass }
    @splitViews[@baseSplitName] = splitView  if @baseSplitName
    splitView.on "ResizeDidStop", => @emitResizedEventToPanes()

    splitView.on "viewAppended", =>
      splitView.resizers.first?.on "DragInAction", =>
        @emitResizedEventToPanes()

    return splitView

  getSplitByName: (name) ->
    return @splitViews[name] or null

  emitResizedEventToPanes: ->
    pane.emit "PaneResized" for pane in @getDelegate().panes
{'fraction_non_alphanumeric': 0.09621289662231321, 'fraction_numerical': 0.0, 'mean_word_length': 3.0609418282548475, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 21, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '815745', 'n_tokens_mistral': 856, 'n_tokens_neox': 830, 'n_words': 204}